Google Trends Scraper - Trending, Interest & Related Queries
Pricing
$1.00 / 1,000 trend record scrapeds
Google Trends Scraper - Trending, Interest & Related Queries
Scrape Google Trends without a browser: real-time trending searches with traffic volume and news per country, plus interest-over-time, interest-by-region and top/rising related queries for any keyword list. Batch multiple keywords and geos in one run at $0.001 per result.
Pricing
$1.00 / 1,000 trend record scrapeds
Rating
0.0
(0)
Developer
James White
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
15 hours ago
Last modified
Categories
Share
Google Trends Scraper – Trending, Interest & Related Queries
Get Google Trends data as clean rows – no browser, no API key, no setup. This Actor reads Google Trends' own public feeds and data endpoints and turns them into a dataset you can export to Excel, CSV, JSON or push into your own tools.
Four things in one Actor:
- Trending – what people are searching right now in a country, with approximate traffic volume, when the topic started trending and the news stories Google links to it.
- Interest over time – the 0–100 popularity curve for any keyword, per week/day/hour depending on the timeframe.
- Interest by region – which states, regions or countries search a keyword the most.
- Related queries – the top and rising searches people do around your keyword (including “Breakout” risers).
You can pass several keywords and several countries at once – every keyword is scraped for every country in a single run.
Price
$0.001 per result row (pay per result, on top of Apify platform usage). A 10-country trending run of ~20 topics each costs about $0.20.
Inputs
| Field | Type | Default | What it does |
|---|---|---|---|
| mode | string | trending | trending, interestOverTime, interestByRegion or relatedQueries. Everything except trending needs search terms. |
| searchTerms | array of strings | [] | Keywords to analyse, e.g. ["bitcoin", "ethereum"]. Needed by every mode except trending. |
| geo | array of strings | ["US"] | Country or region codes such as ["US", "GB", "IN"]. Every keyword is scraped for every code. [""] means worldwide, which works in the keyword modes but not in trending (Google has no worldwide trending feed). |
| timeframe | string | today 12-m | now 1-d, now 7-d, today 3-m, today 12-m, today 5-y, or a date range like 2025-01-01 2025-12-31. Ignored in trending mode. |
| category | integer | 0 | Google Trends category ID. 0 = all, 7 = finance, 71 = food & drink. |
| property | string | "" | Search surface: "" (web search), images, news, froogle (Google Shopping) or youtube. |
| includeNews | boolean | true | In trending mode, attach the news headlines, sources and links Google shows for each topic. |
| hl | string | en-US | Language used for the request, e.g. en-US, de, es. |
| maxItems | integer | 500 | Maximum rows for the whole run. 0 means as many as available, up to 20,000. You are never charged for more rows than this. |
Example inputs
Trending searches in three countries, with news:
{ "mode": "trending", "geo": ["US", "GB", "IN"], "includeNews": true, "maxItems": 200 }
Weekly interest in two keywords over the last year:
{ "mode": "interestOverTime", "searchTerms": ["bitcoin", "ethereum"], "geo": ["US"], "timeframe": "today 12-m" }
Rising and top searches around a keyword in two markets:
{ "mode": "relatedQueries", "searchTerms": ["black friday"], "geo": ["US", "GB"], "timeframe": "today 3-m" }
Output
One row per data point. Every row has mode, keyword, geo, sourceUrl and scrapedAt; the other fields depend on the mode.
| Mode | Fields filled |
|---|---|
trending | rank, trafficVolume (e.g. 200000), trafficVolumeFormatted (e.g. "200K+"), trendStartedAt, isActive, date, and newsArticles (title, source, url, picture) when includeNews is on |
interestOverTime | date, timestamp, value (0–100), isPartial (true for the current, unfinished period), timeframe |
interestByRegion | regionName, regionCode, value (0–100), timeframe |
relatedQueries | relatedQuery, queryType (top or rising), queryValue (a score for top queries; a growth label such as "+450%" or "Breakout" for rising ones), rank, timeframe |
relatedTerms is included for compatibility but is currently always empty.
Example interestOverTime row:
{"mode": "interestOverTime","keyword": "bitcoin","geo": "US","timeframe": "today 12-m","date": "2026-03-01T00:00:00+00:00","timestamp": 1772323200,"value": 67,"isPartial": false,"sourceUrl": "https://trends.google.com/trends/api/widgetdata/multiline","scrapedAt": "2026-09-27T07:05:12+00:00"}
Export as JSON, CSV, Excel or XML from the run's Storage tab, or fetch it through the Apify API.
Good to know
- Values are relative, not search counts. Google scales every series so its peak is 100. Compare keywords in the same run and region, not across runs.
- Google limits request rates. The Actor paces its requests, waits and retries when Google asks it to slow down, and stops cleanly if Google keeps refusing, rather than hammering the service. Very large keyword lists are best split over several runs.
- Low-volume keywords may return no related queries or regional data. Google only publishes these when there is enough search volume.
- What it does not do: no logins, no browser, and no personal data. Everything returned is aggregate trend statistics and public news headlines.
Is this allowed?
The Actor reads public, unauthenticated Google Trends pages and data endpoints and collects aggregate statistics only. Google's Terms of Service discourage automated access, so review them for your use case, keep runs modest, and use the data responsibly.
Support
Found a problem or need a field added? Open an issue on the Actor's Issues tab and include the run ID.