Google Trends Scraper
Pricing
$1.00 / 1,000 item delivereds
Google Trends Scraper
Search interest over time, by region, plus related queries and what is trending now. Rotates sessions so rate limits do not fail your run. Charges only for rows it delivers.
Search interest over time, interest by region, related queries and what is trending right now — as clean rows you can put straight into a sheet, a database or a dashboard. No Google account, no API key.
It does not fail when Google rate-limits you. That is the whole point of this actor. Google Trends
answers 429 Too Many Requests to anything that has not first picked up a session cookie, and it goes
back to 429 when a session gets stale. Most Trends scrapers treat that as an error and hand you a
failed run. This one opens a fresh session and carries on, so a rate limit costs you a few seconds
instead of your run.
What you get
| Data | What a row looks like |
|---|---|
| Interest over time | one row per keyword per data point: date, value (0-100), isPartial |
| Interest by region | one row per keyword per region: regionCode, regionName, value |
| Related queries | top and rising searches around your keyword, with rank and value |
| Trending now | what is being searched right now in a country, with approxTraffic and the news stories behind it |
Every row carries keyword, geo, timeRange, category, property and scrapedAt, so results
from different runs stack in one table without you having to remember what each run asked for.
What it costs
$0.001 per row delivered. You are charged for rows that actually land in your dataset and for nothing else — not for the run starting, not for compute, not for failed keywords. A year of weekly data for one keyword is 53 rows, about $0.05.
Use it for
- SEO and content planning — which of your topics is growing, which is flat, which is seasonal.
- Demand forecasting — pull 5 years of weekly data for a product category and find the yearly shape.
- Market entry — compare interest across countries before deciding where to launch.
- Newsroom and social monitoring — poll Trending now for your markets and get the stories behind each spike.
- Brand tracking — put your brand and your competitors on one shared 0-100 scale.
Input
{"searchTerms": ["air fryer", "pizza oven"],"geos": ["US", "GB"],"timeRange": "today 12-m","outputs": ["interestOverTime", "interestByRegion", "relatedQueries"],"trendingNowGeos": ["US"]}
Every term is fetched for every geo. Leave geos as [""] for worldwide. Set compareAsOneChart
to true to put your terms on one shared scale, the way the Compare tab on Google Trends works
(Google allows 5 terms per comparison, so longer lists are split into groups of 5).
Time ranges: now 1-H, now 4-H, now 1-d, now 7-d, today 1-m, today 3-m, today 12-m,
today 5-y, all, or your own 2024-01-01 2024-12-31 in customTimeRange.
category narrows an ambiguous word (for example 47, Autos & Vehicles, for jaguar).
property switches the surface: web, images, news, Google Shopping or YouTube search.
Output
{"type": "interest_over_time","keyword": "air fryer","comparison": "air fryer","date": "2026-09-13","timestamp": 1757808000,"formattedTime": "Sep 13 – 19, 2026","value": 78,"isPartial": false,"geo": "US","timeRange": "today 12-m","category": 0,"property": "web","scrapedAt": "2026-09-19T09:12:03.221Z"}
Values are Google's own 0-100 index, not search counts: 100 is the peak of the series you asked for. Two separate runs are not comparable unless you asked for the same period and geo, which is why every row repeats those fields.
What it cannot do
- Related topics is not offered. Google's public endpoint returns an empty list for it on this access path for every keyword we tested, and the request is signed, so it cannot be asked for a different way. Related queries works and is what you want in almost every case.
- No search volumes. Google Trends does not publish them, so nobody can scrape them. Rows are the 0-100 relative index. If you need absolute volumes you need a keyword tool, not Trends.
- Hourly data only goes back 7 days, daily back 90 days. Ask for longer and Google returns weekly points. This is Google's rule, not ours.
- The most recent point is partial. It is flagged
isPartial: true— drop it if you are plotting a trend line, because it is a part-week compared against full weeks. - A keyword with too little search volume returns no rows. That is an answer, not a failure: the run finishes normally and reports it.
- Datacenter IPs do not work. Residential proxy is on by default. Turn it off and Google will refuse almost everything.
- Trending now is per country, uses Google's own country lists, and returns roughly the last day.
Failed inputs
If a keyword cannot be fetched, the run does not stop. The other keywords are still delivered, and the
failed one is written to the dataset as a row with success: false and the reason — free of charge,
so you can see exactly what did not arrive.