Google Trends Scraper — Interest, Regions, Queries & Trending avatar

Google Trends Scraper — Interest, Regions, Queries & Trending

Pricing

from $2.50 / 1,000 search terms

Go to Apify Store
Google Trends Scraper — Interest, Regions, Queries & Trending

Google Trends Scraper — Interest, Regions, Queries & Trending

Scrape Google Trends: interest over time, interest by country, region or metro, related queries (top and rising) for up to 5 compared terms, plus Trending now searches per country.

Pricing

from $2.50 / 1,000 search terms

Rating

0.0

(0)

Developer

Trevor Ortega

Trevor Ortega

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

8 days ago

Last modified

Share

Get Google Trends data as clean JSON, CSV or Excel: interest over time, interest by country, state, metro or city, related queries (top and rising) and related topics for any search term, compared like on trends.google.com, plus today's Trending now searches for any country. No login, no browser, no API key: the actor reads the same JSON endpoints the Google Trends website uses, so a term takes a few seconds, not minutes.

  • Interest over time for any search term or topic: every point of the chart (0-100), with the average, the peak and the peak date. Hourly, daily, weekly or monthly points depending on the time range.
  • Compare up to 5 terms on one scale: write them on one line separated by commas (python, javascript, rust).
  • Interest by region: countries (worldwide), states/provinces, US metro areas (DMA) or cities, plus each term's share per region when you compare terms.
  • Related queries: top 25 and rising 25, with growth percentages and "Breakout" flags.
  • Related topics (top and rising) when Google provides them (see the FAQ).
  • Any location, time range, category and search type: worldwide, a country (US), a region (US-CA), a metro (US-NY-501); past hour to 2004-present or custom dates; 1,400 categories by name or ID; web, YouTube, News, Image and Google Shopping search.
  • Trending now per country: every trending search with search volume (200K+), growth, start time, active flag, categories, related searches and optional news articles. Windows: past 4 hours, 24 hours, 48 hours or 7 days.
  • Monitoring mode: schedule it and get only trends that are new since the last run.
  • Google Trends URLs work as input: paste an explore or trending URL and the actor keeps its settings.
  1. Add one or more Search terms (one per line; put up to 5 on one line, comma-separated, to compare them).
  2. Pick a Location (empty = worldwide), a Time range and, if you want, a Category and Search type.
  3. Optionally add Trending now: countries (for example US, GB, DE).
  4. Click Start and download the dataset as JSON, CSV, Excel or via the API.

Input example

{
"searchTerms": ["web scraping", "python, javascript"],
"geo": "US",
"timeRange": "today 12-m",
"category": "Computers & Electronics",
"searchProperty": "web",
"trendingCountries": ["US", "GB"],
"trendingHours": "24",
"maxTrendsPerCountry": 50,
"maxItems": 200
}

Custom dates: "customTimeRange": "2024-01-01 2024-06-30". City level: "regionResolution": "city".

Output example: search term

{
"type": "searchTerm",
"searchTerm": "python",
"comparedWith": ["javascript"],
"geo": "US",
"timeRange": "today 12-m",
"startDate": "2025-10-09",
"endDate": "2026-10-09",
"category": 0,
"categoryName": "All categories",
"property": "web",
"timeResolution": "WEEK",
"averageInterest": 61,
"peakInterest": 100,
"peakDate": "2026-06-14",
"interestOverTime": [
{"date": "2025-10-05", "timestamp": 1759622400, "formattedTime": "Oct 5 – 11, 2025", "value": 62, "hasData": true},
{"date": "2026-10-04", "timestamp": 1791072000, "formattedTime": "Oct 4 – 10, 2026", "value": 40, "hasData": true, "isPartial": true}
],
"regionResolution": "REGION",
"interestByRegion": [{"geoCode": "US-WY", "geoName": "Wyoming", "value": 100}, {"geoCode": "US-KS", "geoName": "Kansas", "value": 41}],
"interestByRegionCompared": [{"geoCode": "US-KS", "geoName": "Kansas", "shares": {"python": 84, "javascript": 16}, "topTerm": "python"}],
"relatedQueriesTop": [{"rank": 1, "query": "what is python", "value": 100, "formattedValue": "100", "url": "https://trends.google.com/trends/explore?q=what+is+python&date=today+12-m&geo=US"}],
"relatedQueriesRising": [{"rank": 1, "query": "python programming tutorial", "value": 4400, "formattedValue": "+4,400%", "isBreakout": false, "url": "https://trends.google.com/trends/explore?q=python+programming+tutorial&date=today+12-m&geo=US"}],
"relatedTopicsTop": [],
"relatedTopicsRising": [],
"trendsUrl": "https://trends.google.com/trends/explore?date=today%2012-m&geo=US&q=python,javascript&hl=en-US",
"scrapedAt": "2026-10-09T23:44:17Z"
}
{
"type": "trendingSearch",
"trendId": "US:mike ditka:2026-10-09",
"geo": "US",
"timeWindowHours": 24,
"rank": 1,
"title": "mike ditka",
"searchVolume": 1000000,
"searchVolumeFormatted": "1M+",
"increasePercentage": 1000,
"startedAt": "2026-10-09T14:50:00Z",
"endedAt": null,
"isActive": true,
"categories": ["Sports"],
"categoryIds": [17],
"trendBreakdown": ["mike ditka", "ditka", "mike ditka cause of death"],
"news": [{"title": "Legendary coach, Hall of Fame TE Mike Ditka dies at age 86", "url": "https://www.espn.com/nfl/story/_/id/50140701/...", "source": "ESPN", "publishedAt": "2026-10-09T15:03:00Z", "imageUrl": "https://encrypted-tbn2.gstatic.com/images?q=..."}],
"trendsUrl": "https://trends.google.com/trends/explore?date=now%201-d&geo=US&q=mike%20ditka&hl=en-US"
}

