Google Trends Scraper – Tube Atlas & Search Interest
Under maintenancePricing
Pay per usage
Google Trends Scraper – Tube Atlas & Search Interest
Under maintenanceScrape Google Trends at scale: interest-over-time for up to 200 keywords, regional breakdown, custom date ranges and 5 search types (Web, Images, News, YouTube, Shopping), plus live Trending Searches by country. Fully automated — add keywords, get clean JSON straight to your dataset.
Pricing
Pay per usage
Rating
4.7
(3)
Developer
Oliver Queen
Maintained by CommunityActor stats
2
Bookmarked
4
Total users
1
Monthly active users
5 days ago
Last modified
Categories
Share
Google Trends Scraper - Interest Over Time, Trending Now & Regional Data
Scrape Google Trends at scale: interest-over-time series for any keyword, daily trending searches per country, and regional interest breakdown - clean JSON straight to your dataset. Built for SEO research, content planning, market intelligence and brand monitoring.
What it does
- Interest over time for any keyword - 0-100 score per day/hour, with an ISO date and Google's own label on every point
- Flat or grouped output - one row per data point (ready for CSV/Excel) or one row per keyword with arrays
- Daily trending searches per country (US, VN, GB, IN, JP, ...) with traffic estimates
- 5 search types - Web, Images, News, YouTube, Google Shopping - plus a category filter
- Regional breakdown at Country / Region / City / DMA depth for each keyword
- Related queries - top & rising searches per keyword (opt-in, no extra fee)
- Flexible time windows - preset (past hour to all time) or exact custom range from 2004-01-01 to today
- Bulk keyword queries - up to 200 keywords per run
- Live trending - perfect for content discovery and competitor monitoring
Quick start (keyword mode)
- Pick Mode = keyword
- Paste up to 200 keywords
- Choose country, time range and search property (Web is recommended)
- (Optional) Category - the
cat=id from the Google Trends URL (0 = all) - Fetch regional data is on by default - untick it if you only need the series; pick a Region resolution (Auto / Country / Region / City / DMA)
- Fetch related queries is on by default for top & rising queries (adds 1 API call per keyword, no extra fee) - untick for cheap series-only runs
- Run - output defaults to flat (one row per data point); switch Output format to grouped if you want one row per keyword
Each run produces clean rows in your dataset - ready to export to CSV/Excel, push to a webhook, or feed into your analytics pipeline.
Custom date range
Fill Custom time range to override the preset window, e.g. 2022-11-01 2022-12-18.
Rules: valid calendar dates, start on or before end, start on or after 2004-01-01, end not in the future. Invalid ranges fail the run immediately with a clear error message instead of producing empty data.
Note on News Search: Google Trends has limited historical coverage for news. For older date ranges many keywords legitimately return no news volume even on Google's own UI. For historical research prefer Web Search.
Quick start (trending mode)
- Pick Mode = trending
- Choose country, time period (4 / 24 / 48 / 168 hours) and category filter
- Run
Get the top trending searches right now, sorted by search volume, recency or alphabetical - great for content ideas, news monitoring, and spotting emerging stories.
Sample output
Keyword mode - flat (default)
{"type": "timeseries", "keyword": "bitcoin", "geo": "US", "time": "2022-11-02 2022-12-18","date": "2022-11-03T08:00:00.000Z", "formattedDate": "Nov 3, 2022", "value": 48}{"type": "region", "keyword": "bitcoin", "geo": "US", "time": "2022-11-02 2022-12-18","geoCode": "US-CA", "geoName": "California", "lat": null, "lng": null, "value": 100}{"type": "relatedQuery", "keyword": "bitcoin", "geo": "US", "time": "2022-11-02 2022-12-18","query": "bitcoin price", "value": 100, "formattedValue": "100", "list": "top"}
| Scenario | What you get |
|---|---|
| Keyword has search volume | one timeseries row per point (0-100 value + date) |
| Nobody searched this term in the window | timeseries rows with value: 0 |
| Temporary fetch issue | a single row with success: false + error |
The last point of an open-ended window may carry isPartial: true when Google flags the data as incomplete.
Keyword mode - grouped (Output format = grouped)
{"keyword": "bitcoin","success": true,"points": [48, 52, 61, 58],"dates": ["2022-11-03T08:00:00.000Z", "2022-11-04T08:00:00.000Z"],"formattedDates": ["Nov 3, 2022", "Nov 4, 2022"],"geo": "US","time": "2022-11-02 2022-12-18","regions": [{"geoCode": "US-CA", "geoName": "California", "value": 100}]}
Interest values are relative (0-100), exactly like trends.google.com: 100 = peak popularity within the selected window.
At City / DMA depth Google returns coordinates instead of an ISO code: geoCode is empty and the row carries lat / lng (see Region resolution).
Trending mode
{"keyword": "super bowl","traffic": "200K+","country": "US","fetchedAt": "2026-08-23T10:15:00Z"}
Use cases
- SEO keyword research - validate search demand before writing content
- Content calendar planning - ride trending topics in real time
- Market research - compare brand or product interest across 50+ countries
- Competitor monitoring - track competitor search volume over time
- Seasonal pattern analysis - custom date ranges back to 2004 reveal year-over-year trends
- Journalism & academic research - historical interest in a topic
- Affiliate & e-commerce - validate product demand before launch
Pricing
Pay per event, no platform usage charge on top:
| Event | FREE | Business (Gold) |
|---|---|---|
| Keyword analyzed (per success) | $0.005 | $0.0015 |
| Trending topic | $0.0012 | $0.0006 |
Headline: from $1.50 per 1,000 keywords at Business plan, $5.00 per 1,000 keywords at FREE plan. Failed keywords cost nothing - you only pay when real data is delivered. See the Pricing tab on Store for the full tier breakdown.
Why this scraper instead of others?
- Per-keyword pricing, not per-result - one fee per keyword regardless of how many data points it returns; full daily series included
- Regional data and related queries included free - no extra charge for interest by region or top/rising queries
- No data, no fee - a keyword with zero search volume still costs you; a keyword that returned nothing due to a network error does not
- Pure HTTP - no headless browser, runs fast and cheap
- Back to 2004 - longer custom date range than most competitors
- 5 search properties + category filter - Web, Images, News, YouTube, Shopping, any Google Trends category
- Dates on every point - ISO timestamps and Google's labels come with the data, no date reconstruction needed
FAQ
Q: How is "Keyword analyzed" counted?
A: Each keyword row pushed to the dataset with success: true counts as one event. Failed keywords (success: false) are not charged.
Q: Do I pay for keywords that return all zeros? A: Yes - those are real, valid responses from Google. You only avoid paying when the keyword fetch itself failed.
Q: What happens if a keyword returns no regional data? A: The regional rows are simply omitted for that keyword. No extra charge.
Q: Flat or grouped output?
A: Flat (default) gives one row per data point, region and related query - best for CSV/Excel exports and charts. Grouped gives one row per keyword with points/dates/regions arrays - best when you consume the dataset through the API.
Q: Can I scrape news or YouTube trends? A: Yes - pick the Search property in the input form. Note that News Search has limited historical coverage.
Q: Why is my run slower for some keywords? A: Google occasionally throttles or blocks IPs. We rotate through Cloudflare WARP and free public proxies and accept the first successful response.
Q: Why does the City breakdown have few cities? A: Google only reports city rows with measurable volume for the term and window - niche terms often yield a handful of cities (or none). Metro (DMA) and Region depth are much denser. Include low-volume geos (on by default) maximises what Google is willing to return.
Q: How do I export the data? A: From the Apify dataset tab - download as JSON, CSV, Excel, or push to a webhook, API, or cloud storage.
Q: Can I run this on a schedule? A: Yes - use Apify Schedules or the API. Each scheduled run counts as its own paid run.
Tips
- For best results, keep time windows short - longer historical ranges mean fewer data points per point.
- Fetching regional data adds 1 API call per batch - on by default; untick it if you only need the series.
- Fetch related queries adds 1 API call per keyword - on by default; untick it for bulk runs where you only need the series.
- Need city-level or metro-level interest? Set Region resolution to City or DMA (requires Fetch regional data). Keep Include low-volume geos on - without it Google returns mostly empty rows at City depth. Some low-volume terms simply have no city data; the rows Google does return are always delivered as-is.
- The FREE plan is fine for occasional small runs. For heavier use, consider Starter, Scale or Business plan for automatic volume discounts.
- Requests are rate-limited automatically per unique egress IP (Rate limit per tunnel, default 6 req/min, 0 = off). Each run starts a random subset of the bundled tunnels and probes their egress IPs: lanes behind the same IP share one pacing budget (Cloudflare's WARP pool is small), so concurrent runs on the same account do not multiply the rate Google sees. An overloaded lane backs off (8s doubling, capped at 120s, never blacklisted for rate limits alone) and the run continues on the rest.
- The session cookie is rotated proactively every 20 keywords, which prevents the long-lived session flags that cause 429s on healthy IPs. Every run fetches fresh data from Google — nothing is cached.
Data source
Trends data is sourced from publicly available Google Trends pages via the same endpoints the website itself uses. Values are relative (0-100) within the selected window, exactly as shown on trends.google.com.
Built by apify-solutions for SEO, marketing, and research teams that need reliable Google Trends data at scale.