Google Trends Scraper: Keyword Interest Tracker
Pricing
from $2.50 / 1,000 trend reports
Google Trends Scraper: Keyword Interest Tracker
Scrape Google Trends: interest over time, related & rising queries, related topics, geo breakdowns. Degraded since 2026-07-30 by Google-side rate-limiting, see README — zero charge on failure either way. Multi keyword compare, all timeframes.
Pricing
from $2.50 / 1,000 trend reports
Rating
0.0
(0)
Developer
The Mine Works
Maintained by CommunityActor stats
0
Bookmarked
1
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
📈 Google Trends Scraper: Interest, Queries & Geo API
⚠️ Degraded since 2026-07-30, see status note below · no API key, no login · residential proxy included.
💸 You're only charged for delivered results. Empty searches, failed pages and duplicate listings are never billed.
⚠️ Status: degraded (updated 2026-07-30)
Google is currently returning HTTP 429 to this actor's residential proxy pool on nearly every request. We shipped two real code fixes the same day (a proxy-default bug that was skipping residential entirely for API/MCP callers, and a cookie-affinity bug that broke session reuse on IP rotation), but what's left after those fixes is an upstream block we don't control. Most runs return zero data right now.
You are never charged for a run that returns nothing. We're watching for the block to ease and will update this notice, and the reliability numbers below, once it does.
Overview
There is still no public Google Trends API — Google's official API remains gated, and pytrends, the long-standing unofficial library, breaks repeatedly against endpoint changes. This actor is the maintained alternative: it pulls interest-over-time, related and rising queries, related topics, and geographic breakdowns for any keyword directly from Google Trends, see the status note above before relying on current run numbers. Feed it iphone and samsung galaxy, pick a timeframe from the last hour to five years, choose a country, and get back clean structured JSON ready for SEO research, market analysis, or RAG pipelines.
The front-end is aggressively rate-limited by data-centre IPs. This actor solves that: it uses the same widgetdata endpoints the Trends UI calls, but through a residential proxy pool — see the status note above for its current reliability. Blocked, empty, or failed keyword lookups are never charged: only a keyword that actually returned data results in a billed event.
✅ No API key | ✅ Residential proxy included | ✅ Zero charge on failure | ✅ MCP-ready for AI agents
Features
Every timeframe. From now 1-H to all (5 years and back to 2004).
Multi-keyword compare. Query several keywords in one run for side-by-side interest data.
Four data types. Interest over time, related queries, related topics, interest by region.
Geo scoped. Any ISO country code, or blank for worldwide.
Reliable. Residential proxy plus retries, zero cost on failure so you only pay for data.
How it works
The actor hits the same trends.google.com/trends/api/widgetdata/* endpoints that the Google Trends front-end uses when you interact with the site. Each keyword is submitted as its own request, and the four data types (interest over time, related queries, related topics, interest by region) are fetched only if you ask for them so you don't pay for data you don't need.
Every request goes through Apify's residential proxy pool because data-centre IPs get 429-rate-limited within a handful of requests. Failed keywords retry with backoff, and if a keyword still cannot be fetched the result is skipped without charge, so you only pay for records that made it into the dataset.
🧾 Input configuration
{"keywords": ["iphone", "samsung galaxy"],"timeframe": "today 12-m","geo": "US","includeInterestOverTime": true,"includeRelatedQueries": true,"includeRelatedTopics": false,"includeInterestByRegion": true}
📤 Output format
{"keyword": "iphone","geo": "US","timeframe": "today 1-m","interest_over_time": [{ "date": "2026-06-15T00:00:00.000Z", "value": 77, "formatted_value": "77" },{ "date": "2026-06-16T00:00:00.000Z", "value": 82, "formatted_value": "82" }],"related_queries": {"top": [{ "query": "iphone 17", "value": 100 }],"rising": [{ "query": "apple iphone 18 pro thickness", "value": "Breakout" }]},"interest_by_region": [{ "region_code": "US-KS", "region_name": "Kansas", "value": 100 },{ "region_code": "US-WY", "region_name": "Wyoming", "value": 94 }]}
Every keyword record contains these fields:
| Field | Description |
|---|---|
🔎 keyword | The keyword the record covers |
🌍 geo | Country code (e.g. US, IN) or empty string for worldwide |
⏱️ timeframe | Time range requested (e.g. today 12-m) |
📈 interest_over_time | Array of {date, value, formatted_value} |
🧵 related_queries | Object with top and rising arrays of related searches |
🧠 related_topics | Object with top and rising arrays of related topics |
🗺️ interest_by_region | Array of {region_code, region_name, value} |
💼 Common use cases
SEO & content planning Find rising queries adjacent to a target keyword and build content briefs around them. Track seasonality and pick the right week to publish or update a piece.
Product & market research Compare interest in a competitor and your product over time and by region. Spot breakout queries in an emerging category before the market catches on.
Ads & performance Time paid pushes to interest peaks per region. Reallocate budget to states or cities where demand is climbing fastest.
AI agents & RAG Give a research or planning agent a fresh interest signal for any topic on demand. Feed weekly trend snapshots into a market-intel report the agent writes for you.
🚀 Getting started
- Open the actor and add one or more keywords.
- Pick a timeframe (
today 1-m,today 12-m,today 5-y,all) and a geo (US,IN,GB). - Toggle the data types you want: interest over time, related queries, related topics, interest by region.
- Leave the residential proxy on (required for reliable widgetdata calls).
- Click Start. Download as JSON, CSV, or Excel, or pull via API or MCP.
💵 Pricing
| Event | Price | You pay when |
|---|---|---|
| Trend report | $0.004 | A keyword returns data and lands in your dataset |
One report = one keyword with every data type you toggled — $4.00 per 1,000 keyword-reports, residential proxy included in the price. That's above the ~$2/1k median for SEO-tool actors, deliberately: you're paying for the thing the cheap options don't deliver, which is runs that succeed. Keywords that fail or return nothing are never billed.
⏰ Run it on a schedule
The classic use is a weekly trends report for your niche: your 5–20 tracked keywords, timeframe: "now 7-d", your geo — every Monday morning without you.
- On this actor's page, click ⋯ → Schedule actor (or Console → Schedules → Create new).
- Pick a frequency —
@weeklyMonday 06:00 for reports; daily for fast-moving niches. - Your saved input is reused on every run; each run appends to a named dataset.
- Wire the dataset to Google Sheets, Slack, or a webhook via the actor's Integrations tab so new rows reach you automatically.
FAQ
Why do I need a residential proxy?
The Google Trends widgetdata endpoints return 429 to almost every data-centre IP within a handful of requests. Residential IPs from real consumer ISPs are the only reliable way to fetch this data at scale, which is why the actor ships with RESIDENTIAL as the default.
How does "zero charge on failure" work? You are charged per successful keyword result written to the dataset. If a keyword fails after retries, no dataset row is written and you are not charged for that keyword.
Can I compare keywords in a single chart? Each keyword is fetched independently so the returned time series are directly comparable when plotted together. If you need Google's own normalised "compare" view (all keywords indexed to the peak of the highest one), request them together and use the max value across records as the shared scale.
Can I use it in an AI agent? Yes. It's exposed as an MCP tool. See below.
Is there an official Google Trends API? Google announced one in 2025; it remains gated/limited-access in mid-2026. Until it ships publicly, the choice is unofficial libraries that break (pytrends) or maintained scrapers like this one.
Why does pytrends keep failing? It reverse-engineers Trends endpoints and Google changes them regularly — and Google blocks datacenter IPs from the widgetdata endpoints where the actual data lives. We do the same reverse-engineering, through residential IPs, and maintaining it is our job rather than your side quest.
Is the data identical to the Google Trends website? Yes — same endpoints the UI calls, same normalized 0–100 index, per keyword and geo.
🤖 Use from Claude, ChatGPT & any MCP agent
Hosted MCP endpoint — no install, OAuth on first connect:
https://mcp.apify.com/?tools=themineworks/google-trends-pro
Claude Desktop / Cursor config (token auth):
{"mcpServers": {"google-trends": {"url": "https://mcp.apify.com/?tools=themineworks/google-trends-pro","headers": { "Authorization": "Bearer YOUR_APIFY_TOKEN" }}}}
Ask your agent: "Pull 12-month interest and rising queries for [topic] in the US, then tell me if this niche is growing."
For trends alongside social listening in one connection, use our Social & Market Research MCP server — eight tools behind one endpoint.
Or call it programmatically with the Apify client:
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: 'YOUR_APIFY_TOKEN' });const run = await client.actor('themineworks/google-trends-pro').call({keywords: ['iphone', 'samsung galaxy'],timeframe: 'today 12-m',geo: 'US',includeInterestOverTime: true,includeRelatedQueries: true,});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items);
🛠️ Complete your SEO & market intel pipeline
Got the trend signal. Now act on it with the rest of the suite:
- arXiv Paper Scraper: pull recent research on the topic for content or product ideas.
- Meta Ad Library Scraper: see how advertisers are running creative on the same keyword.
- Trustpilot Reviews Scraper: check sentiment on the brands competing for the interest.
Typical flow: google-trends surfaces the demand, meta-ad-library shows the creative response, trustpilot-reviews reveals what customers actually feel.
Questions or need a custom field set? Reach out through the Apify profile.