Google Trends Scraper - Bulk Keywords & Comparable Scores
Pricing
from $3.20 / 1,000 keyword analyseds
Google Trends Scraper - Bulk Keywords & Comparable Scores
Reliable Google Trends data for any number of keywords: interest over time, by region, related queries and topics, plus an unlimited-keyword comparison on one 0-100 scale. Auto-retries rate limits with fresh IPs.
Pricing
from $3.20 / 1,000 keyword analyseds
Rating
0.0
(0)
Developer
Ashish Agarwal
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
7 hours ago
Last modified
Share
Google Trends Scraper – Bulk Keywords & Comparable Scores
Get Google Trends data for any number of keywords in one run: interest over time, interest by region, related queries (top + rising/breakout) and related topics. Turn on Compare keywords to rank all your keywords on one shared 0–100 scale – not limited to Google's 5-term comparison.
Built for reliability: when Google rate-limits, the scraper backs off and retries with a fresh IP and fresh cookies instead of failing your run.
What you get
| Data | Per keyword |
|---|---|
| Interest over time | Full 0–100 timeline + average, peak date/value, latest value, trend direction (rising / stable / falling) and % change |
| Interest by region | Countries, states/regions, cities or US metro areas (DMA), sorted by interest |
| Related queries | Top and rising queries, including "Breakout" terms – ideal for content and SEO ideas |
| Related topics | Top and rising topics (when Google has topic data for the term) |
| Comparison | One extra result ranking every keyword on the same scale, with a combined timeline |
Works for Web, Image, News, Google Shopping and YouTube search, any country or region, any category, preset ranges (past hour → 2004-present) or a custom date range.
Why this scraper
- No 5-keyword limit for comparisons. Google compares at most 5 terms at a time. This actor chains batches through an anchor keyword and rescales them, so 50 or 500 keywords end up on one comparable scale.
- Doesn't give up on rate limits. Exponential backoff + a new proxy session on every retry. You get data, not a failed run.
- Everything in one pass. Timeline, regions and related queries for each keyword without running several tools.
- Summary fields ready for spreadsheets. Average interest, trend direction and top rising query sit at the top level, so a CSV/Excel export is useful right away.
- Pay only for keywords analysed. Failed keywords are not charged.
Use cases
- SEO & content: find rising queries and breakout topics before competitors; prioritise keyword lists by real interest.
- E-commerce & product research: compare product names, brands or categories over time and by region; spot seasonality.
- Market & investment research: track brands, tickers, technologies or competitors; detect momentum shifts.
- Agencies & reporting: schedule a run and get fresh Trends data in Google Sheets, Excel or your dashboard automatically.
- AI agents: call it through the Apify MCP server or API to give an agent live search-interest data.
Input example
{"keywords": ["ai agents", "chatgpt", "claude ai"],"geo": "US","timeRange": "today 12-m","interestOverTime": true,"interestByRegion": true,"relatedQueries": true,"compareKeywords": true,"anchorKeyword": "claude ai"}
geo: two-letter country code (US,IN,GB,DE, …) or region code (US-CA). Empty = worldwide.timeRange:now 1-H,now 4-H,now 1-d,now 7-d,today 1-m,today 3-m,today 12-m,today 5-y,all. Or setcustomTimeRangeto"2025-01-01 2025-06-30".searchProperty: empty (web),images,news,froogle(Google Shopping),youtube.category: Google Trends category ID (0 = all).
Output example (one keyword, sample – arrays shortened)
{"type": "keyword","keyword": "claude ai","geo": "US","timeRange": "today 3-m","averageInterest": 72.1,"peakDate": "2026-10-19T00:00:00Z","peakValue": 100,"latestValue": 81,"trendDirection": "stable","changePercent": 3.4,"topRisingQuery": "anthropic claude eu ai watermarks","interestOverTime": [{ "date": "2026-07-22T00:00:00Z", "value": 64, "isPartial": false }],"interestByRegion": [{ "geoCode": "US-DC", "geoName": "District of Columbia", "value": 100 }],"relatedQueries": {"top": [{ "query": "claude ai login", "value": 100, "formattedValue": "100" }],"rising": [{ "query": "anthropic claude eu ai watermarks", "value": 4250, "formattedValue": "Breakout" }]},"trendsUrl": "https://trends.google.com/trends/explore?q=claude+ai&date=today+3-m&geo=US","scrapedAt": "2026-10-23T03:30:00Z"}
Output example (comparison)
{"type": "comparison","anchorKeyword": "gemini","keywords": ["chatgpt", "gemini", "claude ai", "perplexity", "deepseek", "grok", "copilot"],"ranking": [{ "keyword": "chatgpt", "averageInterest": 75.42 },{ "keyword": "gemini", "averageInterest": 44.88 },{ "keyword": "claude ai", "averageInterest": 4.41 }],"timeline": [{ "date": "2026-10-22T00:00:00Z", "chatgpt": 84.0, "gemini": 46.0, "claude ai": 5.0 }]}
Pricing
Pay per event: you are charged per keyword analysed (each keyword result, and each keyword included in a comparison). Keywords that fail are not charged. Higher Apify plans get a Store discount automatically.
| Event | Free plan | Bronze | Silver | Gold and up |
|---|---|---|---|---|
| Keyword analysed | $0.0040 | $0.0038 | $0.0035 | $0.0032 |
| Actor start (per run, 1 GB) | $0.00005 | $0.00005 | $0.00005 | $0.00005 |
10 keywords ≈ $0.04 · 100 keywords ≈ $0.40 · 1,000 keywords ≈ $4 on the Free plan. Set Max cost per run in the run options to cap any run.
Send results to Google Sheets
Add Google Sheets Sync as an integration of this Actor (Integrations → Apify Actor) with this input, and every run lands in your spreadsheet:
{ "spreadsheet": "https://docs.google.com/spreadsheets/d/<your-sheet-id>/edit", "datasetId": "{{resource.defaultDatasetId}}", "mode": "append" }
Tips
- Anchor keyword: choose a term with medium popularity relative to the rest. A very rare anchor loses precision; a dominant one squashes small terms towards 0.
- Values are relative. Google Trends reports 0–100 relative interest, not absolute search volume. 100 = the peak for that query, place and time.
- Related topics can be empty when Google has no topic data for a term – that comes from Google, not from the scraper.
- Short ranges (
now 1-H,now 4-H) return minute-level data;today 5-yandallreturn weekly/monthly points.
Integrations
Export results as JSON, CSV, Excel or HTML, connect to Google Sheets, Make, Zapier, n8n or webhooks, schedule recurring runs, or call the actor from your code with the Apify API and SDKs (Python / JavaScript).
Use it in n8n and AI agents
Search-trend data is the missing input in most AI content workflows: which topics are rising, which phrasing people actually use, and where.
n8n – HTTP Request node (nothing to install):
- Method
POST, URLhttps://api.apify.com/v2/acts/donrulezz~google-trends-bulk/run-sync-get-dataset-items - Header
Authorization: Bearer <your Apify API token> - JSON body, for example:
{ "keywords": ["{{ $json.topic }}"], "geo": "IN", "timeRange": "today 3-m", "relatedQueries": true }
The response is the dataset itself – one item per keyword with interest over time and top/rising related queries – so you can pass it straight to an AI Agent or OpenAI node. The sync endpoint waits up to 5 minutes; for long keyword lists start a normal run and fetch the dataset when it finishes. You can also use n8n's Apify node ("Run an Actor") with the same input.
Workflow idea: weekly Schedule trigger → this actor for your seed keywords → keep the rising related queries → AI writes short content briefs → Google Sheets or Notion.
AI agents (MCP): add the actor as a tool through Apify's MCP server, https://mcp.apify.com/?actors=donrulezz/google-trends-bulk, in Claude, Cursor, VS Code or n8n's MCP Client node, then ask things like "Which of these 10 topics is rising fastest in India over the last 90 days?"
Is it legal?
The actor collects aggregated, anonymised public statistics from Google Trends. It does not collect personal data. You are responsible for using the data in line with applicable laws and Google's terms.
Support
Found a problem or need a feature (another output format, a new filter)? Open an issue on the actor's Issues tab – fixes usually ship within a few days.