Google Trends Scraper - Interest, Regions & Related Queries avatar

Google Trends Scraper - Interest, Regions & Related Queries

Pricing

from $4.00 / 1,000 keyword trends

Go to Apify Store
Google Trends Scraper - Interest, Regions & Related Queries

Google Trends Scraper - Interest, Regions & Related Queries

Scrape Google Trends for any keywords: interest over time, interest by region, top and rising related queries and topics. Compare up to 5 terms on one scale. Any country or state, 9 time ranges or custom dates, web, news, images, YouTube and Shopping. JSON/CSV. No API keys.

Pricing

from $4.00 / 1,000 keyword trends

Rating

0.0

(0)

Developer

Santhej Kallada

Santhej Kallada

Maintained by Community

Actor stats

0

Bookmarked

10

Total users

2

Monthly active users

11 days ago

Last modified

Share

Google Trends Scraper — Interest Over Time, Regions & Related Queries

Scrape Google Trends for any keywords and get the real numbers behind the charts: interest over time, interest by region, and top and rising related queries and topics — one clean row per keyword, with up to five terms compared on one scale, for $5.00 per 1,000 keywords.

Google Trends has no export API, and its charts are built for looking, not for analysis. This Actor reads Google Trends for you and returns every number as structured data, ready for a spreadsheet, a dashboard, a scheduled report or an AI agent. No browser to manage, no proxies, no API keys.

For each keyword you give it, the Actor opens the same view you would open on trends.google.com — your country or region, your time range, your category, web search or another Google property — and returns what Google shows there:

  • the interest-over-time chart as a dated series on Google's 0–100 scale, with average, peak and latest values worked out for you;
  • interest by region — countries for a worldwide search, states or provinces inside a country, metro areas inside a US state;
  • the top and rising related queries and related topics, including the "Breakout" terms.

Keywords are compared in groups of five, exactly as on Google Trends, so the terms in a group share one scale and can be compared directly. Switch comparing off and every keyword is looked up on its own instead.

Every row carries a trends_url: open it and you see the same chart on Google Trends.

What you get per keyword

FieldWhat it tells you
keywordThe search term (or topic id) this row is about
average_interestAverage interest over the period, 0–100. In a comparison it is Google's own figure for the term
peak_interest / peak_dateThe highest point of the chart and when it happened
latest_interest / latest_dateThe most recent point of the chart that has a value, and its date
is_partial_latesttrue when that point covers a period that is not over yet (this week, today, this hour) — Google draws it as a dotted line
latest_complete_interestThe most recent point that covers a finished period — the safe one for "is it rising?" checks
seriesThe whole chart: [{ "date", "value" }]
granularitySpacing of the points: minute, 8_minutes, hour, day, week or month
time_rangeThe period you asked for
compared_withThe other keywords that share this row's scale; empty when the keyword was looked up alone
interest_by_region[{ "region", "region_code", "value" }] — where the keyword is searched most, 0–100
share_by_regionComparisons only: [{ "region", "region_code", "share" }] — how each region's searches split between the compared keywords, in percent
related_queries_top / related_queries_rising[{ "query", "value" }] — rising entries also carry formatted_value such as +350% or Breakout
related_topics_top / related_topics_rising[{ "topic", "type", "topic_id", "value" }]
location / geo / property / categoryExactly which Google Trends view the row came from
has_datafalse when Google Trends has too little search volume for the keyword (such rows are not charged)
trends_urlLink to the same chart on Google Trends
checked_atWhen Google Trends was read (UTC)

A run summary is saved alongside the data with the keyword counts, the settings used and the billing breakdown.

Use cases

  • Content and SEO timing — publish while a topic is climbing, not after it peaks; pull the rising queries as next week's briefs.
  • Product and market validation — check that demand is growing, and in which states or countries, before you invest.
  • Seasonality and inventory planning — five years of weekly data shows every recurring peak.
  • Brand and competitor tracking — compare your brand with up to four rivals on one scale, region by region.
  • Trading and research signals — hourly and per-minute interest for tickers, coins and events.
  • AI agents and dashboards — schedule it and feed clean trend data to n8n, Make, Zapier, Google Sheets or an LLM.

How to use

  1. Enter your Keywords — up to 100 per run.
  2. Leave Compare keywords on to compare them in groups of five, or switch it off to look each one up on its own.
  3. Pick a Time range (past hour to all time) or a custom start and end date.
  4. Choose a Country, or type a Region code such as US-CA; leave both blank for worldwide.
  5. Optionally pick a Trends property (web, images, news, Shopping, YouTube) and a Category.
  6. Click Start, then export the dataset as JSON, CSV or Excel, or read it through the Apify API.

