Google Trends Scraper | Regions & Topics | from $2.5/1K avatar

Google Trends Scraper | Regions & Topics | from $2.5/1K

Pricing

from $1.50 / 1,000 keyword reports

Go to Apify Store
Google Trends Scraper | Regions & Topics | from $2.5/1K

Google Trends Scraper | Regions & Topics | from $2.5/1K

Google Trends for any keyword list: interest over time, by region (down to city), related queries and topics, comparisons and Trending Now with news. Built-in proxies and quota retries, so runs don't fail. From $2.50 per 1,000 keywords with data, $3.00 with related topics. Empty keywords are free.

Pricing

from $1.50 / 1,000 keyword reports

Rating

0.0

(0)

Developer

Irving Ernesto Quezada Ramírez

Irving Ernesto Quezada Ramírez

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

7 days ago

Last modified

Categories

Share

Get Google Trends data for any list of keywords: interest over time, interest by region (country, state, metro area, city), related queries and related topics, plus the Trending Now list with search volumes and news. Runs finish, keywords come back with data or a clear reason, and you only pay for keywords that returned data: from $2.50 per 1,000 keywords; $3.00 per 1,000 with the default input, related topics included.

  • Every keyword gets an answer. It either has data or says why not (for example "search volume too low"). Keywords without data are free.
  • No failed runs because of Google's rate limits. A rotating proxy network is built in at no extra cost, and a refused request is retried on a fresh connection and IP, moving to a backup network if needed.
  • Everything trends.google.com shows, and more. Compare keywords, locations or time periods; search topics instead of words; minute-by-minute data for the past hour; every value Google returns, including the raw responses if you want them.
  • More than 5 keywords on one scale. Google compares at most 5 terms at a time; this Actor can rescale 100+ keywords onto one shared 0-100 scale.
  • Paste Google Trends links or a Google Sheet, or type keywords.

What you get

DataWhat it tells you
Interest over timeSearch interest (0-100) per minute, 8 minutes, hour, day, week or month, depending on the time range, with averages, peaks and the latest value per keyword
Interest by regionWhere people search most, by country, region/state, US metro area (DMA) or city, with coordinates for cities; optionally with Google's low-search-volume regions
Region comparisonEach keyword's share of searches in every region, and which keyword leads there
Related queriesTop and rising searches around your keyword, ranked, including "Breakout" terms (+5000% or more)
Related topicsTop and rising topics (brands, people, products...) with their Google topic IDs and types
Location and period comparisonsOne keyword in up to 5 countries or regions, or over up to 5 periods (this year against last year, day by day), on one scale
Trending nowThe top searches in a country or US state: search volume (e.g. "100K+"), growth %, start/end time, category, trend breakdown and news articles
CatalogEvery location code, category ID and Trending Now location Google Trends accepts, and topic IDs for your terms
Year in SearchGoogle's yearly top-search lists for any year and country Google published

All keyword searches support location (worldwide, any country, region, US metro), time range (past hour to 2004-present, or custom dates and hours), category and search type (web, image, news, YouTube, Shopping).

Measured reliability

