Google Trends Scraper
Pricing
from $0.50 / 1,000 results
Google Trends Scraper
Scrape trending Google searches by country with search volume, growth, category and the related queries people search alongside each trend.
Pricing
from $0.50 / 1,000 results
Rating
0.0
(0)
Developer
Juan ignacio Veltri
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
5 days ago
Last modified
Share
Returns the searches that are rising right now in any country — with how many people searched, how fast it grew, what category it belongs to, and the queries people search alongside it.
One request per country returns the whole list. Not a sample, not a top ten:
| Country | Window | Trends returned |
|---|---|---|
| United States | 24 hours | 526 |
| Argentina | 24 hours | 154 |
| United Kingdom | 4 hours | 97 |
| Spain | 7 days | 1,762 |
What you actually get
A spike dies in hours. The cluster of searches around it does not — that is what you write, bid or rank against:
{"term": "jed york","volume": 200000,"growthPercent": 1000,"startedAt": "2026-08-24T14:40:00.000Z","categories": ["Law and Government"],"relatedQueries": ["49ers owner", "jed york arrested", "jed york wife","danielle belluomini", "san francisco 49ers", "49ers news","east palestine ohio", "nfl news"],"window": "24h","rank": 1}
Sixteen related queries for one trend, and up to 57 on some. That is keyword research that is hours old, not a monthly export.
Input
{ "geos": ["US", "GB", "AR"], "window": "24h" }
Only the sports stories that actually moved, with their query clusters:
{"geos": ["ES", "AR", "MX"],"window": "48h","categories": ["Sports"],"minVolume": 20000,"onlyWithRelatedQueries": true}
| Parameter | Type | Default | What it does |
|---|---|---|---|
geos | array | ["US"] | Two-letter country codes. One request each. |
window | string | "24h" | 4h, 24h, 48h or 7d. A wider window returns far more terms — roughly 100 at 4 hours against 1,700 at 7 days for the same country. |
categories | array | — | By name: Sports, Politics, Entertainment, Business and Finance, Technology, and the rest. A name Google does not publish stops the run and prints the valid list, instead of silently returning nothing. |
minVolume | integer | — | Drops the long tail. 20000 leaves what actually moved. |
onlyWithRelatedQueries | boolean | false | Keeps only the trends that carry a query cluster. |
keywords | array | — | Keep trends whose term or related queries match — how you watch a brand across countries. |
maxItems | integer | 500 | Hard cap on rows saved and charged. 0 means no cap. |
includeSeen | boolean | true | Set to false to save only trends never returned before. Built for scheduled runs. |
Output
| Field | Notes |
|---|---|
term | The search as people type it. |
volume | Estimated searches. Google publishes these rounded. |
growthPercent | Growth against the previous period. Google caps it at 1000, which means "over 1000%", not exactly 1000. |
startedAt | When it began rising. |
relatedQueries | What people search around the term, strongest first. Google publishes these for roughly one trend in five — the rest come back as an empty list rather than a guess. |
categories | Names, not numbers. Read from the page's own filter list, so a rename by Google shows up as the new name instead of breaking. |
window | The window the row was requested with. Volume is not comparable across windows, so it travels with the row. |
rank | Position within that country and window. |
Tracking trends over time
Set includeSeen to false and schedule the Actor. Each run then saves only
terms it has never returned, so the dataset becomes a clean timeline of what
started trending rather than the same list repeated every hour.
Cost
No proxy. Google Trends serves this to an ordinary client, verified across four countries and three windows. That makes this the cheapest Actor we publish — one request covers a whole country, and residential bandwidth, which is the dominant cost everywhere else, is zero here.
Empty and duplicate rows are never charged.
Notes
The list is read from the state Google ships to fill its own trends table, not from the page markup — that is why obfuscated class names being regenerated on every deploy does not affect this Actor.
Two endpoints that every public guide still recommends, /trends/api/dailytrends
and /trends/api/explore, no longer respond. Both were tried and both failed;
this page is what remains.
Google accepts ?category= in the URL but ignores it — the response is identical
with and without it. Category filtering here happens on the extracted rows, which
is why it works.