Schedule the Actor to run daily or weekly and you have a trend monitor.

Example input

{
"keywords": ["chatgpt", "gemini", "claude", "perplexity", "copilot"],
"timeRange": "past_12_months",
"locationCode": "2840",
"trendType": "web"
}

Input configuration

FieldTypeDefaultDescription
keywordsarray of strings— (required)Search terms, 1–100 per run. Duplicates are removed.
compareKeywordsbooleantruetrue: every five consecutive keywords share one 0–100 scale. false: each keyword is looked up alone and peaks at 100.
timeRangestringpast_12_monthspast_hour, past_4_hours, past_day, past_7_days, past_30_days, past_90_days, past_12_months, past_5_years, 2004_present.
dateFrom / dateTostring—Custom range as YYYY-MM-DD. Replaces timeRange when set; dateTo defaults to today.
locationCodestring"" (worldwide)Country, chosen from the list in the form (2840 United States, 2826 United Kingdom, 2356 India, …).
geostring—A Google Trends geo code instead of a country: US, GB, US-CA, GB-ENG, DE-BY. Replaces locationCode when set.
trendTypestringwebweb, images, news, froogle (Google Shopping) or youtube.
categorystring0 (all)One of Google Trends' 25 categories, chosen from the list in the form.
languageCodestringenLanguage of topic and region names: en, es, de, fr, pt-BR, ja, …
includeRegionsbooleantrueAdd interest by region.
relatedDatastringautoRelated queries and topics: auto (for every keyword looked up on its own), always (also for each keyword inside a comparison — one extra lookup per keyword) or off.

Example output

A real row from the example input above — claude, compared with the other four in the United States over 12 months (series and region lists shortened):

{
"keyword": "claude",
"average_interest": 19,
"peak_interest": 33,
"latest_interest": 18,
"time_range": "past_12_months",
"series": [
{ "date": "2025-10-12", "value": 6 },
{ "date": "2025-10-19", "value": 6 },
{ "date": "2026-09-27", "value": 22 },
{ "date": "2026-10-04", "value": 23 },
{ "date": "2026-10-11", "value": 18 }
],
"has_data": true,
"peak_date": "2026-03-01",
"latest_date": "2026-10-11",
"latest_complete_interest": 23,
"is_partial_latest": true,
"granularity": "week",
"compared_with": ["chatgpt", "gemini", "perplexity", "copilot"],
"location": "United States",
"geo": "US",
"property": "web",
"category": "All categories",
"interest_by_region": [
{ "region": "District of Columbia", "region_code": "US-DC", "value": 100 },
{ "region": "Wyoming", "region_code": "US-WY", "value": 92 },
{ "region": "California", "region_code": "US-CA", "value": 84 }
],
"share_by_region": [
{ "region": "District of Columbia", "region_code": "US-DC", "share": 22 },
{ "region": "Wyoming", "region_code": "US-WY", "share": 20 },
{ "region": "Washington", "region_code": "US-WA", "share": 20 }
],
"related_queries_top": null,
"related_queries_rising": null,
"related_topics_top": null,
"related_topics_rising": null,
"trends_url": "https://trends.google.com/trends/explore?hl=en&geo=US&date=today%2012-m&q=chatgpt,gemini,claude,perplexity,copilot",
"checked_at": "2026-10-12T08:07:14.000Z"
}

In the same run chatgpt averaged 79, gemini 29, copilot 6 and perplexity 3. The five share one scale, so these numbers are directly comparable — and they are the averages Google Trends itself shows for this comparison.

A keyword looked up on its own also carries its related queries and topics. Real values from a run of {"keywords": ["bitcoin"], "locationCode": "2840"} (lists shortened, the other fields are as above):

