Google Trends Scraper
Pricing
$1.50 / 1,000 search term results
Google Trends Scraper
Scrape Google Trends for any keywords: interest over time, interest by region, related queries and topics, plus Trending Now searches by country. Automatic proxy fallback avoids rate limits.
Pricing
$1.50 / 1,000 search term results
Rating
0.0
(0)
Developer
YEVHEN VDOVIN
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
4 days ago
Last modified
Share
Get Google Trends data as clean JSON: interest over time, interest by region, related queries, related topics, term comparison, and the current Trending Now list for any country.
HTTP-only (no browser), so it is fast and cheap to run. Google Trends rate-limits aggressively — the scraper retries with back-off, renews its session, and switches to Apify Proxy on its own when needed, so a run does not die on the first 429.
What you get
One result per search term (or per comparison group):
{"searchTerm": "bitcoin","geo": "US","timeRange": "today 12-m","category": 0,"property": "web","timeline": [{ "date": "Oct 5 – 11, 2025", "timestamp": "2025-10-05T00:00:00Z", "value": 61, "isPartial": false }],"regions": [{ "geoCode": "US-NV", "geoName": "Nevada", "value": 100 }],"regionResolution": "REGION","relatedQueries": {"top": [{ "query": "bitcoin price", "value": 100, "formattedValue": "100", "link": "https://trends.google.com/trends/explore?q=bitcoin+price..." }],"rising": [{ "query": "...", "value": 4950, "formattedValue": "+4,950%", "link": "..." }]},"relatedTopics": {"top": [{ "title": "Bitcoin", "type": "Cryptocurrency", "mid": "/m/05p0rrx", "value": 100, "formattedValue": "100", "link": "..." }],"rising": []},"scrapedAt": "2026-10-08T12:00:00+00:00"}
With Compare terms on, terms are grouped by up to 5 (Google's limit) and share one 0–100 scale: timeline[].values and regions[].values become objects keyed by term, averages holds the average for each term, and relatedQueries is keyed by term (Google does not provide related topics in comparison mode).
If Google returned only part of the blocks, the result has a missing array listing the blocks that could not be fetched.
Trending Now results (one per trend):
{"type": "trendingNow", "geo": "US", "position": 1, "title": "cnbc","approxTraffic": "1000+", "approxTrafficNumber": 1000, "startedAt": "2026-10-08T10:50:00Z","news": [{ "title": "...", "url": "https://...", "source": "CNBC", "picture": "https://..." }],"exploreUrl": "https://trends.google.com/trends/explore?q=cnbc&geo=US&date=now%201-d"}
Input
| Field | Description |
|---|---|
searchTerms | Keywords, one result each |
compare | Compare terms on one scale, in groups of up to 5 |
geo | US, GB, US-CA ... empty = worldwide |
timeRange | Past hour … past 5 years, or 2004–present |
customTimeRange | 2024-01-01 2024-12-31 (overrides timeRange) |
property | web, images, news, youtube, froogle (Shopping) |
category | Google Trends category ID, 0 = all |
interestOverTime, interestByRegion, relatedQueries, relatedTopics | Which blocks to extract |
regionResolution | COUNTRY, REGION, CITY, DMA |
trendingNowCountries | Country codes for the Trending Now list |
proxyConfiguration | Optional — the scraper picks a proxy itself when Google blocks |
Notes
- Values are Google's relative 0–100 index, not absolute search volume.
- Hourly ranges (
now 1-H,now 1-d,now 7-d) return minute/hour-level points. - You are charged only for results actually delivered.