Google Trends Scraper API for Interest Over Time
Pricing
from $2.40 / 1,000 results
Google Trends Scraper API for Interest Over Time
Compare Google Trends keywords for SEO and seasonal research. Export relative interest over time, interest by region, related queries and trending searches from Trending now to CSV or JSON. Choose your country and date range. A pytrends alternative with no Python setup. Maintained by CleanScrape.
Pricing
from $2.40 / 1,000 results
Rating
5.0
(1)
Developer
CleanScrape
Maintained by CommunityActor stats
1
Bookmarked
10
Total users
3
Monthly active users
7 hours ago
Last modified
Categories
Share
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 Interest over time in the Output tab. To download it, open Storage > Dataset, choose Interest over time, then CSV, Excel or JSON.
On 2 October 2026 this comparison returned 106 rows (53 weekly values per term) and cost $0.368 at base prices: $0.05 at startup plus 106 x $0.003. 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.
Watch: compare two search terms
Let's use a Christmas tree seller as an example. The video follows a real run comparing artificial and real Christmas tree searches in the United States over five years, from the input form to the weekly rows, the related queries and the CSV/Excel export.
The chart in the video is drawn from the exported interest-over-time rows. The coffee example below shows the same kind of rows for two other terms.
Selected rows from the 2 October 2026 run:
| Week | Keyword | Relative interest | Partial week? |
|---|---|---|---|
| Dec 21 โ 27, 2025 | iced coffee | 41 | false |
| Dec 21 โ 27, 2025 | cold brew | 35 | false |
| Jun 21 โ 27, 2026 | iced coffee | 68 | false |
| Jun 21 โ 27, 2026 | cold brew | 100 | false |
| Sep 27 โ Oct 3, 2026 | cold brew | 45 | true |
Cold brew reached the peak of the comparison (100) in late June, while iced coffee stayed lower. These are relative interest values, not search counts: 100 is the highest point in this comparison, not 100 searches. The last week is marked partial because it had not finished.
More examples
- Weekly Google Trends report for Google Sheets: three coffee terms in the US over the past 12 months, one row per term and week (159 rows, about $0.53 at base prices). Schedule it weekly with the Google Sheets integration.
- Compare ChatGPT and Claude in the United States: interest over time for the past three months. In a September run it returned 186 daily rows, about $0.61 at base prices. For a step-by-step guide to turning the rows into a chart, read Compare Google Trends terms in a spreadsheet.
- Export current US trending searches: no search terms needed. Ten rows cost $0.08 at base prices, including startup. The feed size varies.
- Compare Nike and Adidas search interest: Weekly worldwide Google Trends interest for Nike and Adidas over the past 12 months, ready for a chart.
- Find rising searches related to air fryers: Related and rising Google searches for 'air fryer' in the United States over the past 12 months, for content and product ideas.
- See which US states search for pickleball most: Google Trends interest by US state for pickleball over the past 12 months.
- Download Google Trends data as CSV for the past year: Weekly Google Trends interest for bitcoin over the past 12 months, as rows you can export to CSV, Excel or JSON.
Choose what to collect
| You want | Form settings | Output view |
|---|---|---|
| Compare terms over time | Enter Search terms; select Interest over time; choose the country and time range. | Interest over time |
| Related searches | Enter terms; select Related and rising queries. | Related queries |
| Geographic interest | Enter terms; select Interest by region. Adjust Region detail only if needed. | Interest by region |
| Current trending searches | Select only Trending now; choose Country for Trending now. Search terms and Time range are not used by this feed. | Trending now |
| Related topics | Enter terms; select Related topics (limited availability). Empty lists are common. | Related topics |
Each selected type adds its own rows and has its own table in the Output tab, so you can select several in one run. All rows keeps every row together, with a dataType column. To download one table, open Storage > Dataset, choose it in the Dataset menu, then CSV, Excel or JSON. The Export button at the top downloads All rows. From the API, the run's storageIds.datasets lists the tables (timeline, relatedQueries, relatedTopics, regions, trending); the default dataset is All rows. related_queries and related_topics hold the same rows, for integrations built before October 2026.
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 Apify Proxy | You can set direct or custom routing explicitly |
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
Open Run summary in the Output tab for a readable status of each requested result type. RUN_REPORT in the run's key-value store has the same information 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
$3 per 1,000 rows ($0.003 each), plus a startup fee of $0.05 per GB of memory, at least one per run. The default memory is 1 GB, so most runs pay one startup fee. Every selected result type adds rows. The startup fee applies even when no rows are returned.
| Billable unit | Base / Free tier | Bronze (-10%) | Silver (-15%) | Gold, Platinum, Diamond (-20%) |
|---|---|---|---|---|
| Startup, per GB of memory | $0.05 | $0.045 | $0.0425 | $0.04 |
| 1,000 rows | $3.00 | $2.70 | $2.55 | $2.40 |
Apify applies your tier's price automatically; the Pricing tab shows your rate. Base-price examples:
| One run | At the 1 GB default | With 4 GB memory |
|---|---|---|
| 24 rows | $0.122 | $0.272 |
| 106 rows (the coffee example) | $0.368 | $0.518 |
| 1,000 rows | $3.05 | $3.20 |
Some other Trends Actors charge one result for a whole keyword history, so compare the total cost of the same data when choosing a tool.
Maximum cost per run covers both the startup fee and the rows. If the next row would go over it, the Actor stops and says so in the run summary. If a run is restarted, rows already saved are kept and are not exported or charged again; Apify may charge another startup fee for the restart.
Weekly Google Trends report in Google Sheets
Keep a sheet that updates itself every week with the latest interest for your terms:
- Enter up to five terms, a country and Past 12 months as the time range, and keep only Interest over time under Results to collect.
- Save it as a task and add a weekly schedule.
- In the task's Integrations tab, add the Google Sheets Import & Export integration and connect your Google account. Choose replace mode, paste your spreadsheet's ID, and enter
{{resource.defaultDatasetId}}as the dataset ID.
The ready-made example Weekly Google Trends report for Google Sheets has step 1 filled in. Every week the sheet then holds the latest 12 months, one row per term and week, ready for a chart. Replace mode fits Trends best: Google rescales each request, so values from different runs should not be mixed in one chart. Keep one task per comparison, for example your brand against two competitors. Three terms over 12 months are about 160 rows: around $0.53 a run, or $2.30 a month, at the base price.
API and recurring workflows
Use the API tab for ready-made code examples, and keep your API token secure. To track terms regularly, save a task, add a schedule, and fetch each run's dataset through the API or your automation tool. Keep the keyword, country, time range and row type with each value. The Actor does not keep history between runs, send alerts or make forecasts.
Use it from an AI agent
This Actor works as a tool in Claude, Cursor and other AI assistants that support MCP, through Apify's MCP server. Add this server and sign in with your Apify account when asked:
https://mcp.apify.com?tools=cleanscrape/google-trends-scraper
Then ask in plain words, for example: "Compare Google Trends interest for "electric bike" and "e-scooter" in Germany over the past 12 months." The assistant runs the Actor in your Apify account and reads the results. The price per result is the same as in Console.
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 available results through Apify.
If you already have pytrends code, use trendreq: the same TrendReq methods and DataFrames, running on this Actor. Change the import to from trendreq import TrendReq and set APIFY_TOKEN.
Or call the Actor directly:
from apify_client import ApifyClientclient = ApifyClient("YOUR_APIFY_TOKEN")run = client.actor("cleanscrape/google-trends-scraper").call(run_input={"searchTerms": ["iced coffee", "cold brew"],"dataTypes": ["interest_over_time"],"geo": "US","timeframe": "today 12-m",})for row in client.dataset(run["defaultDatasetId"]).iterate_items():print(row)
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?
$3 per 1,000 rows plus a $0.05 start fee at the default 1 GB of memory. Two terms over 12 months come to about $0.37. 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 the run summary. |
| 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. |
| Higher cost than expected | Count the rows of every selected result type, and the startup fee per GB of memory. |
| Fewer time points than expected | Google chose a longer interval for the time range. |
If something still looks wrong, open an issue or email contact.cleanscrape@gmail.com with the run ID, a short input example and the result type affected. Never include API tokens or private data.
What worked well, and what could be better? Share your experience in Reviews. Honest feedback is welcome, including anything that fell short. Leaving feedback is optional and does not affect access, pricing or support.
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.
More tools from CleanScrape
- Casino Bonus Checker: the casino bonus each affiliate and review site shows, with promo codes, 18+ notices and affiliate IDs
- Kick Sponsor Tracker: which brands Kick streamers promote, with promo codes, affiliate links and broadcast hours
- Google Jobs Scraper: job listings with salaries, descriptions and apply links from Google Jobs
- App Store Reviews & Google Play Reviews Scraper: reviews from both app stores in one table
- Map Your Show Exhibitor List Scraper: trade show exhibitor lists and booth changes
- Shopify Product Reviews Scraper API: Judge.me and Okendo reviews from Shopify product links
- Google News Scraper and RSS Feed Reader: headlines from Google News and publisher feeds
- Pinterest Scraper API: keyword search, public pin links and board previews; search results may lack a pin link
- Google Hotels Scraper: hotel prices and booking offers for your dates
- TikTok Shop Product Scraper: US TikTok Shop prices, sellers and ratings
- Whatnot Seller Tracker: top Whatnot sellers per category, items sold, sales per day and followers over time
- Whatnot Scraper: Whatnot listings with prices and live shows by keyword or category
- Meta Threads Scraper: public Threads posts from accounts or post links
- Likee Scraper API: Likee videos and comments
- Flashscore Tennis Scraper: tennis results, statistics, point-by-point and head-to-head
- Bilibili Scraper: Bilibili videos, danmaku, top comments and creators, no login
- ATP and WTA Tennis Rankings Scraper: current ATP and WTA singles, doubles and race rankings with points and movement
- Career Page Jobs Scraper for Workday, Greenhouse and Lever: open jobs from company career pages, with salaries and new or closed jobs per company
- Video Frame Extractor for Scene Changes and Thumbnails: still images from video files at scene changes, intervals or timestamps, with contact sheets
- Economic Calendar Scraper for Official Release Dates: CPI, jobs, GDP and central bank decision dates from the official agencies of five economies, with UTC times