Google Trends shows an empty state when a query is too thin to plot. The common wording is that the search does not have enough data. That message is a data miss, not a down detector. Unofficial clients surface it as an empty frame or a vague error. Trends API surfaces a parsed inner payload, including no_data when a pair has no series. body is a JSON string and must be parsed a second time. Do not treat the empty widget as a 429. Docs: the API reference. Google property notes: the Google Trends guide. Caps: pricing.

The empty widget text on Explore

Explore can render the chrome and still refuse a line. The term, the geo, the range, or the property is too sparse. Screenshots of that state are not a broken API key. They are Google declining to publish a series for that slice.

Sparse terms on source google search

POST https://api.trendsapi.ai/api
Authorization: Bearer <api_key>
Content-Type: application/json

{"mode":"get_time_series","source":"google search","keyword":"a misspelled brand-name-here"}

If the inner object is empty or no_data, the pair has no stored points. Check spelling first. Then broaden the phrase. A SKU, a private code name, or a three-letter ticker with no public use will miss more often than a category word.

google news or youtube when web search is empty

Web search is one source. google news, youtube, and google shopping are others. A documentary title can move YouTube while google search stays empty. A regulatory filing can move google news first. Send a second POST. Do not set gprop on the first one. That flag belongs to scrape clients.

Treat no_data as a result, not a crash

A scheduler that raises on empty writes a false outage. Store the miss with the keyword, source, and time. Move to the next term. The same rule applies on other sources. A well formed keyword is still allowed to have no series. Sparse is allowed. Looping the same pair is not.