Google Trends Scraper — Keywords, Related Searches & Category Rankings
Google Trends for any keyword — interest over time, top and rising related searches, and interest by region — and the top and rising searches of any of Google's 928 categories, in any country, region, or US metro area, over any of Google's time ranges.
key features
Keyword lookups: interest over time, top and rising related searches with Breakouts marked, and interest by region or city, in one row
Category rankings: the top and rising searches of any of Google's 928 categories, down to the third level, or of all of them
Any place: a country, a region inside one (US-CA, GB-SCT), a US metro area (US-CA-807), or worldwide
Every time range Google offers, from the past hour to everything since 2004, several in one run
Keywords looked up within a category, to tell one meaning from another: jaguar the car
Each lookup and each ranked search keeps its key from run to run, so scheduled runs add up to a history
A run summary that tells 'no data' from 'failed'; what Google refuses is tried again at the end of the run
use cases
- SEO and content planning: the rising searches around a topic, and the regions where it draws most
- Product and market research: whether interest in a product, a brand, or a category grows, stalls, or comes back every season
- Category watch: what people search for in Shopping, Travel, or any niche, month after month
- Data pipelines and dashboards: scheduled lookups across keywords, markets, and time ranges
- Giving AI agents Google Trends data through Apify's MCP server
input parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
keywords | array | optional | Searches to look up, each on its own, in every place and time range |
keywordCategory | string | optional | Look the keywords up within one category: its id, name, or path |
categories | array | optional | Categories whose top and rising searches to read: a name, a path, an id, or 0 for all categories together |
subcategories | boolean | optional | Rank each category's subcategories too, down to the third level |
allCategories | boolean | optional | Rank all 928 categories: about an hour and a half for each place and time range |
countries | array | optional | A country code, a region (US-CA), a US metro area (US-CA-807), or worldwide |
windows | array | optional | 1h, 4h, 24h, 7d, 30d, 90d, 12m, 5y, or all since 2004; the past 12 months by default |
maxItemsPerList | number | optional | At most this many searches from each top or rising list |
maxItems | number | optional | Stop after this many results in the whole run |
proxy | object | optional | Used for every request; Apify's residential proxy by default |
Output Example
A keyword lookup, bitcoin in the United States over the past 12 months:
1{
2 "recordType": "lookup",
3 "itemKey": "google|lookup|US|12m|all|bitcoin",
4 "keyword": "bitcoin",
5 "geo": "US",
6 "geoScope": "country",
7 "window": "12m",
8 "category": null,
9 "status": "ok",
10 "reason": null,
11 "points": [
12 { "time": "2025-10-05T00:00:00.000Z", "value": 37, "hasData": true, "partial": false },
13 { "time": "2025-10-12T00:00:00.000Z", "value": 40, "hasData": true, "partial": false },
14 { "time": "2026-09-27T00:00:00.000Z", "value": 16, "hasData": true, "partial": false },
15 { "time": "2026-10-04T00:00:00.000Z", "value": 17, "hasData": true, "partial": true }
16 ],
17 "relatedQueries": {
18 "top": [
19 { "query": "bitcoin price", "value": 100, "label": "100", "breakout": false },
20 { "query": "bitcoin stock", "value": 18, "label": "18", "breakout": false }
21 ],
22 "rising": [
23 { "query": "spcx stock", "value": 14250, "label": "Breakout", "breakout": true },
24 { "query": "spcx stock price", "value": 12750, "label": "Breakout", "breakout": true }
25 ]
26 },
27 "regions": [
28 { "code": "US-WY", "name": "Wyoming", "value": 100 },
29 { "code": "US-NV", "name": "Nevada", "value": 51 }
30 ],
31 "observedAt": "2026-10-09T07:32:28.150Z",
32 "url": "https://trends.google.com/trends/explore?date=today+12-m&geo=US&q=bitcoin"
33}
Trimmed for length: the row also carries platform and geoRequested, and the full row had a point for every week, 25 top and 25 rising searches, and every state. A category ranking is one row per search instead, with list set to explore_top or explore_rising: on 9 October 2026, quince led Shopping’s rising searches in the United States over 12 months, at +80%.
Tips
- Give an every-category run a timeout of two hours or more. All 929 rankings in one place over one time range take about an hour and a half; a run close to its time limit stops by itself and marks the rest
not_reached. - A lookup Google has no data for is still a row, with
status: "not_available"and Google’s reason, and it costs nothing. - Separate meanings with a keyword category:
jaguarin Autos & Vehicles is the car, not the animal. - Read the run’s
SUMMARYrecord to tell a keyword without data from a lookup that could not be read.
faq
Why is the highest point always 100?
What is a Breakout?
Which time ranges have category rankings?
Are related topics included?
related in ~/business
Google Trends Trending Now — Trending Searches in 125 Countries
Every trending search on Google right now, in 125 countries.
openGoogle Ads Scraper — Search, YouTube & Shopping Ads
Every Google ad a competitor runs — by domain, advertiser, or brand.
openAnytime Mailbox Scraper — Virtual Mailbox & CMRA Registry
Virtual mailbox locations worldwide, address-verified into a CMRA registry.
open