Google Trends Scraper avatar

Google Trends Scraper

Pricing

from $1.25 / 1,000 results

Go to Apify Store
Google Trends Scraper

Google Trends Scraper

Get Google Trends data for up to five compared search terms: interest over time, interest by country, region, city or metro, and top and rising related queries and topics. Any region, time range, category or search type, plus each country's trending searches.

Pricing

from $1.25 / 1,000 results

Rating

0.0

(0)

Developer

Philip Kirkbride

Philip Kirkbride

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

6 days ago

Last modified

Categories

Share

Get Google Trends data as clean rows, ready for a spreadsheet, dashboard or model. Give it up to five search terms and it returns, for each term, the 0-100 interest timeline, interest by country, state, city or US metro area, and the top and rising related searches, all on the same scale the Google Trends site uses when you compare terms. Pick any region, time range (from the past hour back to 2004), category and search type: web, image, news, YouTube or Google Shopping searches.

A second mode lists what is trending right now: every trending search of one or more countries over the past 4 hours to 7 days, with its approximate search volume, growth, start and end time, topic categories, the related searches grouped into the trend, and news articles for the top stories.

Quick Start

Compare two terms in the United States over the past 12 months:

{
"searchTerms": ["coffee", "tea"],
"geo": "US",
"timeRange": "past-12-months"
}

List today's trending searches in the US and the UK, biggest first:

{
"mode": "trending",
"trendingCountries": ["US", "GB"],
"trendingSort": "searchVolume",
"maxItems": 200
}

Input

InputTypeDefaultMeaning
modestringsearchTermssearchTerms for interest and related searches, trending for trending searches.
searchTermsarray[]Words or phrases to look up. A Google Trends topic id such as /m/02vqfm also works.
compareTermsbooleantrueOn: up to five terms share one scale, so their values are directly comparable. Off: each term (up to 100) is scaled on its own.
geostring""Country (US), sub-region (US-CA) or US metro (US-NY-501). Empty is worldwide.
timeRangestringpast-12-monthspast-hour, past-4-hours, past-day, past-7-days, past-30-days, past-90-days, past-12-months, past-5-years or all (2004 to present).
startDate, endDatestringnoneA custom period (YYYY-MM-DD); overrides timeRange.
categoryinteger0Google Trends category id; 0 is all categories.
searchPropertystringwebweb, images, news, youtube or shopping.
includeInterestOverTimebooleantrueAdd the interest timeline.
includeInterestByRegionbooleantrueAdd interest per region.
regionResolutionstringautoauto, COUNTRY (worldwide only), REGION, CITY (needs a country) or DMA (US metro areas).
includeLowVolumeRegionsbooleanfalseAlso list regions with too little volume to score.
includeRelatedQueriesbooleantrueAdd the top and rising related searches.
trendingCountriesarray["US"]Countries for the trending mode.
trendingTimeWindowstringpast-24-hourspast-4-hours, past-24-hours, past-48-hours or past-7-days.
trendingActiveOnlybooleanfalseSkip trends that have already ended.
trendingSortstringrelevancerelevance (Google's order), searchVolume or newest.
includeTrendingNewsbooleantrueAttach news articles and a picture to the top trending searches.
maxItemsinteger100Cap on dataset rows.
languagestringen-USLanguage for date labels and names.

What it returns

Every dataset row has a kind. A searchTerm row is one looked-up term:

FieldMeaning
searchTerm, comparedWithThe term, and the other terms that share its scale.
geo, timeRange, timeRangeResolvedThe region, the requested range and the exact period Google Trends reported.
category, searchPropertyThe category and search type used.
averageInterestThe term's average over the period, when terms are compared.
interestOverTimeOne point per interval: time (UTC), timestamp, formattedTime, value (0-100), hasData, and isPartial for the interval still filling.
regionResolution, interestByRegionThe region level, then one entry per region: geoCode, geoName, value (0-100), formattedValue, hasData, and latitude/longitude for cities.
relatedQueriestop and rising lists of rank, query, value, formattedValue, link; rising entries add isBreakout (growth above 5000%).
relatedTopicsNot available right now; null.
missingSectionsAny requested section that came back empty for this term, with a code; the rest of the row is complete.
exploreUrlThe same view on the Google Trends site.
scrapedAtCollection time (UTC, ISO 8601).

A trendingSearch row is one entry of a country's trending list: searchTerm, geo, rank, timeWindow, searchVolume and searchVolumeFormatted (Google's lower bound, such as 500K+), increasePercentage, startedAt, endedAt, isActive, categories, relatedSearches, picture, newsArticles (title, url, source, picture), exploreUrl and scrapedAt.