Fields

FieldDescription
searchTerm, comparedWithThe term and the terms it was compared with (same scale)
geo, timeRange, startDate, endDateLocation and the exact window Google used
category, categoryName, propertyCategory filter and search type (web, youtube, news, images, shopping)
timeResolutionPoint spacing: MINUTE, EIGHT_MINUTE, HOUR, DAY, WEEK, MONTH
averageInterest, peakInterest, peakDateSummary of the timeline (Google's own average for compared terms)
interestOverTime[]date, timestamp, formattedTime, value (0-100), hasData, isPartial (period still running)
regionResolution, interestByRegion[]geoCode, geoName, value (0-100); cities also latitude/longitude
interestByRegionCompared[]Compared terms only: each term's share (%) per region and the topTerm
interestByRegionUnavailablePresent (true) when Google refused the requested region level for this search
relatedQueriesTop[], relatedQueriesRising[]rank, query, value, formattedValue, isBreakout (rising), url
relatedTopicsTop[], relatedTopicsRising[]rank, topic, topicType, topicId, value, formattedValue, url
title, rank, searchVolume, searchVolumeFormattedTrending search and its volume bucket (e.g. 200K+)
increasePercentage, startedAt, endedAt, isActiveGrowth and timing of a trending search
categories, trendBreakdown, news[]Trend categories, the searches grouped into the trend, news articles
changeTypeMonitoring mode only: new

Add country codes to Trending now: countries and choose a window (past 4 h, 24 h, 48 h or 7 days). Each trending search is one result, in Google's order. Filter by Trending category (Sports, Entertainment, Politics, ...) or Active trends only, cap the list with Max trends per country, and switch on Include news articles for the stories Google shows next to each trend (one extra request per 20 trends). Regions such as US-CA work too. The old "Daily search trends" and "Realtime search trends" pages were replaced by Trending now in 2024; this is the current data.

Monitor changes on a schedule

Turn on Only new or changed items and save the input as a task with a Schedule (Apify Console: Saved tasks -> Schedule, for example every hour or every morning). Each run remembers which trending searches earlier runs of the same input returned and outputs only trends that are new, so you get a feed of fresh trends per country. Trends already reported are dropped before they are saved, so they are not charged. New items carry changeType: "new" (previousValues is reserved for changed items and does not occur for trends); use Monitoring key to keep several schedules on the same input apart. Search-term results are not affected by this switch.

You pay per result: $0.0025 per search term (all requested sections of one term: timeline, regions, related queries and topics) and $0.0007 per trending search, plus a small Apify platform usage fee (about $0.03 per 1,000 search terms at the default 256 MB memory). There is no start fee. Comparing 5 terms produces 5 results. Switching off sections you do not need makes runs faster but does not change the price.

Does it work without login, cookies or a Google API key?

Yes. Google Trends has no official public API; this actor uses the public endpoints of the Google Trends website with no account. Google answers the first request of a new client with HTTP 429 and a cookie, and throttles busy IPs; the actor handles that for you: every Apify Proxy IP gets its own cookie, throttled IPs are replaced automatically, and a search whose data calls fail is redone from scratch. In our tests 124 of 124 terms (612 requests) succeeded on the default datacenter proxy.

Google currently returns the related-topics list empty to clients it classifies as automated (its answers mark them USER_TYPE_SCRAPER), and it offers no related topics for compared terms at all. We do not use browsers or CAPTCHA solving to get around that. The actor still asks for them, so the fields fill in as soon as Google returns them; switch Related topics off to save one request per term. Related queries are not affected.

Proxy note

The default Apify datacenter proxy is the cheapest and works well. If Google keeps throttling the datacenter IPs during a large run, the actor switches to the RESIDENTIAL proxy group for the rest of that run when your plan includes it (Google Trends answers are small, a few KB each), and switches back if that proxy cannot connect. If you choose a proxy group yourself, it is used as is.

The actor collects only aggregated, anonymous search-interest statistics and public trending searches that Google Trends shows to every visitor without an account; it contains no personal data. It does not log in or solve CAPTCHAs. You are responsible for how you use the data and for respecting Google's terms.

Support

Found a bug or need a field? Open an issue in the Issues tab; it is usually answered within a day.