Google Trends Scraper & API — Interest by Region avatar

Google Trends Scraper & API — Interest by Region

Pricing

$3.00 / 1,000 trend rows

Go to Apify Store
Google Trends Scraper & API — Interest by Region

Google Trends Scraper & API — Interest by Region

Google Trends data that actually comes back: interest over time, interest by region, and top/rising related queries and topics. Browserless and proxy-rotating, so it survives the rate limits that break DOM-based scrapers. You pay only for rows delivered.

Pricing

$3.00 / 1,000 trend rows

Rating

0.0

(0)

Developer

Ace

Ace

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Categories

Share

Google Trends Scraper — Interest, Regions & Related Queries

Google Trends data that actually comes back.

Pull interest over time, interest by region, and top + rising related queries for any keyword, any country, any time range — as clean tabular rows ready for a spreadsheet, a dashboard, or an LLM pipeline.


Why this one

Most Google Trends scrapers drive a headless browser and read the page. Google changes the page, the selectors break, and the run either returns nothing or spins until it times out — while you get billed for it anyway.

This actor takes a different path:

This actorTypical browser-based scraper
How it gets dataGoogle's own JSON endpointsHeadless browser + DOM selectors
Breaks when Google restyles the pageNoYes
Memory1 GB4 GB
Rate limits (HTTP 429)Cookie warm-up + exponential backoff + fresh proxy session per retryUsually just fails
What you pay forOnly rows actually deliveredOften a start fee regardless of output

If a run returns nothing, it costs you nothing. There is no actor-start charge. Every row you are billed for is a row in your dataset.


What you get

Interest over time

{
"recordType": "interest_over_time",
"searchTerm": "bitcoin",
"date": "May 7, 2026",
"timestamp": "2026-05-07T00:00:00.000Z",
"value": 52,
"isPartial": false,
"geo": "US",
"timeRange": "today 3-m"
}

Interest by region

{
"recordType": "interest_by_region",
"searchTerm": "bitcoin",
"region": "Wyoming",
"geoCode": "US-WY",
"value": 100
}
{
"recordType": "related_query",
"searchTerm": "bitcoin",
"rankType": "RISING",
"query": "spacex stock price",
"value": 3250,
"formattedValue": "+3,250%",
"link": "https://trends.google.com/trends/explore?q=..."
}

rankType is TOP (most searched alongside your term) or RISING (fastest growing — Breakout means growth over 5000%).


Input

FieldTypeNotes
searchTermsarrayRequired. One or more keywords.
dataTypesarrayTIMESERIES, GEO_MAP, RELATED_QUERIES. Fewer types = fewer rows = lower cost.
timeRangestringnow 1-Htoday 5-y, all. Default today 12-m.
customTimeRangestringYYYY-MM-DD YYYY-MM-DD. Overrides timeRange.
geostringUS, GB, DE, or a sub-region like US-CA. Empty = worldwide.
compareTermsbooleanON = one request, values relative across terms (Google's comparison mode). OFF = each term on its own 0–100 scale.
categoryintegerGoogle Trends category id. 0 = all.
maxItemsintegerHard cap on delivered rows — your spend ceiling. 0 = no limit.
proxyConfigurationobjectResidential strongly recommended.

Example

{
"searchTerms": ["bitcoin", "ethereum", "solana"],
"dataTypes": ["TIMESERIES", "GEO_MAP", "RELATED_QUERIES"],
"timeRange": "today 3-m",
"geo": "US"
}

→ 519 rows.


Understanding the numbers

Google Trends values are relative, not absolute search counts. Within a single request, 100 is the peak point and everything else is scaled against it. That means:

  • Values for a term scraped alone are not comparable to the same term scraped in a comparison group. Use compareTerms: true when you need terms on one shared scale.
  • isPartial: true marks a period that has not finished collecting yet — the last data point is usually partial and will rise. Exclude it from trend calculations.

Honest limitations

  • Related topics are not available. Google's endpoint returns an empty list for every term we tested, so this actor does not offer that option rather than quietly charging you for nothing. Related queries work fine and are usually what people want.
  • Google rate-limits aggressively. The actor retries with backoff and rotates to a fresh proxy session on each 429. Large jobs still run faster and cleaner with residential proxies enabled. If everything is blocked, the run fails and bills nothing.
  • Hourly ranges (now 1-H, now 4-H) return far fewer points than daily ranges — that is Google's granularity, not a truncation.
  • Google is rolling out an official Trends API (currently a closed alpha). If and when it opens, this actor will move to it.

Use it for

  • SEO & content — find rising queries before they peak.
  • Market research — compare brand or product interest across regions.
  • Finance & crypto — retail attention as a sentiment input.
  • Journalism & academia — reproducible search-interest series with real timestamps.
  • LLM pipelines — flat rows, no HTML, no post-processing.

Scheduling

Point the Apify Scheduler at this actor to build your own history: run daily with timeRange: "now 7-d" and append to a dataset. Because you are only charged per delivered row, a scheduled watch on a handful of terms stays cheap.