The run summary (OUTPUT) reports items (rows delivered), errors and the list at failures.

Output example

{
"kind": "searchTerm",
"searchTerm": "coffee",
"comparedWith": ["tea"],
"geo": "US",
"timeRange": "past-12-months",
"timeRangeResolved": "2025-10-23 2026-10-23",
"category": 0,
"searchProperty": "web",
"averageInterest": 78,
"interestOverTime": [
{"time": "2026-10-11T00:00:00Z", "timestamp": 1791676800, "formattedTime": "Oct 11 – 17, 2026", "value": 69, "hasData": true, "isPartial": false},
{"time": "2026-10-18T00:00:00Z", "timestamp": 1792281600, "formattedTime": "Oct 18 – 24, 2026", "value": 66, "hasData": true, "isPartial": true}
],
"regionResolution": "REGION",
"interestByRegion": [
{"geoCode": "US-WY", "geoName": "Wyoming", "value": 100, "formattedValue": "100", "hasData": true, "latitude": null, "longitude": null},
{"geoCode": "US-HI", "geoName": "Hawaii", "value": 47, "formattedValue": "47", "hasData": true, "latitude": null, "longitude": null}
],
"relatedQueries": {
"top": [
{"rank": 1, "query": "coffee near me", "value": 100, "formattedValue": "100", "link": "https://trends.google.com/trends/explore?q=coffee+near+me&date=today+12-m&geo=US"}
],
"rising": [
{"rank": 1, "query": "sports scores today", "value": 5950, "formattedValue": "Breakout", "link": "https://trends.google.com/trends/explore?q=sports+scores+today&date=today+12-m&geo=US", "isBreakout": true}
]
},
"relatedTopics": null,
"missingSections": [],
"exploreUrl": "https://trends.google.com/trends/explore?q=coffee%2Ctea&date=today%2012-m&hl=en-US&geo=US",
"scrapedAt": "2026-10-23T00:41:06Z"
}
{
"kind": "trendingSearch",
"searchTerm": "patriots vs bears",
"geo": "US",
"rank": 1,
"timeWindow": "past-24-hours",
"searchVolume": 500000,
"searchVolumeFormatted": "500K+",
"increasePercentage": 1000,
"startedAt": "2026-10-22T04:00:00Z",
"endedAt": null,
"isActive": true,
"categories": ["Sports"],
"relatedSearches": ["patriots vs bears", "patriots", "bears vs patriots", "bears game"],
"picture": null,
"newsArticles": [],
"exploreUrl": "https://trends.google.com/trends/explore?q=patriots%20vs%20bears&date=now%201-d&geo=US",
"scrapedAt": "2026-10-23T00:42:33Z"
}

Terms without enough data and failures

Google Trends only scores terms with enough search volume. A term with no data for your region and period, or one that could not be retrieved, is listed in the run summary at OUTPUT.failures with a code (NO_DATA for too little volume) and a message. It is not a dataset row and is not charged. A run in which nothing could be collected exits with an error instead of finishing green with an empty dataset.

Limits and caveats

  • Values are relative (0-100), not search counts, exactly as on the Google Trends site. Compared terms share one scale; separately looked-up terms are each scaled to their own peak.
  • Related topics are not available right now.
  • Google keeps at most 25 top and 25 rising related searches per term.
  • Trending searches cover countries (and some sub-regions), not worldwide. News articles are attached to the top stories only.
  • Automated access is subject to Google's terms; use this actor only where you have the necessary permissions and a lawful basis.

FAQ

How do I compare more than five terms? Google Trends puts at most five terms on one scale. Include one common anchor term in each group of five and run the groups separately, or turn compareTerms off to score each term on its own.

Why does the newest point say isPartial? The latest week, day or hour is still filling up, so its value can still change.

Which region codes work? ISO country codes (US, DE, BR), sub-regions (US-CA, GB-SCT, IN-MH) and US metro codes (US-NY-501). Leave geo empty for worldwide.

Price

You pay per result: each dataset row (one search term, or one trending search) is one result, plus a small run-start charge. The run-start event is charged per GB of memory; the default 512 MB run is one start event. The start is charged even if the run saves no results. Terms without enough data and failed lookups are not charged. Platform usage is included in the price.