Google Trends Scraper avatar

Google Trends Scraper

Pricing

$1.00 / 1,000 item delivereds

Go to Apify Store
Google Trends Scraper

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.

Pricing

$1.00 / 1,000 item delivereds

Rating

0.0

(0)

Developer

munin

munin

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

6 days ago

Last modified

Categories

Share

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

DataWhat a row looks like
Interest over timeone row per keyword per data point: date, value (0-100), isPartial
Interest by regionone row per keyword per region: regionCode, regionName, value
Related queriestop and rising searches around your keyword, with rank and value
Trending nowwhat 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.