Google Trends Interest & Related Query Scraper
Pricing
from $0.99 / 1,000 results
Google Trends Interest & Related Query Scraper
Get interest-over-time, interest-by-region, and related topics/queries for any keyword, location, time range and Google surface, with side-by-side comparison for up to five keywords.
Pricing
from $0.99 / 1,000 results
Rating
0.0
(0)
Developer
vexaloom-labs
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
21 hours ago
Last modified
Categories
Share
Pull the same interest-over-time, regional breakdown, and related-query data that Google Trends' Explore tool shows for any keyword, location, time window and category combination. Run a single keyword or compare up to five side by side.
What this actor does
- Scrapes interest-over-time, interest-by-region, related topics and related queries for one or more search terms in a single run.
- Supports Google Trends' comparison view — up to 5 keywords plotted on the same relative scale — as an alternative to scraping each keyword independently (one row per keyword).
- Lets you pick a country, state/region or metro area from the location dropdown, one of nine preset time windows or a custom date range, a Trends category, and a search surface (Web, Image, News, Shopping, or YouTube). One location, time window, category and surface apply to the whole run.
- Returns a ready-to-click
exploreUrlback to the equivalent query on trends.google.com for manual spot-checking. - Keeps every field on every row: when Google has no data for a widget, that field comes back as an empty list (or empty
top/risinglists) andaverageInterestas0, and worldwide/Web Search rows carry an empty-stringgeo/searchType.
Output per query
| Field | Description |
|---|---|
searchTerms | The keyword(s) analyzed in this row. |
geo, geoName | Location code and its readable name (empty geo means worldwide). |
timeRange, timeRangeLabel | The time-window token sent to Google and its readable label. For a custom range both hold the date range you entered. |
category, categoryName | Google Trends category ID and its readable name. |
searchType, searchTypeLabel | Which Google surface was queried (Web, Images, News, Shopping, YouTube) and its label. |
interestOverTime | Time series points, each with date, formattedTime, and either value (single keyword) or a values[] breakdown per keyword (comparison mode). Interest is 0–100, relative to the peak in the requested window. |
averageInterest | Mean interest value across the series (a single number, or one per keyword in comparison mode). |
interestByRegion | Per-region rows (geoName, geoCode, value+formattedValue for a single keyword or values[] per keyword in comparison mode, maxValueIndex) ranking where interest is highest. |
relatedTopics | {top, rising} lists of related topics, each with title, type, mid (Google Knowledge Graph ID), value, formattedValue and, when available, a link to that topic on Google Trends. |
relatedQueries | {top, rising} lists of related search queries, each with query, value, formattedValue and, when available, a link to that query on Google Trends. |
exploreUrl | Link to the equivalent query on trends.google.com. |
scrapedAt | UTC timestamp of when the row was scraped. |
A keyword whose query still fails after repeated attempts is logged and skipped, so it produces no row; no error rows are written to the dataset.
Input
| Field | Type | Default | Description |
|---|---|---|---|
searchTerms | List of strings | – | One or more keywords to analyze. Required. |
compareMode | Boolean | false | Compare all search terms side-by-side in one row instead of scraping each independently. Only the first 5 terms are used; with a single term it behaves like normal mode. |
geo | String (select) | "" (Worldwide) | Country, state/region, or metro to analyze. Leave empty for worldwide. |
timeRange | String (select) | today 12-m | Preset window: 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 custom. |
customDateRange | String | – | Only used when timeRange is custom. Format YYYY-MM-DD YYYY-MM-DD, or YYYY-MM-DDTHH YYYY-MM-DDTHH for hourly granularity. |
category | String (select) | 0 | Google Trends category ID. 0 means all categories. |
searchType | String (select) | "" (Web Search) | Google surface to query: "" (Web), images, news, froogle (Shopping), or youtube. |
geoResolution | String (select) | "" (Auto) | Override the interest-by-region breakdown level: COUNTRY, REGION, DMA, or CITY. |
proxyConfiguration | Object | – | Apify proxy settings (the form is prefilled with a residential proxy). If you clear it, the run goes without a proxy and Google is more likely to rate-limit it. |
Example: single keyword over the last 12 months
{"searchTerms": ["tesla"],"geo": "US","timeRange": "today 12-m"}
Example: compare three keywords worldwide over 5 years
{"searchTerms": ["tesla", "ford", "toyota"],"compareMode": true,"geo": "","timeRange": "today 5-y","category": "47"}
Example: custom date range at US state level
{"searchTerms": ["pizza"],"geo": "US-NY","timeRange": "custom","customDateRange": "2024-01-01 2024-12-31"}
Example: multiple independent keywords on YouTube search
{"searchTerms": ["bitcoin", "ethereum", "dogecoin"],"geo": "US","timeRange": "today 1-m","searchType": "youtube"}
Use cases
- SEO and content planning — spot rising related queries and topics before writing content around a keyword.
- Brand and campaign tracking — watch interest in a brand or product name over time and across regions.
- Competitive comparison — put your brand against competitors in comparison mode to see relative search interest.
- Market entry research — use interest-by-region to find which countries or states already show demand for a topic.
- Seasonality analysis — pull a multi-year time range to see recurring seasonal peaks for a product category.
FAQ
Why are the interest values 0–100 instead of raw search counts? Google Trends never exposes absolute search volume — it only reports interest normalized to 100 within the requested time range and location, and this actor returns exactly those normalized numbers.
Does this cover Google's "Trending Now" / real-time trending feed? No. This actor scrapes the Explore keyword-analysis surface (interest over time, by region, and related terms), not the separate real-time trending feed.
Why is a field sometimes an empty list? Google has no data for that widget in that location/time combination — for example, a niche keyword in a small country may have no regional breakdown — or the widget could not be loaded during the run. The actor returns an empty array in that case rather than guessing.
Why is relatedTopics sometimes empty while relatedQueries is not? The two lists come from separate Google Trends widgets, and Google can return data for one and nothing for the other on the same query. The actor reports each exactly as Google returns it.
How many search terms can I run at once? There is no cap in normal mode — every keyword becomes its own dataset row, queried one after another. In comparison mode only the first 5 keywords are used, matching Google Trends' own compare view; any extra terms are dropped.
What's the difference between comparison mode and running keywords independently? Comparison mode plots all keywords on the same relative 0–100 scale in one set of rows, which shows relative popularity between them. Independent mode scores each keyword against its own peak, which is better for absolute per-keyword trends.
Is this affiliated with Google? No. This is an independent tool and is not affiliated with, endorsed by, or sponsored by Google.