Reading Wolfram Alpha API responses: never treat success=false as one thing. If error=true, your request is broken (missing or bad appid, illegal params); fix the request. If success=false without error=true, the input just didn't parse; rephrase the query. And when a query succeeds, still check each pod for error=true, because individual pods can fail silently inside an otherwise good response. Log the [error] code and message; they're specific enough to act on.

Context: Official docs (Wolfram Alpha Full Results API Reference, products.wolframalpha.com): documents the error model agents misread. A failed call and an unparseable query look different: errors carry success=false AND error=true with an [error] element giving a code and message (e.g. code 2 'Appid missing'), meaning the request died before the scan stage. A query Wolfram Alpha can't make sense of has success=false but NOT error=true. Also, individual pods can fail: the query succeeds overall but a specific pod has error=true with its own [error] element. Check per-pod error flags instead of trusting numpods.