Google Trends Scraper & API - Bulk Keywords, Daily Data
Pricing
from $1.80 / 1,000 keyword series
Google Trends Scraper & API - Bulk Keywords, Daily Data
Google Trends API and pytrends alternative: interest over time for hundreds of keywords on one comparable scale, daily historical data for multi-year ranges, interest by region, related queries and Trending Now searches.
Pricing
from $1.80 / 1,000 keyword series
Rating
0.0
(0)
Developer
Mayowa Ogedengbe
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
11 hours ago
Last modified
Share
Google Trends Scraper
Scrape Google Trends for as many keywords as you like and get every number on one comparable scale. Google only compares five keywords at a time and rescales each comparison, so numbers from different comparisons can't be put side by side. This Actor links comparisons through shared keywords, so 500 keywords come back as if Google had compared them all at once. It also returns daily data over any range (even 2004 to today), interest by region, related and rising queries, and Trending Now with search volumes. No login, no API key, no five-keyword limit.
It is a practical Google Trends API alternative: Google's official Trends API is still an invite-only alpha, and the popular open-source libraries break on rate limits.
Sample output (real run: 10 drinks, US, past 12 months, one shared scale)
| Keyword | Average interest | Peak | Peak week |
|---|---|---|---|
| coffee | 76.5 | 100 | 2026-04-12 |
| tea | 36.6 | 45 | 2026-04-05 |
| espresso | 9.6 | 14.8 | 2026-04-12 |
| matcha | 6.2 | 8.6 | 2026-04-12 |
| energy drink | 3.7 | 7.9 | 2026-04-12 |
| chai | 3.0 | 4.2 | 2026-08-23 |
| cold brew | 2.0 | 3.4 | 2026-06-21 |
| kombucha | 1.1 | 1.6 | 2026-06-21 |
Google Trends only compares 5 terms at a time and rescales every request to 0-100. This Actor chains overlapping batches so every keyword sits on the same scale (validated within 0-1.7% of Google's own numbers), and the full time series comes with each row.
Why this one
| This Actor | pytrends / DIY | Typical Store alternative | |
|---|---|---|---|
| Keywords compared on one scale | Hundreds | 5 | 5 |
| Daily data for multi-year ranges | Yes, stitched and calibrated | Weekly or monthly only | Rarely |
| Rate limits (429) | Handled with session rotation | Breaks | Some fail 1 run in 4 |
| Price | $3 / 1,000 keyword series | Free, your time | $2 to $25 / 1,000, often plus start fees |
What it costs: 100 keywords with their time series = about $0.50.
What this Actor does
- Returns interest over time for any number of keywords or topics, for one or many locations.
- Normalizes across batches. Keywords beyond five are chained through shared "pivot" keywords, chosen so no keyword is lost to Google's rounding. Every value is on one scale where 100 is the single highest point in the run.
- Builds daily history over long ranges. Google switches to weekly data after about nine months and to monthly after five years. This Actor fetches daily windows and calibrates each one against the full-range series, so levels stay consistent across years.
- Adds interest by region at country, state, metro (US) or city level, and related queries, both top and rising, including Breakouts.
- Scrapes Trending Now: everything on trends.google.com/trending, with approximate search volume, growth, start and end time, category and related searches.
- Supports web, image, news, YouTube and Google Shopping search, category filters, topic IDs such as
/m/07bsy, and hourly ranges (past hour to past 7 days). - Rotates to a fresh IP and session the moment Google throttles, and always finishes before the run timeout with everything collected so far.
How accurate is the normalization?
We checked it against Google itself. Eighteen keywords were normalized together. Then pairs that had landed in different Google requests were compared directly on Google Trends. The ratio between the two keywords matched within:
| Pair | Google, compared directly | This Actor | Difference |
|---|---|---|---|
| chatgpt / yoga | 5.27 | 5.27 | 0.0% |
| netflix / pilates | 7.82 | 7.81 | 0.1% |
| iphone / netflix | 2.52 | 2.52 | 0.1% |
| coffee / sourdough | 9.23 | 9.26 | 0.4% |
| airbnb / padel | 21.67 | 21.76 | 0.4% |
| spotify / ozempic | 5.64 | 5.66 | 0.4% |
| bitcoin / kombucha | 14.70 | 14.52 | 1.2% |
| tesla / notion | 11.66 | 11.86 | 1.7% |
For daily stitching, the change in level across every window seam matched Google's own daily data within 0 to 3%. (Tested 25 September 2026, US, past 12 months and past 5 years.)
The usual shortcut is one fixed "anchor" keyword in every request. It loses small keywords to rounding: in simulation it was off by up to 74%, or returned zero, for keywords a few hundred times smaller than the anchor. This Actor stayed under 1% on the same data.
What data can you extract from Google Trends?
| Group | Fields |
|---|---|
| Keyword | keyword, keywordTitle (the name of a topic ID), isTopic, geo, timeframe, startDate, endDate, resolution, searchProperty, category |
| Summary | average, peak, peakDate, latest, changePct (last quarter of the range vs the first), comparedWith |
| Time series | timeline: date and value per point, isPartial for the still-filling last point |
| Regions | interestByRegion: geoName, geoCode, value (0-100) |
| Related | relatedQueries.top and relatedQueries.rising (value, formattedValue, isBreakout) |
| Scale | scale.method, scale.stitchedDaily, scale.precision (high, medium or low), exploreUrl |
| Trending Now | rank, query, geo, searchVolume, increasePct, startedAt, endedAt, isActive, relatedSearches, categories, newsArticleCount |
How to scrape Google Trends
- Choose Interest over time or Trending now.
- Add your keywords, one per line. There's no limit of five.
- Add locations such as
US,GB,US-CAorUS-NY-501, or leave empty for worldwide. - Pick a time range. Turn on Daily data for long ranges if you want one point per day over years.
- Optionally add interest by region and related queries, then run and export to JSON, CSV or Excel.
Example input
{"keywords": ["coffee", "tea", "matcha", "kombucha", "yerba mate", "cold brew", "chai"],"geos": ["US", "GB"],"timeframe": "today 5-y","dailyResolution": true,"includeRelatedQueries": true}
Example output (one keyword, trimmed)
{"type": "interestOverTime","keyword": "coffee","geo": "US","timeframe": "today 12-m","startDate": "2025-09-25","endDate": "2026-09-25","resolution": "WEEK","average": 76.23,"peak": 100.0,"peakDate": "2026-04-12","latest": 71.0,"changePct": 13.4,"comparedWith": ["tea", "matcha"],"scale": {"method": "single-request", "stitchedDaily": false, "precision": "high"},"timeline": [{"date": "2025-09-21", "value": 65.0}, {"date": "2025-09-28", "value": 70.0}],"relatedQueries": {"top": [{"query": "coffee near me", "value": 100}],"rising": [{"query": "how to remove coffee stain from carpet", "value": 5050, "isBreakout": true, "formattedValue": "Breakout"}]},"exploreUrl": "https://trends.google.com/trends/explore?q=coffee&date=today+12-m&geo=US"}
How much does it cost to scrape Google Trends?
Pay per result. You only pay for what you turn on.
| Event | What it is |
|---|---|
| Keyword series | One keyword in one location: summary and time series |
| Normalized keyword | Added when a run has more than five keywords and they are put on one scale |
| Daily history, per year | Added per keyword per year of stitched daily data |
| Region breakdown | Interest by region for one keyword |
| Related queries | Top and rising queries for one keyword |
| Trending search | One trending search in Trending Now mode |
Current prices are shown on the Actor's pricing tab. A typical run of 100 keywords over the past 12 months takes under a minute.
Tips
- Compare like with like for the finest detail. Google rounds every value to a whole number, so a keyword more than about 100 times smaller than the biggest in the same run carries less detail. The
scale.precisionfield flags it. - Topics vs search terms. A topic ID (from the Google Trends URL, for example
/m/0dr90dfor Tesla the company) counts every language and spelling. A plain keyword counts that exact search. - The last point is often partial. It's marked
isPartial: trueand left out oflatestandchangePct. - Locations: country codes (
DE), regions (US-TX,GB-SCT) and US metro areas (US-CA-807).
FAQ
Is there an official Google Trends API? Google announced one in July 2025. It is still an application-only alpha, returns only consistently scaled interest over time, and has no regions, related queries or Trending Now.
Why are my numbers different from the Google Trends website? Values are relative to the highest point among all keywords in the run, not just the five on screen. Ratios between keywords are the same as on Google; the absolute 0 to 100 level moves with the set you compare.
Can I track keywords every day? Yes. Schedule the Actor and store runs, or pick the past 7 days for hourly data.
Is scraping Google Trends legal? Google Trends shows aggregated, anonymized search interest. It contains no personal data. As with any data source, check that your use fits your own legal requirements.
Support
Found a bug or need a field? Open an issue on the Actor's Issues tab and it will be looked at quickly.
Related Actors
- Google Trends Bulk Keyword Comparison: the same engine, focused on comparing up to 500 keywords on one scale.
- Google Trends Trending Now Scraper: what people are searching right now, with search volume.
Use it as an API
Run it from your own code and get the results back in one call. Replace YOUR_TOKEN with your Apify API token.
curl -X POST "https://api.apify.com/v2/acts/headply~google-trends-scraper/run-sync-get-dataset-items?token=YOUR_TOKEN" \-H "Content-Type: application/json" \-d '{"keywords": ["coffee", "tea", "matcha"], "geos": ["US"], "timeframe": "today 12-m"}'
from apify_client import ApifyClientclient = ApifyClient("YOUR_TOKEN")run_input = {'keywords': ['coffee', 'tea', 'matcha'], 'geos': ['US'], 'timeframe': 'today 12-m'}run = client.actor("headply/google-trends-scraper").call(run_input=run_input)for item in client.dataset(run["defaultDatasetId"]).iterate_items():print(item)
It also works from Make, Zapier, n8n, Google Sheets and as a tool for AI agents through the Apify MCP server.
More data tools from the same developer
- Threads Scraper & API: posts, reply trees, profiles and keyword search from Threads
- Yelp Scraper & API: every business in a city with phones, websites and all reviews
- TikTok & YouTube Transcript API: video to text, even without captions
- Airbnb & Vrbo Scraper: listings, calendars, occupancy and revenue
- Jumia Scraper & API: prices and sellers across 8 African countries