See what is trending on search right now, by country
The Google Trends API returns the trending half of Trends as clean JSON.
4 active endpoints, on 1 and 2 credit tiers.
- POST/google-trends/v1/trending_now
- POST/google-trends/v1/suggest
- POST/google-trends/v1/categories
- POST/google-trends/v1/realtime_trending
What Google Trends endpoints does ReefAPI ship?
4 live read endpoints. Read-only data API: no writes, no account actions, no dashboard access on the target site.
Google Trends API
3 of 4 endpoints, ready to run
What is spiking in a country right now: the term, an approximate traffic figure, a publication timestamp, and the news articles driving it with their source and URL.
// Press "Try it" and this pane shows exactly what the // live site returned this second — including an empty // result, if that is the truth. No key, no account.
How the Google Trends API works
Google Trends is a normal ReefAPI surface — the same four rules that hold for every other engine on the key.
No OAuth app, no request signing, no per-site account. One key covers all 185 engines.
Every route is a POST with a JSON body. Parameters are validated against the published schema before anything is charged.
Credits, not seats. Failed and blocked calls are never charged, and cache hits cost nothing.
One envelope everywhere. meta carries latency_ms, record_count and the endpoint that answered.
Turn a spike into the keywords behind it
The trending term on its own is a headline. What makes it usable for content or ads is the related-query list underneath it, which is where the long tail already is.
{"geo": "US", "limit": 10}Live stories with their related-query clusters. In one call of twenty, the busiest story carried 312 related queries — the whole question space around a single event, already written the way people type it.
{"geo": "US"}The same spikes as bare terms, each with the news articles behind them so you can see what happened without a second search.
{"keyword": "..."}Before you commit a term to a report, check which entity it actually maps to. One three-letter query resolved to a software concept, a primate, two brands and an insect.
One credit a call. The category action returns the complete topic tree in one go — cache it once rather than calling it per request.
curl -X POST https://api.reefapi.com/google-trends/v1/trending_now \
-H "x-api-key: $REEF_KEY" \
-H "content-type: application/json" \
-d '{"geo":"US"}'{
"ok": true,
"data": { … },
"meta": {
"api": "google-trends",
"endpoint": "trending_now",
"mode": "live",
"latency_ms": …,
"record_count": …
},
"error": null
}Which google-trends actions still return data (measured 2026-08-27)
Google has closed off the keyword-analysis half of Trends to API clients, and this engine reports that plainly instead of returning empty arrays that look like real answers. Every row below is the result of a live call made on 2026-08-27. Check this table before you design against an action.
| Action | Status | What came back |
|---|---|---|
| interest_over_time | DISABLED | ok: false, error.code DISABLED, meta.scope ENDPOINT_DISABLED, retryable false |
| interest_by_region | DISABLED | same envelope: "Google now blocks this data for API clients" |
| related_queries | DISABLED | same envelope; top[] and rising[] cannot be served |
| related_topics | DISABLED | same envelope |
| trending_now | Live | geo=US returned 10 trends with title, traffic "200+" (string), approx_traffic 200 (integer), pub_date, picture and articles[] carrying title/url/source |
| realtime_trending | Live | geo=US, hours=24, limit=5 returned 5 story clusters; "tim curry" carried traffic 2000000, category_ids [4], started_date 2026-08-26, active true, 127 related_queries and article_count 44 |
| suggest | Live | keyword "apple" returned 5 entities: /m/04st9hr Topic, /m/014j1m Fruit, /m/0k8z Technology company, /g/11bc6hq8w2 Topic, /m/05253_m Vinegar |
| categories | Live | total 1426; query=finance returned id 7 Finance (parent_id 0, depth 1), 1138 Business Finance (parent 12 Business & Industrial, depth 2) and 1161 Public Finance |
The DISABLED responses short-circuit in 2 to 3 ms with retryable: false, so do not build a retry loop around them. One ordering quirk: parameter validation runs before the availability check, so calling interest_over_time with only a keywords array returns MISSING_PARAM "missing: keyword" rather than DISABLED. A MISSING_PARAM there is not evidence that the action works.
What this endpoint is, and the thing it is not
Measured on 2026-08-28 against the live gateway. This engine had been reported as dead; the four actions it ships all answered, and the row below is the honest scope statement.
Four actions work: trending now, realtime trending, keyword suggestion and the category tree. Interest over time, related queries, related topics and interest by region are all still addressable and all four answer the same way — ok:false with error code DISABLED and a message saying the source now blocks that data for API clients while trending searches, suggestions and categories remain available. So you get a straight answer in under three seconds rather than an empty success. If you came for a normalised 0-100 curve, this is not it, and no combination of the four working actions will reconstruct one.
Trending items carried publication timestamps from the same morning we measured, and realtime stories carried start dates from the previous day with an active flag still true. All four actions answered in 0.6 to 1.1 seconds.
One call of twenty stories returned related-query lists of 312, 45, 28, 25 and down — covering release dates, prices, platforms, an outage and half a dozen misspellings and abbreviations of the same term. Against us, the distribution is steep: half the twenty stories carried three related queries or fewer. The value is concentrated in the two or three stories that are actually spiking, which is also where you would have wanted it.
Realtime stories reported traffic figures spanning three orders of magnitude in one response, plus an article count and category ids. Trending terms carry the articles themselves, each with a title, a URL and the publisher's name.
One call returned 1,426 categories, each with its id, name, parent id, parent name and depth in the tree. It is a reference table, not a live surface — fetch it once and store it.
It does not extend a query, it identifies it. One ambiguous three-letter word resolved to five distinct entities across software, animals and two consumer brands, each with a topic id and a type label. Use it to check that a term means what you think before you build a report on it.
What people build with Google Trends
The jobs this data is most often used for.
endpoints
credits per call
Trend trackers call trending_now for the country feed and catch a rising topic with its source articles.
Editorial teams call realtime_trending for the story cluster behind a headline and take its related_queries list as keyword vocabulary.
Entity resolution calls suggest to turn an ambiguous word into Google's own topic ids before branching on which sense was meant.
What Google Trends data costs
The cheapest call here is 1 credit, so $15/mo (Pro) buys 10,000 of them — $1.50 per 1,000 credits. Credits roll over and never expire, and failed or blocked calls are not charged.
Full pricing →- 1,000 free credits on signup, no card
- One key, all 185 APIs, one credit pool
- Failed and blocked calls are never charged
- Credits roll over and never expire
Call it in two lines
Sign up, get 1,000 credits and one key that works on every engine. Then this is the whole protocol.
curl -X POST https://api.reefapi.com/google-trends/v1/trending_now \
-H "x-api-key: $REEF_KEY" \
-H "content-type: application/json" \
-d '{"geo":"US"}'import requests
r = requests.post(
"https://api.reefapi.com/google-trends/v1/trending_now",
headers={"x-api-key": REEF_KEY},
json={
"geo": "US"
},
)
print(r.json()["data"])Have a question? We got answers.
The questions people actually ask before wiring up Google Trends.
Get a free key →Does this API still return the 0-100 Google Trends interest score?▾
Not as of 2026-08-27. interest_over_time, interest_by_region, related_queries and related_topics all return ok: false with error.code DISABLED, meta.scope ENDPOINT_DISABLED and the message "Google now blocks this data for API clients". The engine's own schema describes that number as a 0-100 index normalized to the peak of the requested window rather than a count of searches, but we could not measure it because Google no longer serves it to programmatic clients. What does still work is the trending side: trending_now, realtime_trending, suggest and categories.
What is the difference between trending_now and realtime_trending?▾
trending_now is the headline feed and realtime_trending is the story cluster behind it. Measured for geo=US on 2026-08-27, trending_now returned 10 items where traffic is a string bucket ("200+", "2000+") with approx_traffic as the parsed integer, plus pub_date and an articles[] list carrying title, url and source such as CNN, Fox News and ESPN. realtime_trending returned clusters instead: "tim curry" with traffic as a plain integer 2,000,000, category_ids [4], started and started_date, active true, article_count 44 and the full 127-entry related_queries list. Use the first for headlines, the second when you want the query vocabulary around a breaking story.
How do I find the right Google Trends category id?▾
Call categories. The full taxonomy was 1,426 entries when measured on 2026-08-27, and each row carries id, name, parent_id, parent_name and depth so you can see where it sits. query=finance returned id 7 (Finance, parent All categories, depth 1), 1138 (Business Finance, parent Business & Industrial, depth 2) and 1161 (Public Finance). id 0 is All categories and is the default. Omit query to pull the whole tree once and cache it.
What is the mid value in a suggest response?▾
It is Google's entity id for that topic, and it is how you disambiguate a word that means several things. The keyword "apple" returned five: /m/04st9hr as a Topic, /m/014j1m as a Fruit, /m/0k8z as a Technology company, /g/11bc6hq8w2 as another Topic and /m/05253_m for Apple cider vinegar. The /m/ prefix marks older Knowledge Graph entities and /g/ marks newer ones. suggest is still live and useful for entity resolution even though the keyword actions those mids would normally feed are currently disabled.
What geo values do the trending actions accept?▾
Country level. trending_now takes a country code and defaults to US. realtime_trending is explicitly country-only, so a sub-region suffix such as US-CA is dropped rather than honored, and country or US-state names are auto-mapped to codes. realtime_trending also takes hours from the set 4, 24, 48 and 168 (default 24) and limit from 1 to 300 (default 50). A measured call with hours=24 and limit=5 returned exactly 5 clusters, so limit is a hard cut rather than a hint.
Is a DISABLED error worth retrying?▾
No. error.retryable comes back false and the call short-circuits before any fetch, with a measured latency of 2 to 3 ms. The failure is instant, but it will never succeed on a retry either. Treat DISABLED as a capability statement, branch your code on it, and fall back to trending_now, realtime_trending, suggest or categories.
Why did interest_over_time return MISSING_PARAM instead of DISABLED?▾
Parameter validation runs before the availability check. Sending only keywords: ["bitcoin", "ethereum"] returns MISSING_PARAM with the message "missing: keyword", because keyword is required even when you intend to pass a compare array through keywords. Add keyword and the same call returns DISABLED instead. If you are probing which actions are alive, make your test payload complete first or you will misread a validation error as a working endpoint.
What is the Google Trends API?▾
Google Trends API is a ReefAPI endpoint group for search interest over time, by region, and trending now. It returns live JSON through POST requests under /google-trends/v1.
Is the Google Trends API free to try?▾
Yes. ReefAPI starts with 1,000 free credits, no card required. Google Trends calls use the same shared credit balance as every other ReefAPI engine.
Do I need a Google Trends login or account?▾
No login to Google Trends is needed for the API response. You call ReefAPI with your x-api-key header, and the playground can run live examples before you create a production key.
How fresh is the Google Trends data?▾
The page example is captured from a live trending_now call, and production requests fetch live data through ReefAPI rather than a static sample.
How many credits does the Google Trends API use?▾
Google Trends actions currently cost 1-2 credits per successful call. Failed or blocked calls are free, and all APIs draw from one credit pool.
Can I call Google Trends from an AI assistant or MCP client?▾
Yes. Connect ReefAPI once through MCP and your assistant can call google-trends actions with the same key, credit pool and JSON envelope used by normal REST requests.
Is the Google Trends API a Google Trends scraper?▾
It is the managed alternative to a DIY Google Trends scraper. Instead of building and maintaining your own scraper — proxies, headless browsers, captcha and constant breakage — you call one ReefAPI endpoint and get the same search interest over time, by region, and trending now back as clean JSON.
2 Search & SEO APIs on the same key
One key, one credit pool, one response envelope. If you are pulling Google Trends, you are one call away from the rest of the category — no second contract, no second integration.
Need something this API does not do?
Name the endpoint, the field, or a source we do not carry yet. We ship new APIs every week and you would be first to get the key. Real people read every message and reply the same day.
Try it on your own data before you pay anything
The call above is the real endpoint, not a recording. A free key gives you 1,000 credits, the other 184 APIs, and the same envelope everywhere.
Endpoints, parameters and credit costs on this page are read from the live catalog and cannot drift from what the API accepts. Field notes were captured on 2026-08-28.