Google Trends Scraper — Reliable & Fast (No Browser)
Pricing
from $2.00 / 1,000 keyword reports
Google Trends Scraper — Reliable & Fast (No Browser)
Google Trends interest over time, by region and related queries for hundreds of keywords, comparisons of up to 5 terms, and Trending Now with news. JSON endpoints, auto-retries and residential fallback. Pay only for keywords with data.
Pricing
from $2.00 / 1,000 keyword reports
Rating
0.0
(0)
Developer
Dustin Griffie
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
a day ago
Last modified
Share
Get Google Trends data — interest over time, interest by region, related queries, comparisons of up to 5 terms and the live Trending Now list with news articles — for hundreds of keywords per run. It talks to Google Trends' own JSON endpoints instead of driving a browser, so it's fast, uses 256 MB of memory, and doesn't break when the page layout changes.
Why this scraper
- Built for reliability. Every request runs on a fresh session (IP + cookies + consistent browser headers). Google's rate limits (HTTP 429) are retried with backoff on a new IP, and if the datacenter proxy keeps getting throttled the run switches to residential proxies by itself. In our test runs (about 580 keywords, up to 5 runs in parallel) every keyword returned data except one, and that case is now covered by an automatic end-of-run retry.
- You only pay for results. Terms with too little search volume (
no_data), queries Google rejects (invalid) and anything that failed are never charged. Duplicate terms are removed before the run. If you set Max cost per run, the run stops cleanly before going over it — unprocessed terms aren't charged. - No browser. Typically 5–10 seconds per keyword, 3–5 keywords in parallel.
- Drop-in replacement. Turn on Add apify/google-trends-scraper field names and you also get
interestOverTime_timelineData,interestBySubregion,relatedQueries_top, … in the same raw format, so existing integrations keep working.
How to scrape Google Trends
- Click Try for free (or Start) — a free Apify account is enough.
- Type your search terms, one per line, or paste a Google Trends URL or a Google Sheet link.
- Optionally pick a location, time range, category or search type (web, YouTube, News, Images, Shopping).
- Click Start. A few seconds per keyword later you get one row per term in the Output tab.
- Download the results as JSON, CSV, Excel or HTML, or get them through the API, schedules, webhooks, Make, Zapier, n8n or the Apify MCP server.
What data you get
| Data | Details |
|---|---|
| Interest over time | 0–100 per point; minute/hour/day/week/month steps chosen by Google; date (UTC), localTime (your time zone, for hourly data), isPartial for the still-running period; peak, average, latest and % change per term |
| Interest by region | Countries (Worldwide), regions/states, US metro areas (DMA) or cities |
| Related queries | Top 25 and Rising 25 with Google's values (+250%, Breakout), isBreakout flag and link |
| Related topics | See FAQ — Google currently doesn't send these to anyone who isn't signed in |
| Comparisons | Up to 5 terms on one scale, like the Compare box on Google Trends |
| Trending Now | Term, search volume, % increase, start/end time, active flag, categories, related searches and up to 3 news articles (title, URL, source, published time, image) per trend, for any country, past 4 h / 24 h / 48 h / 7 days |
Search type (web, YouTube, News, Images, Shopping), category, location (country, region, metro), any date range from 2004, language and time zone are all supported.
Input
You can give search terms in four ways — combine them freely:
- Search terms — one per line, any language.
- Compare terms —
coca cola, pepsion one line (up to 5). - Google Trends URLs — paste an explore URL from your browser.
- Google Sheet or CSV URL — a sheet shared as "Anyone with the link can view" (or published to the web), or any public CSV. Terms are read from the first column or the column you name; a specific tab is used when the URL contains
gid=.
Examples
Keywords in the US over the past 12 months:
{ "searchTerms": ["web scraping", "data extraction", "日本語"], "geo": "US", "timeRange": "today 12-m" }
Compare brands by US state, monthly since 2004:
{ "comparisonGroups": ["coca cola, pepsi, dr pepper"], "geo": "US", "timeRange": "all", "regionResolution": "REGION" }
Hourly data for the past day in US Pacific time:
{ "searchTerms": ["earthquake"], "geo": "US-CA", "timeRange": "now 1-d", "timezoneOffset": 420 }
Terms from a Google Sheet column called "keyword":
{ "spreadsheetId": "https://docs.google.com/spreadsheets/d/<id>/edit#gid=0", "spreadsheetColumn": "keyword" }
Trending Now with news for three countries:
{ "trendingNowGeos": ["US", "GB", "IN"], "trendingNowHours": "24", "maxTrendingPerGeo": 50 }
Output
One row per search term (default) — everything about a term in one item:
{"query": "coffee", "keyword": "coffee", "geo": "US", "timeframe": "today 12-m", "category": 0, "categoryName": "All categories","property": "web", "status": "ok", "statusMessage": null,"averageInterest": 82.4, "peakValue": 100, "peakDate": "2025-12-21T00:00:00.000Z", "latestValue": 79, "changePercent": -4.8,"topQueries": ["coffee near me", "coffee shop", "..."], "risingQueries": ["..."],"interestOverTime": [{ "keyword": "coffee", "date": "2025-10-19T00:00:00.000Z", "localTime": null, "formattedTime": "Oct 19 – 25, 2025", "value": 83, "hasData": true, "isPartial": false }],"interestByRegion": [{ "keyword": "coffee", "geoCode": "US-WA", "geoName": "Washington", "value": 100, "hasData": true, "resolution": "REGION" }],"relatedQueries": [{ "keyword": "coffee", "rankType": "rising", "rank": 1, "relatedQuery": "...", "value": 3250, "formattedValue": "Breakout", "isBreakout": true, "link": "https://trends.google.com/trends/explore?q=..." }],"relatedTopics": [], "relatedTopicsStatus": "notProvidedByGoogle","trendsUrl": "https://trends.google.com/trends/explore?q=coffee&date=today+12-m&geo=US","scrapedAt": "2026-10-23T03:20:00.000Z"}
The Output tab has views for the overview, interest over time, regions, related queries and Trending Now.
Flat rows (outputFormat: "flat") — one row per data point with a recordType column (keyword_summary, interest_over_time, interest_by_region, related_query, related_topic, trending_now), ideal for spreadsheets, SQL and BI tools.
Status values
| status | meaning | charged |
|---|---|---|
ok | all requested data fetched | yes |
partial | main data fetched, a section failed after all retries (see error) | yes |
no_data | Google has too little search volume for this term/place/time ("not enough data") | no |
invalid | Google rejected the query (unknown location code, unsupported combination) | no |
failed | blocked after all retries | no |
Input mistakes we can detect up front (bad location format, dates before 2004, unknown category id, more than 5 terms in a comparison, private Google Sheet) stop the run immediately with a clear message, before anything is charged.
How much does it cost to scrape Google Trends?
Pay per event — platform usage (compute, proxies, storage) is included, there is nothing else to pay:
| Event | Free plan | Paid plans |
|---|---|---|
Keyword report — one search term with data (ok or partial; each term in a comparison counts once) | $0.003 | $0.002 ($2 per 1,000 terms) |
| Trending search — one Trending Now row, incl. related searches and news | $0.0002 | $0.0002 |
| Actor start (Apify's standard start fee) | $0.00005 | $0.00005 |
Never charged: terms with no data (no_data), queries Google rejects (invalid), failures, duplicate terms, rows not saved. Set Max cost per run and the run stops cleanly before going over it; the minimum you can set is $0.10.
Example: 500 keywords on a paid plan ≈ $1.00. The Apify Free plan includes $5 of monthly credit — about 1,600 keyword reports a month for free.
FAQ
Why are related topics empty? Google Trends currently returns an empty related-topics list to every visitor who isn't signed in to a Google account — we verified this with a real Chrome browser, from datacenter and residential (home) IPs, in several countries and with topic IDs; the Google Trends website itself shows "Hmm, your search doesn't have enough data to show here" for related topics. Related queries are unaffected. Each item says relatedTopicsStatus: "notProvidedByGoogle"; if Google switches the data back on, the rows fill in automatically. It never affects status or price.
What do the numbers mean? Values are relative: 100 is the term's peak for the chosen place and time, 50 is half as popular. They aren't search counts. Compared terms share one scale; separately searched terms don't.
What does the time zone setting change? Google's data points are the same in every time zone; the setting changes formattedTime and our localTime for hourly/minute data. date is always UTC. Daily, weekly and monthly points are calendar dates.
How do I get daily data for a whole year? Google picks the step from the range: daily up to ~9 months, weekly up to 5 years, monthly beyond. Run several shorter custom ranges (2024-01-01 2024-06-30, 2024-07-01 2024-12-31) — note each range is scaled to its own peak.
Which proxy should I use? The default (Automatic datacenter) works for most runs. With Fall back to residential proxy on, the run switches to residential automatically if Google throttles the datacenter IPs. Don't use GOOGLE_SERP — it can't reach Google Trends.
Can I schedule it or use it from my code? Yes — use Apify schedules, the API, the Python/JS clients, Make, Zapier, n8n or the MCP server like any other Actor.
Is it legal? The Actor collects publicly available, aggregated and anonymized Google Trends statistics; no personal data. Check that your use complies with Google's terms and the laws that apply to you.