Google Trends Scraper - Trending Now, Interest & Metrics
Pricing
$2.00 / 1,000 result rows
Google Trends Scraper - Trending Now, Interest & Metrics
Interest over time, by region, and related queries in one run - most scrapers return one series and charge you three times. Survives Google's rate limits; a throttled dataset is skipped, not fatal. Missing data is null, never zero. Never charges for an empty or failed run.
Google Trends Scraper - Trending Now, Interest Over Time & Metrics
A Google Trends scraper and API that returns five datasets in one run: daily trending searches, interest over time, interest by region, related queries, and computed trend metrics.
Most Google Trends scrapers return one series and charge you three times to assemble a picture. This one assembles it in a single run, and never charges for an empty or failed run.
{"keywords": ["ai agents"],"timeframe": "today 12-m","datasets": ["timeseries", "geo", "related_queries", "trending", "metrics"]}
That input returns roughly 170 rows: the weekly series, every region with data, top and rising related queries, the day's trending searches with their news coverage, and a computed summary of where the term is heading.
What you get
Trending now (daily trending searches)
The searches spiking today, per country, with Google's traffic estimate and the news articles driving them. Needs no keywords - run it on its own as a daily trending-topics feed.
| Field | Meaning |
|---|---|
query | The trending search term |
rank | Position in today's list |
approx_traffic | Google's own estimate, e.g. 2000+ |
approx_traffic_min | The same figure as an integer you can sort on |
news | Articles driving the spike: title, url, source |
picture, picture_source | Lead image and its publisher |
published_at | ISO 8601 timestamp |
Interest over time
The weekly or daily series for up to 5 keywords, normalised 0-100.
Interest by region
Every country or subregion with data, so you can see where demand sits.
Related queries
Top and rising associated searches, with breakouts marked.
Trend metrics (computed, no extra requests)
Most scrapers hand you the raw series and stop. This one also computes:
| Field | Meaning |
|---|---|
direction | rising, falling or flat |
growth_pct | Second half of the period against the first |
peak_value, peak_date | The high point and when it happened |
volatility_pct | Standard deviation as a share of the mean |
trend_score | Composite, 0-100 |
The score's formula is published, not magic:
growth_component = (clip(growth_pct, -100, 100) + 100) / 2trend_score = 0.6 * growth_component + 0.4 * mean
When the first half of the period is zero, growth is undefined rather than infinite, and the score falls back to the level term alone.
Why this one
It does not fail when Google throttles. Google rate-limits Trends aggressively per IP. The usual failure mode is not an error but a hang: a scraper waiting on a limit it has no strategy for. This client warms the session, paces requests, and retries 429s with backoff instead of treating them as fatal.
A throttled dataset is skipped, not fatal. If related queries is refused after every retry, you still get the series, the regions and the trending list. Partial success beats a lost run.
Missing data is null, never 0. No data is not zero interest, and
charting it as zero invents a collapse that never happened.
Partial buckets are flagged. Google's final period is usually incomplete
and reads as a crash. Rows carry is_partial, and the computed metrics
exclude those buckets so growth figures are not poisoned by them.
You are never charged for nothing. Failed and empty runs cost you zero. Charging happens only after results are validated.
Pricing
$0.002 per result row. No subscription, no platform fee, no minimum.
| Run | Rows | Cost |
|---|---|---|
| Trending now only | ~10-20 | under $0.05 |
| One keyword, all datasets | ~170 | about $0.34 |
| Five keywords, all datasets | ~400 | about $0.80 |
Input
| Field | Type | Notes |
|---|---|---|
keywords | array | Up to 5 terms, compared against each other. Not needed for trending-only runs. |
datasets | array | timeseries, geo, related_queries, related_topics, trending, metrics |
timeframe | string | now 1-H through today 5-y, or all |
geo | string | Country code such as US, GB, IL. Empty means worldwide. |
trendingGeo | string | Country for trending searches. Defaults to geo, then US. |
category | integer | Google Trends category ID. 0 is all categories. |
property | string | Web, images, news, YouTube or shopping |
proxyConfiguration | object | Strongly recommended. Google limits per IP. |
Reading the numbers correctly
Google normalises every series to 0-100 against its own peak. A value of 50 means half the interest of that term's busiest moment for that query, over that period, in that region - never a search volume, and never comparable across separate runs. Change the timeframe or the region and the whole series rescales.
With several keywords in one run, all of them are scaled against the single most popular term, which is what makes comparison meaningful.
Common uses
- SEO and content teams tracking whether a topic is rising before committing
- Daily trending-topics feeds for newsrooms and social scheduling
- Market research on regional demand
- Feeding trend context into LLM pipelines and agents
- Monitoring brand or competitor interest over time
Notes
Related topics is off by default. Google returns an empty list for it when the session is stamped as an API client, and the widget token is bound to its request so the flag cannot be edited out. Shipping it on by default would show an always-empty dataset. Related queries is unaffected.
Built by Ballast - data tools that stay upright when the source gets hostile.