We benchmark the Actor on a fixed, varied keyword panel and publish the numbers. Latest validation run, September 2026, default settings, every request through our proxy network (a rotating datacenter pool with a residential fallback pool; no request went out from the benchmark machine's own connection). Google did not rate-limit this run: no request was refused.

TestResult
150 keywords, US, past 3 months, all 4 data types150 / 150 complete, 0 failed, 0 partial, 58 s total
Varied panel: 44 keywords + 12 keywords normalized in 3 compare groups, across US / worldwide / UK news / Germany by city / US metro areas46 / 47 searches complete, 0 failed, 0 partial; 1 UK news search had too little volume (a free "no data" item)
Low-volume controls (nonsense keywords)2 / 2 returned free "no data" items
Trending now, US, 50 trends with news50 / 50 with news articles

Across the 199 keyword searches of this run: 0 failures, 0 partial results. Google does not always behave like that. In a run of the previous build on a night when Google refused 113 requests, 148 of 150 keywords were complete and 2 came without related topics (HTTP 429 after retries; such topics are now retried again later in the run); that run also sent part of its traffic from the benchmark machine's own connection, so we don't count it as a result of the proxy network. Rate limits (HTTP 429) and the related-topics quota are retried automatically (see the FAQ).

Speed, all four data types at the default concurrency: about 6.5 minutes per 1,000 keywords when Google does not rate-limit (150 keywords in 58 s), and up to about 22.5 minutes in the heavily rate-limited run above. That is about 0.05 to 0.19 compute units per 1,000 keywords at 512 MB. Fewer data types are faster.

Pricing

Pay per result. No monthly fee, and no charge for keywords without data.

EventYou pay forFree planStarterScaleBusiness
keyword-reportone keyword with data (interest over time, by region and/or related queries, whatever you asked for). In comparisons: each keyword, location or period that has data$0.0025$0.0022$0.0019$0.0015
related-topicsthe related topics of one such keyword, when at least one topic was delivered$0.0005$0.00045$0.0004$0.0003
trending-searchone trending search (with news)$0.0010$0.0009$0.0008$0.0006
catalog-itemone catalog row (location, category, topic ID) or Year in Search entry$0.0002$0.00018$0.00015$0.0001

That is $2.50 per 1,000 keywords on the free plan ($1.50 on Business), plus $0.50 per 1,000 keywords whose related topics you get ($0.30 on Business). The default input asks for all four data types, so keywords with related topics come to $3.00 per 1,000 ($1.80 on Business). Results with status no_data, error or skipped are free, and so is the anchor keyword repeated in normalized comparisons.

Related topics are charged only when they were delivered. Google limits how often its related-topics data can be read; the Actor retries it on other connections and again later in the run. When Google keeps refusing despite the retries, a keyword can arrive without related topics: its status is partial, failedDataTypes says why, and it is charged the keyword-report only (its other data was delivered), not related-topics. When Google answers that a keyword has no related topics (common for niche keywords), relatedTopics is empty and the add-on is not charged either. Don't need related topics? Leave relatedTopics out of dataTypes: you pay the keyword report only, and the run is faster.

You can set a maximum charge per run in the run options: a result is only delivered when the limit covers all of it (a comparison, or a keyword with its topics, is never half paid), and the Actor stops cleanly when the limit is reached; the run's status message then says so. A run that is moved to another server or resurrected continues where it stopped and never charges twice for the same result. One run takes up to 10,000 keywords. If fewer than 2% of a run's keywords have data (checked every 500), the run stops and marks the rest skipped: check the keywords, location and time range.

Input examples

Separate reports for a keyword list, US, past 12 months:

{
"keywords": ["air fryer", "espresso machine", "standing desk"],
"geo": "US",
"timeRange": "today 12-m"
}

Compare keywords head to head, by US metro area, only the data you need:

{
"keywords": ["netflix", "hulu", "disney plus", "peacock", "max"],
"compare": true,
"geo": "US",
"regionResolution": "DMA",
"dataTypes": ["interestOverTime", "interestByRegion"]
}

20 keywords on one scale (groups of 5 linked by an anchor keyword):

{
"keywords": ["hulu", "netflix", "disney plus", "peacock", "paramount plus", "apple tv", "..."],
"compare": true,
"normalizeAcrossGroups": true,
"anchorKeyword": "hulu",
"timeRange": "today 5-y"
}

One keyword in three countries, or this year against last year:

{ "keywords": ["pickleball"], "compareGeos": ["US", "GB", "AU"] }
{ "keywords": ["black friday"], "geo": "US",
"compareTimeRanges": ["2025-10-01 2025-12-31", "2024-10-01 2024-12-31"] }

Topics instead of words (counts every spelling and language), with Google's raw responses:

{ "keywords": ["coffee"], "resolveTopics": true, "includeRaw": true }

Custom dates, news search, one category:

{
"keywords": ["interest rates"],
"geo": "GB",
"customTimeRange": "2024-01-01 2024-12-31",
"property": "news",
"category": 7
}

Copy links from trends.google.com, or read keywords from a Google Sheet (or any public CSV/TXT link):

{
"exploreUrls": ["https://trends.google.com/trends/explore?q=tea,coffee&geo=GB&date=today%205-y"],
"keywordsFileUrl": "https://docs.google.com/spreadsheets/d/<your-sheet-id>/edit"
}

Trending now in California and the UK, past 48 hours, sports and technology, biggest first:

{
"mode": "trending",
"trendingGeo": "US-CA, GB",
"trendingTimeWindow": "48",
"trendingCategories": ["17", "18"],
"trendingSort": "search-volume",
"maxTrendingItems": 100
}

Catalog (location codes and category IDs to search with) and Year in Search:

{ "mode": "catalog", "catalogTypes": ["geos", "categories"], "autocompleteTerms": ["tesla"] }
{ "mode": "yearInSearch", "yisYears": ["2025", "2024"], "yisGeos": ["US", "GLOBAL"] }

Output example

One result per keyword (or per comparison). Lists are shortened here:

{
"keyword": "air fryer",
"status": "ok",
"error": null,
"geo": "US",
"timeRange": "today 12-m",
"property": "web",
"summary": [
{ "keyword": "air fryer", "average": 65.92, "peak": 100, "peakDate": "2026-04-12",
"latest": 55, "latestDate": "2026-09-20", "latestIsPartial": true, "points": 53 }
],
"interestOverTime": [
{ "keyword": "air fryer", "date": "2026-09-20", "formattedTime": "Sep 20 – 26, 2026",
"value": 55, "formattedValue": "55", "hasData": true, "isPartial": true }
],
"interestByRegion": [
{ "keyword": "air fryer", "geoCode": "US-WY", "geoName": "Wyoming", "value": 100, "hasData": true }
],
"relatedQueries": [
{ "keyword": "air fryer", "type": "rising", "rank": 1, "query": "air fryer recall", "value": 14800,
"formattedValue": "Breakout", "isBreakout": true }
],
"relatedTopics": [
{ "keyword": "air fryer", "type": "top", "rank": 1, "topicId": "/g/12vzpn4zd", "title": "Air fryer",
"topicType": "Topic", "value": 100, "formattedValue": "100" }
],
"exploreUrl": "https://trends.google.com/trends/explore?q=air%20fryer&hl=en-US&geo=US",
"resolution": { "interestOverTime": "WEEK", "interestByRegion": "REGION" },
"failedDataTypes": {},
"warnings": [],
"fetchedAt": "2026-09-25T00:20:50Z"
}

In comparisons every row also names the compared geo or timeRange, and comparisonItems lists what was compared.

A trending search:

{
"rank": 1,
"googleRank": 1,
"title": "falcons vs packers",
"approxTraffic": "100K+",
"searchVolume": 100000,
"increasePercentage": 1000,
"startedAt": "2026-09-24T20:50:00Z",
"endedAt": null,
"isActive": true,
"categories": ["Sports"],
"relatedQueries": ["thursday night football", "falcons", "packers vs falcons"],
"articles": [
{ "title": "Falcons vs. Packers: Three must-know storylines…", "url": "https://www.nfl.com/news/…",
"source": "NFL.com", "publishedAt": "2026-09-23T14:05:12Z", "imageUrl": "https://…" }
],
"geo": "US",
"timeWindowHours": 24
}

Ready-made table views in the Console: Overview (average, peak and latest per keyword), Interest over time, By region, Related queries, Related topics, Trending now, Catalog and Year in Search. Export any of them as CSV, Excel or JSON, or read them through the API.

FAQ

Why don't runs fail? Google Trends answers bursts of requests with "429 Too Many Requests", and most failed Trends runs come from that. This Actor sends each request through a rotating proxy network. When Google refuses a request, it switches to a fresh connection and IP, waits a moment and tries again, moving to a backup network if needed. One stubborn keyword can't take the run down: it comes back with status: "error" and a reason, and is free. The Actor also watches the run timeout: about two minutes before it, no new keyword starts, and keywords still running are stopped shortly after, so the run still ends as Succeeded and keeps every result. The leftover keywords, including any stopped half-way, are marked skipped and are free; a resurrected run fetches them in full.

What do the 0-100 numbers mean? They are Google's relative interest. 100 is the peak of the search (the highest point in time, or the region with the highest share of searches), 50 means half as popular. They are not absolute search counts. Trending now does give approximate volumes ("100K+").

Compare mode or separate reports? Separate (the default): each keyword is scaled on its own, which is good for spotting each keyword's own seasonality. Compare: up to 5 keywords share one scale, so you can see which one is searched more. That is what you see when you type several terms on trends.google.com. The price is per keyword either way.

How can more than 5 keywords share one scale? Turn on normalizeAcrossGroups. One anchor keyword is added to every group of 5. The anchor's searches are the same in every group, so the groups can be rescaled onto one common scale. The final values are 0-100 across all keywords. (One exception: if a run is resumed after a restart, the groups it fetches again go onto the scale of the groups it had already delivered, so all stay comparable; if Google's numbers changed in between, their values can pass 100, and their warnings say so.) Pick an anchor with steady, medium-to-high interest: a very dominant anchor pushes small keywords down to 0. Each value keeps Google's original in-group number in groupValue, and the repeated anchor is billed once.

