Google Trends Scraper
Pricing
from $0.70 / 1,000 results
Google Trends Scraper
Google Trends data that actually comes back. Google requires a session cookie before serving its Trends endpoints and throttles back-to-back calls — this primes the session and paces requests, so runs succeed instead of returning empty. Interest over time, related queries, regional interest.
Pricing
from $0.70 / 1,000 results
Rating
0.0
(0)
Developer
Datalayer
Maintained by CommunityActor stats
0
Bookmarked
1
Total users
0
Monthly active users
4 hours ago
Last modified
Categories
Share
Google Trends Scraper — reliable, structured, no broken runs
Scrape Google Trends data at scale: interest over time, related queries, related topics and interest by region, returned as flat tabular rows that drop straight into a spreadsheet, a database or a BI tool. Built for teams who need Google Trends data to arrive every single run, not most of the time.
If you have used a Google Trends scraper before and got empty datasets, half-finished runs or cryptic errors, that is the problem this actor exists to solve.
Why another Google Trends scraper
Google Trends has no official public API. Every scraper talks to the same internal endpoint, which means they mostly differ in one respect: how they behave when something goes wrong. Most handle it badly.
Three things break Google Trends scrapers, and all three are handled here:
- Expired tokens. Trends issues a short-lived token per request group. When it expires mid-run, most scrapers fail the entire job. This one detects a stale token, silently fetches a fresh one and retries.
- Rate limiting. Google throttles hard, especially from datacenter IPs. This actor uses exponential backoff with jitter and rotates to a new residential IP on each retry, rather than surfacing a crash.
- Missing data for low-volume keywords. A niche keyword often has no regional breakdown or no related queries. That is normal, and it should not fail your run. Here it does not — you get everything that exists, plus a clear note about what did not.
Partial success is treated as success. If four of your five keywords return data, you get four keywords of data and a machine-readable record of the fifth. You are never charged for rows you did not receive.
What you get
| Dataset | What it contains |
|---|---|
| Interest over time | One row per keyword per date, with the raw 0–100 value, a real ISO timestamp and a flag for partial (still-forming) data points |
| Related queries | Top and rising searches, with breakout terms explicitly flagged |
| Related topics | Top and rising topics, with topic type |
| Interest by region | Per-country or per-subregion values, with a flag showing whether a region had enough data |
Every result is flat and tabular — one row per observation. No nested JSON to unpick before you can use it. Export to CSV, JSON, Excel or push straight into your warehouse.
Common use cases
- SEO and content planning — find rising search terms before they peak
- Market research — compare brand or product interest across countries and time
- Trend monitoring — schedule daily runs and alert on breakout terms
- Competitive analysis — track share of search between you and your competitors
- Demand forecasting — pull five years of seasonality for planning
Input
{"keywords": ["artificial intelligence", "machine learning"],"timeframe": "today 12-m","geo": "US","includeRelatedQueries": true,"includeByRegion": true}
Keywords — up to five per run. Google Trends compares a maximum of five terms at once; the actor tells you clearly rather than silently truncating.
Timeframe — past hour through to all time (2004 onwards), or a custom range like 2025-01-01 2025-12-31.
Geo — an ISO country code such as US, GB or AU. Leave blank for worldwide. Sub-regions work too, for example US-CA.
Compare mode — on by default, matching how Google Trends works: values are relative to each other. Turn it off to fetch each keyword separately so its values stand alone.
Output
{"type": "interest_over_time","keyword": "artificial intelligence","date": "Jan 1, 2026","isoDate": "2026-01-01T00:00:00.000Z","timestamp": 1767225600,"value": 78,"isPartial": false}
Note isPartial. Google's most recent data point is often still forming and will change. Most scrapers hand it to you as though it were final. This one labels it.
Missing values are returned as null, never as 0 — because 0 is a real Google Trends value meaning "no measurable interest", and conflating the two quietly corrupts any analysis built on top.
Proxies
Residential proxies are strongly recommended and are the default. Google rate limits datacenter IPs aggressively, and datacenter traffic is the single most common cause of failed Trends runs.
Scheduling
Run it on a schedule to build a time series of your own: daily runs of the same keyword set give you a change log Google Trends itself does not provide, including when a term first goes breakout.
Notes
Google Trends values are relative, not absolute. A value of 100 means peak interest for that keyword within the selected timeframe and region — it is not a volume figure. Comparing runs with different timeframes will not give you comparable numbers.
This actor is unofficial and is not affiliated with, endorsed by, or connected to Google. Please use it only for publicly available data and in line with applicable laws and terms.