Google Trends Scraper: Interest Over Time, Regions, Queries
Pricing
$1.50 / 1,000 keyword results
Google Trends Scraper: Interest Over Time, Regions, Queries
Scrape Google Trends for any keyword: interest over time, interest by region, related and rising queries, keyword comparison, ready-made CSV timeline. Blocked requests are retried automatically and keywords with no data are free. $1.50 per 1,000 results. JSON, CSV, Excel, API.
Pricing
$1.50 / 1,000 keyword results
Rating
0.0
(0)
Developer
Azeddine MESKAOUI
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
a month ago
Last modified
Categories
Security
Limited permissionsShare
Google Trends Scraper: reliable, with retries and CSV export
Get Google Trends data for any keyword, without a browser: interest over time, interest by region, related queries and topics, and keyword comparison on a shared scale.
Google Trends blocks callers quickly, which is why many Trends scrapers end their runs half empty. This Actor treats a refusal as normal: the search is retried from a fresh session and another IP, a run tells you exactly which searches succeeded, and a keyword that returns no data is not charged.
What you get for each keyword
- Interest over time: the 0-100 curve, one point per hour, day, week or month depending on the period.
- Trend figures, already computed: average, peak value and peak date, latest value, change in percent between the start and the end of the period, and a plain
rising,stableorfallinglabel. - Interest by region: countries when you search worldwide, states or provinces inside a country, cities or US metro areas on request.
- Related queries: top and rising searches, with the growth in percent and a
breakoutflag. - Related topics (optional, off by default): top and rising topics, when Google returns them.
- A ready-made CSV: one line per date, one column per keyword, in the key-value store under
TIMELINE. It opens straight in Excel or Google Sheets.
What it is for
- SEO and content: find which keyword is growing before you write about it, and which rising queries surround it.
- E-commerce and product research: check whether demand for a product is seasonal, rising or fading, and in which regions.
- Market and brand tracking: compare your brand with competitors on one scale, country by country.
- Finance and research: search interest as a signal for a company, a coin or a topic, as clean time series.
- Dashboards and AI agents: schedule a run and read the same structure every day through the API.
How to use it
- Type one or more search terms, one per line.
- Choose a region (
US,FR,US-CA, or empty for worldwide) and a time range. - Turn on Compare the terms with each other if you want them on one shared scale.
- Click Start, then export the dataset as JSON, CSV or Excel, or download the
TIMELINECSV.
Example input
{"searchTerms": ["bitcoin", "ethereum"],"compare": true,"geo": "US","timeRange": "today 12-m","includeInterestByRegion": true,"includeRelatedQueries": true,"proxyConfiguration": { "useApifyProxy": true }}
Several regions at once: "geo": "US, GB, DE" runs every term in every region. Custom dates: "customTimeRange": "2026-01-01 2026-06-30".
Example output
One row per keyword and region. Lists are shortened here.
{"keyword": "air fryer","geo": "US","timeRange": "today 12-m","searchType": "web","category": 0,"comparedWith": [],"hasData": true,"averageInterest": 66.6,"peakValue": 100,"peakDate": "2026-04-12","latestValue": 55,"changePercent": 4,"trend": "stable","interestOverTime": [{ "date": "2025-10-05", "value": 57 },{ "date": "2025-10-12", "value": 53 },{ "date": "2026-10-04", "value": 62, "isPartial": true }],"interestByRegion": [{ "geoCode": "US-WY", "geoName": "Wyoming", "value": 100 },{ "geoCode": "US-KS", "geoName": "Kansas", "value": 38 }],"relatedQueries": {"top": [{ "query": "ninja air fryer", "value": 100 }],"rising": [{ "query": "best air fryer 2026", "growth": "Breakout", "growthPercent": null, "breakout": true }]},"relatedTopics": { "top": [], "rising": [] },"trendsUrl": "https://trends.google.com/trends/explore?q=air+fryer&date=today+12-m&geo=US","scrapedAt": "2026-10-06T12:41:08.512Z"}
Fields
| Field | Description |
|---|---|
keyword, geo, timeRange, searchType, category | What was searched. geo is WORLDWIDE when no region was given |
comparedWith | The other terms of the same comparison group, empty when the term was measured alone |
hasData | false when Google Trends has too few searches for this term, region and period (fewer than three points above zero). Such rows are free |
interestOverTime | date, value (0-100, null when Google has no data for that point) and isPartial on the last, incomplete point |
averageInterest, peakValue, peakDate, latestValue | Computed from the timeline, incomplete last point excluded |
changePercent, trend | Average of the last quarter of the period compared with the first quarter. rising from +15%, falling from -15%, otherwise stable. Empty on very short timelines |
interestByRegion | geoCode, geoName, value, highest first |
relatedQueries, relatedTopics | top (0-100 scale) and rising (growth, growthPercent, breakout) |
missing | Present only when Google refused one optional block for this keyword |
trendsUrl | The same search on Google Trends, to check a figure by eye |
How to read the numbers
Google Trends does not publish search volumes. Every value is relative: 100 is the highest point of the chart, 50 is half of it. Two consequences worth knowing:
- Without comparison, each keyword has its own scale, so 80 for one term and 40 for another tells you nothing about which is bigger. Turn Compare on for that.
- A comparison holds at most five terms. With more, the Actor makes groups of five in the order of your list; values are comparable inside a group, not across groups. Put a common reference term in each group if you need to chain them.
Run summary
Each run stores a RUN_SUMMARY record in the key-value store: for every search, its status and the number of attempts it took, plus request, retry and replaced-session counts. A search that fails is reported there and in the log; it does not fail the run and is not charged.
Limits
- Relative values only, as explained above. No tool can get absolute volumes out of Google Trends.
- Related topics are usually empty. Google rarely returns that block any more, so it is off by default; related queries are the reliable one.
- Small terms return nothing. A niche keyword in a small region over a short period has no data on Google Trends itself.
- Hourly data only exists for short ranges (up to 7 days). Five years gives weekly points, 2004 to present gives monthly points.
- Keep the proxy on. From a single IP, Google blocks after a few dozen requests. The Actor then stops at once with a clear message instead of insisting.
- "Trending now" (the daily list of trending searches) is a different Google product and is not covered.
FAQ
Can I reuse the input of another Google Trends scraper? searchTerms, timeRange, geo, category and isMultiple keep their usual names and meaning. Unknown keys are ignored.
Why is changePercent empty? The timeline is too short, or the first quarter of the period is at zero.
Is this legal? The Actor reads aggregated, anonymous statistics that Google publishes for anyone. It collects no personal data.
Something is missing or broken? Open an issue on the Issues tab with the term, region and period you tried.