{
"keyword": "bitcoin",
"related_queries_top": [
{ "query": "bitcoin price", "value": 100 },
{ "query": "bitcoin today", "value": 19 },
{ "query": "bitcoin stock", "value": 18 }
],
"related_queries_rising": [
{ "query": "spcx stock", "value": 14000, "formatted_value": "Breakout" },
{ "query": "spcx stock price", "value": 12950, "formatted_value": "Breakout" },
{ "query": "sandisk stock", "value": 4100, "formatted_value": "+4,100%" }
],
"related_topics_top": [
{ "topic": "Bitcoin", "type": "Cryptocurrency", "topic_id": "/m/05p0rrx", "value": 100 },
{ "topic": "Price", "type": "Topic", "topic_id": "/m/01d_1l", "value": 55 },
{ "topic": "Stock", "type": "Topic", "topic_id": "/m/077mq", "value": 9 }
],
"related_topics_rising": [
{ "topic": "NASDAQ:SPCX", "type": "Topic", "topic_id": "/g/11qpvmz8dc", "value": 13900, "formatted_value": "Breakout" },
{ "topic": "Reuters", "type": "Topic", "topic_id": "/g/11bc5zy143", "value": 2950, "formatted_value": "+2,950%" },
{ "topic": "Reuters", "type": "News agency company", "topic_id": "/m/0ps53", "value": 2800, "formatted_value": "+2,800%" }
]
}

Pay per event. No monthly fee, no setup fee, and you never pay for a keyword that failed or that Google Trends has no data for.

EventPrice (Free and Bronze plans)
Actor start$0.001 per run
Keyword trend$0.005 per keyword — $5.00 per 1,000

Apify Silver plans get 10% off these prices, Gold plans and above 20% off.

  • Five keywords compared (one lookup): $0.001 + 5 × $0.005 = $0.026.
  • Twenty keywords in four comparisons: $0.001 + 20 × $0.005 = $0.101.
  • One hundred keywords in twenty comparisons: $0.001 + 100 × $0.005 = $0.501.

Minimum charge. The Actor works in lookups: one comparison of up to five keywords is one lookup, and so is one keyword looked up on its own. Each lookup has a fixed cost of its own, so a run is never billed less than about 3.4 keyword units per lookup — four units for a single lookup. In practice:

RunLookupsBilled
4 or 5 keywords compared14 or 5 units — the plain per-keyword price
1, 2 or 3 keywords compared14 units — $0.021
10 keywords, one by one (compareKeywords off)1034 units — $0.171
5 keywords compared, related queries and topics for each (relatedData: always)621 units — $0.106

Any units added this way are shown in the run summary as minimum_charge_units_added, so the bill is never a surprise. To pay the plain per-keyword price, compare keywords in full groups of four or five.

FAQ

Is this real Google Trends data? Yes. Every run reads Google Trends itself, and each row links to the same chart in trends_url. Google Trends works on a sample of searches, so two readings of the same chart can differ by a point or two; the shape, the peaks and the order of the terms do not.

Do I need an API key, a proxy or a Google account? No. Add your keywords and run — everything else is handled for you.

Why did I get fewer results than I asked for? Google Trends only reports what has enough search volume. A keyword it has too little data for comes back with has_data: false and is not charged; regions with too little data are left out of interest_by_region; and related lists hold what Google shows — up to 25 entries, often fewer for niche terms or short time ranges.

What is the difference between comparing keywords and looking them up one by one? In a comparison the terms share one scale: 100 is the highest point of the strongest term, and a small term may sit at 2 or 3 all year. Looked up alone, every keyword is scaled to its own peak, which shows its seasonality clearly but cannot be compared with another keyword's numbers.

Why is the last value sometimes much lower or higher than the one before? The newest point usually covers a period that is still running — the current week, day or hour. is_partial_latest tells you so, and latest_complete_interest gives you the last finished point.

What do the rising values mean? A rising query or topic is one whose searches grew compared with the previous period; value is the growth in percent. Google labels growth above 5,000% as "Breakout", and formatted_value carries that wording.

What does a 0 or an empty value in the series mean? 0 is interest too low to register against the peak. An empty value (null) is a point Google Trends has no data for at all — for example the months before a product existed.

Can I get state, province or city-level data? Choose a country to get its states or provinces in interest_by_region. Type a region code in Region code (US-CA, GB-ENG, DE-BY) to measure interest inside that region; for a US state the breakdown is then by metro area. City-level lists are not available.

Can I look up a topic instead of a search term? Yes. Use the topic's id as the keyword — for example /m/05p0rrx for the Bitcoin topic. Topic ids are returned in related_topics_top.

How long does a run take? Typically 10 to 70 seconds. The lookups of a run are made side by side, so more keywords add little time.

Can I run it on a schedule or from my own code? Yes. Use Apify schedules for recurring runs, or call the Actor through the Apify API, n8n, Make or Zapier.

More search and SERP tools


Tags: google trends scraper, google trends api, google trends data, interest over time, interest by region, related queries, rising queries, trending searches, keyword trends, search demand, seasonality, trend analysis, seo research, market research, google trends export