Terms or topics? A term ("jaguar") counts searches for those words; a topic (Jaguar, the car maker) counts every search about it, in any language or spelling. Turn on resolveTopics to search each keyword's best-matching topic, or paste topic IDs (like /m/02vqfm) as keywords. Catalog mode's autocompleteTerms lists the candidate topics for a term.

Why did a keyword come back with "no_data"? Google only shows data above a minimum search volume. Very niche keywords, small regions and short time ranges often fall below it. These results are free. Try a larger region, a longer time range or web search.

What does "partial" mean? Some requested data types came back and at least one didn't; the failedDataTypes field names it and says why. Most often it is related topics: Google's related-topics quota runs out now and then, for seconds (or minutes when many runs share the same network). The Actor retries a refused request at once on another connection and a second network, holds the keyword if that fails too (or if Google keeps rate-limiting it), retries it while the run goes on and again at the end (for up to about 7 minutes) before saving it. In our latest benchmark (September 2026) every keyword got its topics; an earlier 150-keyword run of the previous build, which Google rate-limited heavily, left 2 of 150 without them. A keyword without its topics is charged the keyword report only, not the related-topics add-on, and so is a keyword Google has no related topics for.

Which region resolutions are available? Worldwide searches are broken down by country. A country can be broken down by region or state and by city, and the US also by metro area (DMA). A US state by metro area or city, other regions by city. If a resolution isn't available for your location, the Actor uses Google's default and adds a note in warnings.

Where do I find location codes and category IDs? Run the Actor in Catalog mode: it lists every location code (down to US metro areas), every category with its ID and path, and every location that has a Trending Now list. A code Google doesn't know is caught before any search runs and explained in a free result.

Do I need a proxy? No. A rotating proxy network is built in and costs you nothing. You can still add Apify Proxy or your own proxies in the input. Your own proxy URLs replace the built-in network.

What time zone are dates in? UTC. Every point has an ISO date and a Unix timestamp.

Can I use it from my code, on a schedule, or with other apps? Yes. Run it through the Apify API, schedule it (for example a daily Trending Now snapshot), or connect it to Make, Zapier, n8n, Google Sheets or webhooks like any Apify Actor.

Is scraping Google Trends allowed? The Actor reads publicly available, aggregated and anonymized Google Trends data: the same numbers anyone sees on trends.google.com. It collects no personal data. Make sure your use complies with the laws and terms that apply to you.


Found a problem or missing a feature? Open an issue on the Actor's Issues tab.