Compare how search interest in a few terms changes over time, and export the results to a spreadsheet. The Actor collects interest over time, related queries, regional interest and the public trending-searches feed. Related topics are also available, but Google often returns them empty.
This Actor uses Google Trends website endpoints and its public RSS feed. It is not Google's official API and is not affiliated with Google. Google also offers a separate Trends API alpha, with its own access requirements.
Start with a small run
The form opens with a ready comparison: iced coffee and cold brew in the United States over the Past 12 months, with Interest over time selected. Start it as it is, or replace the two terms with your own.
- Enter up to five Search terms, one per line (a comma also separates terms). Keep terms you want to compare in the same run.
- Choose Results to collect. For a comparison, Interest over time is enough.
- Choose Country and Time range.
- Start the run and open its dataset. Download it as CSV, Excel or JSON.
On 2 October 2026 this comparison returned 106 rows (53 weekly values per term). Google chooses the intervals, so the row count can differ slightly between runs.
Custom dates (optional) is only for an exact period. Category, region detail, language and proxy settings are under Advanced options; you do not need them for a first run.
Choose what to collect
| You want | Form settings |
|---|
| Compare terms over time | Enter Search terms; select Interest over time; choose the country and time range. |
| Related searches | Enter terms; select Related and rising queries. |
| Geographic interest | Enter terms; select Interest by region. Adjust Region detail only if needed. |
| Current trending searches | Select only Trending now; choose Country for Trending now. Search terms and Time range are not used by this feed. |
| Related topics | Enter terms; select Related topics (limited availability). Empty lists are common. |
Each selected type adds its own rows, so you can select several in one run. All rows go to the run's dataset, and the dataType column tells the types apart: filter on it to keep one type. The values are listed under Results to collect and availability below.
A small regional-interest request:
{
"searchTerms": ["cold brew"],
"dataTypes": ["interest_by_region"],
"geo": "US",
"timeframe": "today 3-m",
"regionResolution": "REGION"
}
Trending searches need no search terms:
{
"dataTypes": ["trending_now"],
"trendingGeo": "US"
}
Countries and dates
Choose countries by name. Country applies to interest over time, related data and regional interest; Worldwide is also available. Country for Trending now is a separate setting used only by Trending now.
For Time range, pick a preset such as Past 7 days, Past 3 months or Past 12 months. For an exact period, fill in Start date and, if you like, End date; they override the preset. Without an end date the range runs to today. A reversed or invalid date stops the run with an explanation before any data is requested.
Results to collect and availability
dataType | One row represents | What to expect |
|---|
interest_over_time | A keyword at one returned time point | Relative interest; Google chooses the intervals |
related_queries | A related query for one keyword, in the top or rising list | Lists can be empty or blocked |
related_topics | A related topic for one keyword, in the top or rising list | Often empty; not guaranteed |
interest_by_region | A keyword in one geographic area | Depends on the term, country and region detail |
trending_now | One item from the country's trending feed | A current snapshot, not a full archive |
Related topics are requested separately for each keyword, because Google can leave them out of comparison requests. Topic scores rank topics within one keyword; they are not comparable between keywords. In September 2026 tests, Google returned empty topic lists for several ordinary keywords. Empty lists are reported as empty; the Actor never fills them with related queries or invented topics.
Retries and proxy rotation help with temporary failures. They cannot guarantee complete data or uninterrupted access to Google.
Regional results leave out places where Google explicitly reports insufficient data for a term. A zero score that Google marks as available is kept.
Input reference
| Field | API default | Meaning |
|---|
searchTerms | None | Up to five keywords; not needed for trending searches |
dataTypes | interest_over_time and trending_now | Result types from the table above |
geo | Empty (worldwide) | Country code for keyword research, such as US or FI |
timeframe | today 12-m | For example today 5-y, now 7-d, or YYYY-MM-DD YYYY-MM-DD |
startDate | None | Exact start date, YYYY-MM-DD. Without an end date, the range runs to today. |
endDate | None | Optional end date, on or after startDate. Custom dates override timeframe. |
category | 0 | Google Trends category ID; 0 means all categories |
language | en-US | Language of Google's labels; results are not translated |
regionResolution | COUNTRY | COUNTRY (worldwide searches; with a country chosen, its regions are used), REGION, CITY or DMA (United States only; other countries fall back to REGION) |
trendingGeo | US | Country of the trending feed. It does not follow geo; set it for any other country. |
proxyConfiguration | Residential proxy | You can set direct or custom routing, or your own proxy URL |
The form opens with example values (iced coffee, cold brew, United States, Interest over time). API requests do not get these values; they use the defaults above. A comma separates terms, so "iced coffee, cold brew" is read as two terms, like on Google Trends itself. Only the first five terms are used, and the run says which. Some valid-looking country and time combinations can still fail at Google.
Output reference
Rows come in five shapes, identified by dataType:
| Type | Fields in addition to dataType |
|---|
| Timeline | keyword, geo, timeframe, date, dateUtc, timestamp, value, isPartial |
| Related queries | keyword, geo, timeframe, relatedQuery, kind, value, formattedValue, link |
| Related topics | keyword, geo, timeframe, topicTitle, topicType, kind, value, formattedValue, link |
| Regions | keyword, geo, timeframe, resolution, geoName, geoCode, value, plus latitude and longitude for cities |
| Trending | geo, rank, query, approxTraffic, pubDate, relatedNews |
A timeline row from the 2 October 2026 run:
{
"dataType": "interest_over_time",
"keyword": "cold brew",
"geo": "US",
"timeframe": "today 12-m",
"date": "Jun 21 – 27, 2026",
"dateUtc": "2026-06-21",
"timestamp": "1782000000",
"value": 100,
"isPartial": false
}
date is Google's own label. Use dateUtc (YYYY-MM-DD, with the time for 24-hour and 7-day data) to sort or chart; timestamp is the same moment in Unix seconds, as text. isPartial is true for an unfinished interval. Unknown values stay null.
For related data, kind tells top and rising lists apart. Rising values describe growth, not 0-100 interest, and formattedValue keeps labels such as Breakout. link opens the same comparison on Google Trends. For trending items, approxTraffic is Google's rounded label, not an exact count, and relatedNews holds up to five headlines, not articles or links.
Reading the numbers
Interest values are relative scores, not search counts. Zero can mean too little data to report, not zero searches. Requesting 90 days does not guarantee 90 time points, because Google chooses the intervals. Separate runs can be scaled differently, so only compare values from the same run.
Run report
RUN_REPORT in the run's key-value store gives the status of each requested result type, for people and for automation. Each type is marked ok (rows returned), empty (no rows and no detected error), failed (a request or parsing error) or skipped (search terms missing).
A run can succeed while one type is empty or failed, so check the report when completeness matters. If every requested type fails, the run fails.
Pricing
$29 a month to rent it, after a one-day free trial. Cancel at any time; access runs to the end of the month you paid for.
Runs use compute and residential proxy traffic, paid from your Bytewells credit at Bytewells' rates, separately from the rental. Most runs are small: in tests on Bytewells, two terms over 12 months used $0.0015 of credit, and all five result types for two terms used $0.0061.
There is no charge per row, so large comparisons and frequent schedules cost the same rental.
Common questions
Is there an official Google Trends API?
Google offers a separate Trends API alpha through an application process. This Actor reads Google Trends website endpoints and the public trending-searches feed; it does not require access to that alpha.
Is this a pytrends alternative?
Yes. The pytrends repository was archived in April 2025. This Actor handles bounded retries and proxy connections and returns the same kinds of data as rows.
Why does the interest only go up to 100?
Google Trends shows relative interest. 100 is the peak for the terms and period you compared, not 100 searches. Keep terms you want to compare in the same run.
How many terms can I compare?
This Actor supports up to five terms per comparison. If you enter more, only the first five are used.
How much does it cost?
$29 a month, plus the compute and proxy traffic your runs use. See Pricing above.
Support
CleanScrape maintains this Actor for one-off research and recurring workflows. We investigate reported errors, update the Actor when Google changes, and test changes against existing inputs and output formats.
| What you see | What to try |
|---|
| No related topics | Expected for many terms; check RUN_REPORT. |
| Keyword results skipped | Add Search terms. Only Trending now works without them. |
| HTTP 429 or blocked requests | Keep the residential proxy on and try a smaller run later. |
| More credit used than expected | Each selected result type makes its own requests: keep only the types you need. |
| Fewer time points than expected | Google chose a longer interval for the time range. |
If something still looks wrong, email [email protected] with the run ID, a short input example and the result type affected. Never include API tokens or private data.
Disclaimer
This Actor is an independent tool developed by CleanScrape. It is not affiliated with, endorsed by, or sponsored by Google. It is not an official Google Trends API. Google, Google Trends and all other trademarks are the property of their respective owners. Brand names are used only to identify supported sources and illustrate usage.