Google Trends Scraper | Keyword Data API
Pricing
from $0.25 / 1,000 results
Google Trends Scraper | Keyword Data API
Export Google Trends timelines, regional interest, related queries and Trending Now results. Compare keywords with explicit value scales; download JSON or CSV. With comparison off, export large keyword lists (tested at 100), each keyword on its own scale; with it on, groups of up to 5 share a scale.
Pricing
from $0.25 / 1,000 results
Rating
0.0
(0)
Developer
Eli J
Maintained by CommunityActor stats
0
Bookmarked
24
Total users
13
Monthly active users
2 days ago
Last modified
Categories
Share
What you can export
Use this Google Trends scraper and data API for bulk keyword research: export interest over time, interest by region and related queries for a list of keywords, or the Trending Now board for a country. Download the rows as JSON or CSV, or read them through the Apify API.
It is built for repeat batch jobs:
- Large keyword lists in one run. With comparison off, each keyword gets its own 0–100 scale. A 100-keyword test run completed all 100 keywords.
- Only the datasets you pick. You pay per result row, so leaving out a dataset leaves out its rows.
- A cost ceiling. Set a maximum cost for the run and it stops once that cost is reached.
- Incomplete output is reported. The run's
SUMMARYrecord says whether every requested keyword and dataset was read.
Every row carries its dataType, and keyword rows carry a valueScale, so you can tell a 0–100 index from a search volume or a growth percentage.
Try it
The input form opens with two sample keywords, air fryer and espresso machine. Run it unchanged for a first look at all three keyword datasets, worldwide, over the past 12 months.
Or start from a published task:
- Export Google Trends for 100 keywords in one run: 100 sample keywords, each on its own scale, worldwide interest over the past 12 months. The test run returned 5,300 rows; counts vary. The task uses the RESIDENTIAL proxy group, which bills by traffic and needs residential proxy access on your Apify account, and sets a maximum cost of $9 per run.
- Find rising related queries for a keyword in the US
- Compare two keywords on one Google Trends scale (US)
- What is trending on Google in the US right now
- Research worldwide Google Trends for kitchen appliances
- Summarize Google Trends for air fryers and espresso machines
Input
In keyword mode, only keywords is required (or a Trends URL in startUrls). In trending mode nothing is required; geo defaults to US.
| Field | Default | What it does |
|---|---|---|
mode | keywords | keywords (research) or trending (the Trending Now board). |
keywords | — | Search terms, or Google Trends topic IDs such as /m/0k8z. |
startUrls | — | Trends explore URLs; q, geo, date and cat are read from them. Keywords from several URLs are pooled; geo, date and category come from the first URL. |
geo | Worldwide | US, GB, DE, or a sub-region such as US-CA. |
timeRange | today 12-m | A preset (now 1-d, today 3-m, today 5-y, all, …) or a custom range like 2024-01-01 2024-12-31. |
dataTypes | all three | interest_over_time, interest_by_region, related_queries. |
compareKeywords | false | One scale per keyword, or a shared scale (below). |
includeKeywordInsights | false | Opt-in add-on; see Keyword insights. |
maxItems | — | Cap on result rows. |
maxRunSeconds | 3600 | Stop starting new batches after this long. 0 disables. |
proxyConfiguration | Apify Proxy on | Leave it enabled. |
Trending mode adds trendingHours (4, 24, 48 or 168), trendingCategories and trendStatus (all, active or ended). It ignores timeRange, dataTypes, category, searchType, compareKeywords, includeKeywordInsights, language, timezoneOffsetMinutes and maxRunSeconds. The Input tab describes the remaining fields: search type, category, language, retries, proxy rotation and timezone offset.
One scale per keyword, or a shared scale
With compareKeywords off, each keyword is fetched on its own and scored 0–100 against itself. You can pass any number of keywords. With it on, up to 5 keywords share one scale and are directly comparable; more than 5 are split into groups of 5, and keywords in different groups are not comparable to each other.
Output
One flat row per data point. Split the datasets by dataType.
Selected fields from an interest-over-time row of a September 25, 2026 run; values are a snapshot:
{"keyword": "air fryer","dataType": "interest_over_time","date": "2025-09-21T00:00:00+00:00","dateLabel": "Sep 21, 2025","value": 53,"valueScale": "index_0_100","hasData": true,"geo": "Worldwide","timeRange": "today 12-m"}
- Interest by region rows carry
geoCode,geoName,valueandhasData. Regions where Google has no signal are still written (and billed) withhasData: falseandvalue: 0, so the region list stays complete; filter onhasDatato drop them. - Related queries rows carry
rankType,query,valueandlink.TOPvalues are a 0–100 index;RISINGvalues are growth percentages. - Trending Now rows carry
term,searchVolume,growthPercent,isActive,categoryIds,breakdownQueriesandtrendsUrl.
Keyword-mode values are relative popularity, not search volumes. With comparison on, region values become each keyword's percentage share (comparison_share_percent). Only Trending Now's searchVolume is an absolute figure, and it is Google's bucketed lower bound; treat it and growthPercent as floors.
Keyword insights (add-on)
In keyword mode, turn on includeKeywordInsights to get one summary per keyword with at least four emitted interest_over_time points whose hasData is not false. Each summary includes latest and mean values, minimum and maximum values with their dates, slope, percentage change between the means of the first and last quarters of the emitted series, rising-query count and a coverage flag. It is computed from rows the run already delivered and makes no extra Google requests. Insights go to the KEYWORD_INSIGHTS key-value record, not the dataset.
Pricing
You pay per result row, plus Apify's Actor Start event. Prices depend on your Apify plan:
| Plan | Per result row | Per keyword insight (add-on) |
|---|---|---|
| Free | $0.0015 | $0.01 |
| Bronze | $0.0008 | $0.0053 |
| Silver | $0.0004 | $0.0027 |
| Gold, Platinum, Diamond | $0.00025 | $0.0017 |
Actor Start is $0.00005 per event, charged once per GB of allocated memory (minimum one). The 100-keyword test run returned 5,300 rows: $7.95 at the Free rate or $1.325 at the Gold rate, plus the start event and, for that task, residential proxy traffic.
- Maximum cost per run. Once the cost you set is reached, the run requests no more data, stores no more rows and ends normally;
SUMMARYlistscharge_limitunderlimits. maxItemscaps emitted rows, not upstream requests or the start charge. Selecting fewer datasets or a narrower range can reduce output; actual row counts depend on Google.- Not charged: a run that returns no rows adds no result charge, and
SUMMARYandERRORSadd no result or event charge. - Keyword insight: charged once per insight written, only when
includeKeywordInsightsis on and the keyword has at least four emittedinterest_over_timepoints whosehasDatais not false. If the record write fails after the charge,ERRORSreports it askeywordInsightWrite.
Apify storage and dataset traffic can still incur charges under your plan.
Reliability and limits
A run writes a SUMMARY record to its key-value store. Its status is no_work when no work was selected and invalid_input for handled input rejection. Otherwise, it is complete when all requested work was processed with no failures, skips or observed row omissions, and incomplete otherwise. Completion does not prove Google supplied every possible data point. That status is separate from Apify's run status, so a SUCCEEDED run can still have incomplete output.
SUMMARY lists each work item's state (completed, failed or skipped; failures and skips include a reason) and reports rowsEmitted. rowsOmitted counts fetched rows withheld by maxItems or the run's maximum cost. limits names any limit reached (max_items, max_run_seconds or charge_limit). ERRORS lists the request failures the run handled; results from other work stay available.
When Google throttles requests, the run retries (maxRetriesPerRequest, default 8) and rotates proxy identities (rotateAfterRequests, default 24). In keyword mode, maxRunSeconds stops the run from starting new batches during a long outage.
SUMMARY and ERRORS can be missing after an abort, a timeout, an uncaught exception or a storage failure; a missing record does not mean the output is complete.
Limits:
- The Related topics widget is not offered.
- Long ranges return coarser buckets: 5 years is weekly,
allis monthly. That is Google's own resolution. - Trending Now is country-level: a sub-region code is read as its country, with a warning in the log.
- The Actor collects public, aggregated, non-personal statistics only.
FAQ
How do I export Google Trends data for many keywords at once?
Paste the list into keywords and leave compareKeywords off, so each keyword is scored on its own scale. Pick only the dataTypes you need and set a maximum cost for the run. The 100-keyword task is a working setup.
How do I find rising related queries for a keyword?
Include related_queries in dataTypes and keep the rows whose rankType is RISING. Their value is a growth percentage (valueScale: "growth_percent"), not a 0–100 index.
How do I compare two keywords on one Google Trends scale?
Set compareKeywords: true. Up to 5 keywords are fetched together; interest-over-time rows carry valueScale: "comparison_index_0_100".
How do I see what is trending on Google in a country right now?
Set mode to trending and geo to a country code; trendingHours sets the window.
Is this an official Google Trends API?
No. It is an independent Actor that reads public Google Trends data and returns it as rows you can download or fetch through the Apify API.
Are Google Trends values search volumes?
No. Interest-over-time and region values represent relative popularity, not search volumes. They use 0–100 indices except for comparison-mode region values, which are percentage shares. Related-query TOP values are 0–100 indices and RISING values are growth percentages; check valueScale before comparing numbers.
Related Actors
| Actor | What it exports |
|---|---|
| Kalshi Weather Markets | Price History API | Hourly or daily price candles for Kalshi weather markets |
| UFCStats Scraper | Fight & Round Statistics | UFC fight and round statistics as flat rows |
| Tennis Abstract Scraper | Match History API | ATP and WTA player match histories |
| Clutch Agency Scraper | B2B Directory Export | Agency listings from Clutch.co directories |
| Google Ads Transparency Scraper & Archive | Advertiser ad records from Google's Ads Transparency Center |
Support
Found a bug or need a dataset that isn't here? Open an issue on the Actor's Issues tab and I'll take a look.