Google Trends Scraper avatar

Google Trends Scraper

Pricing

from $1.00 / 1,000 dataset items

Go to Apify Store
Google Trends Scraper

Google Trends Scraper

Google Trends data as JSON: interest over time, by country, state, metro or city, top and rising related queries, plus Trending Now searches with volume, growth and news. Compare up to 5 terms, paste Trends URLs, run hundreds of keywords. No browser, fast. Pay only for results.

Pricing

from $1.00 / 1,000 dataset items

Rating

0.0

(0)

Developer

axly

axly

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

10 days ago

Last modified

Share

Get Google Trends data as clean JSON: interest over time, interest by country / state / metro / city, top and rising (breakout) related queries, and today's Trending Now searches with search volume, growth and news. Paste search terms or Google Trends URLs, compare up to 5 terms on one scale, and run hundreds of keywords per run.

It reads the same JSON API the Trends website uses, with no browser: a 40-keyword run takes under a minute. When Google rate-limits an IP, the run switches to a new proxy session and repeats the search, so you get your rows instead of a failed run.

What data you get

Explore mode: one row per search term

FieldExampleNotes
searchTermmatchakeyword or topic id (/m/02vqfm)
comparedWith["coffee", "tea"]other terms on the same 0-100 scale (compare mode)
geo, timeRange, timeRangeResolvedUS, today 12-m, 2025-10-14 2026-10-14
category, property0, webweb, YouTube, News, Images or Shopping search
hasDatatruefalse when Google has too little search volume
averageInterest, latestInterest, peakInterestDate73.3, 59, 2026-04-12T00:00:00Zcomputed from the series
interestOverTime[]{date, label, value, isPartial}minute, hour, day, week or month points, as Google chooses for the range
interestByRegion[]{geoCode, geoName, value} or {coordinates, geoName, value}countries, sub-regions, US metros (DMA) or cities
regionLevelCITY / defaultdefault when Google has no data at the level you asked for
relatedQueriesTop[]{query, value, link}up to 25
relatedQueriesRising[]{query, growthPercent, formattedValue, link}up to 25; Breakout = more than +5000%
exploreUrl, scrapedAtlink to the same view on Google Trends
FieldExample
rank, searchTerm, geo, timeWindowHours1, roma vs real madrid, US, 24
searchVolume500000 (Google's bucket: 500K+)
increasePercentage1000
startedAt, endedAt, isActiveISO times; endedAt null while still trending
categories["Sports"]
trendBreakdownthe related searches Google groups into this trend
news[]{title, url, source, publishedTimestamp, image} (optional)
exploreUrl

Use cases

  • SEO and content teams: find rising queries before they peak, compare topic demand, plan seasonal content.
  • E-commerce and product research: check demand curves and seasonality by country or state before launching or stocking a product.
  • Marketing agencies: monthly trend reports per client keyword; regional interest for geo-targeted campaigns.
  • Newsrooms and social teams: Trending Now by country with volume, growth and headlines, every hour.
  • Analysts and AI agents: a time series per keyword as JSON for dashboards, forecasting and LLM pipelines.

Input

ParameterDefaultDescription
modeexploreexplore or trendingNow
searchTermskeywords or topic ids; one row each
compareTermsfalsecompare in groups of up to 5 on one scale
startUrlsGoogle Trends explore URLs (their own q, geo, date, cat, gprop are used)
geoworldwideUS, GB, US-CA, US-NY-501...
timeRangetoday 12-mpast hour ... 2004-present, or custom + customTimeRange (2024-01-01 2024-12-31)
category0Google Trends category id
propertywebweb, youtube, news, images, shopping
includeInterestOverTime / includeInterestByRegion / includeRelatedQueriestrueturn off what you don't need for faster runs
regionResolutionautoCOUNTRY, REGION, DMA, CITY
trendingGeos["US"]trending now locations
trendingHours244, 24, 48 or 168 hours
trendingCategoriesalle.g. Sports, Technology, Business and finance
trendingSort, maxTrends, onlyActiveTrends, includeTrendNewsordering, limit, active only, add headlines
proxyConfigurationApify Residentialused only after Google rate-limits an IP

Example input

Seven phones on YouTube search in the US, compared in groups of 5 + 2:

{
"mode": "explore",
"searchTerms": [
"iphone 17",
"pixel 10",
"galaxy s26",
"oneplus 15",
"xiaomi 16",
"nothing phone",
"motorola edge"
],
"compareTerms": true,
"geo": "US",
"timeRange": "today 3-m",
"property": "youtube",
"regionResolution": "CITY"
}

Example output (real run, arrays shortened)

Google has no city data for compared terms on YouTube, so the row falls back to states (regionLevel: default).

{
"type": "explore",
"searchTerm": "nothing phone",
"comparedWith": [
"motorola edge"
],
"geo": "US",
"timeRange": "today 3-m",
"timeRangeResolved": "2026-07-14 2026-10-14",
"category": 0,
"property": "youtube",
"hasData": true,
"averageInterest": 58.26,
"peakInterestDate": "2026-09-22T00:00:00Z",
"latestInterest": 67,
"interestOverTime": [
{
"date": "2026-07-14T00:00:00Z",
"label": "Jul 14, 2026",
"value": 63,
"isPartial": false
},
{
"date": "2026-07-15T00:00:00Z",
"label": "Jul 15, 2026",
"value": 56,
"isPartial": false
}
],
"interestByRegion": [
{
"geoCode": "US-DC",
"coordinates": null,
"geoName": "District of Columbia",
"value": 100
},
{
"geoCode": "US-DE",
"coordinates": null,
"geoName": "Delaware",
"value": 100
}
],
"regionLevel": "default",
"relatedQueriesTop": [
{
"query": "nothing phone pro",
"value": 100,
"link": "https://trends.google.com/trends/explore?q=nothing+phone+pro&date=today+3-m&geo=US"
}
],
"relatedQueriesRising": [
{
"query": "nothing phone 4a pro pink",
"growthPercent": 36900,
"formattedValue": "Breakout",
"link": "https://trends.google.com/trends/explore?q=nothing+phone+4a+pro+pink&date=today+3-m&geo=US"
}
],
"exploreUrl": "https://trends.google.com/trends/explore?q=nothing+phone%2Cmotorola+edge&date=today+3-m&geo=US&gprop=youtube",
"scrapedAt": "2026-10-14T23:57:02Z"
}

Scheduling and integrations

Schedule the actor (for example hourly Trending Now for 5 countries, or a weekly keyword report) in Apify Console → Schedules, and send results to Google Sheets, Slack, a webhook, Make, Zapier or n8n. Every run's dataset can be downloaded as JSON, CSV or Excel or read through the Apify API.

Use it from AI assistants (MCP)

Through the Apify MCP server (https://mcp.apify.com), Claude, ChatGPT and other MCP clients can call this actor as a tool: "compare search interest for matcha and coffee in the US over 5 years" returns the rows above.

FAQ

What do the numbers mean? Google Trends values are relative (0-100) within the chosen time range and location: 100 is the peak. They are not absolute search counts. Trending Now searchVolume is Google's volume bucket (for example 200K+).

Why compare terms? Separately, each term has its own 0-100 scale. With compareTerms the values are on one shared scale, like the comparison chart on the website.

Are related topics included? No. Google only serves related topics to browser sessions with a reCAPTCHA token. Related queries (top and rising) are included.

Why are some terms empty? hasData: false means Google has too little search volume for that term, place and period. Such rows are cheaper and still show you the term was checked.

What if Google rate-limits? The actor retries on a new proxy session and repeats the search (in a 150-keyword test run, all 10 rate-limit responses were recovered). Searches that still fail are listed in the run's FAILED_SEARCHES record and the rest of the run continues; to retry them, start a new run with just those terms.

How much data per term? Interest over time has up to ~270 points (monthly since 2004 for all); regions up to 250 countries or 200 cities; related queries up to 25 top + 25 rising.

Is it legal? The actor reads public, aggregated, anonymous statistics that Google publishes on trends.google.com. It collects no personal data. Check that your use complies with Google's terms and your local law.

This actor is not affiliated with or endorsed by Google.