Google Trends Scraper & API β Pay Only for Results
Pricing
from $0.50 / 1,000 results
Google Trends Scraper & API β Pay Only for Results
Google Trends API alternative: interest over time, by country/region/city, related & rising queries, keyword comparisons and daily trending searches. Automatic retries, no hanging runs, and failed terms are never charged.
Pricing
from $0.50 / 1,000 results
Rating
0.0
(0)
Developer
SolidScrapers
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
4 days ago
Last modified
Categories
Share
Google Trends data without the failed runs. Get interest over time, interest by country / region / city, related queries (top, rising and Breakout), keyword comparisons and today's trending searches for any country β as JSON, CSV or Excel, or straight from the API.
You pay only for results that arrive. Terms that fail or have no data in Google Trends are never charged.
Why this Google Trends scraper?
- β Built for reliability β the Actor adapts its speed to Google: it slows down as soon as Google pushes back and speeds up again when it can. Throttled requests are retried with a new IP and cookies (up to 8 times), with residential fallback.
- πΈ Only successful results are charged β failed terms, terms without data and skipped terms are listed in a separate
ERRORSrecord, never in your dataset or your bill. - β±οΈ No hanging runs β hard time limits per term; every term finishes or fails within minutes.
- π Safe with a maximum cost β you are never charged above it; if Apify stops the run at your limit, the results so far are kept and the terms not processed are listed in
ERRORS, ready for your next run. - β»οΈ Never charges twice β duplicate terms are skipped, and if Apify migrates or restarts the run, finished terms are not scraped or charged again.
- π Paste any Google Trends link β classic or new explore page, any country domain, comparisons, Trending now links.
- π€ Friendly to AI agents and no-code tools β accepts
SpainorES,past 7 daysornow 7-d,bitcoin, ethereumin one line.
What Google Trends data can I get?
| Data | Description |
|---|---|
| Interest over time | The 0β100 popularity curve with ISO dates, timestamps and a "partial data" flag for the latest point |
| Average interest | Mean of the curve (or Google's own averages when comparing terms) |
| Interest by region | Countries, regions/states, US metro areas (DMA) or cities (with coordinates β see the notes below) |
| Related queries | Top and rising queries, rising %, Breakout flag and links |
| Related topics | Optional β Google limits this list for automated access, so it is often empty (see the notes below) |
| Keyword comparison | Up to 5 terms, regions or periods on the same scale |
| Trending now | Today's top trending searches per country (Google's feed lists about 10): title, approximate traffic, time, picture and related news |
Filters: country or region (US, US-CA, GB-ENGβ¦), any time range from the past hour to 2004βpresent (including custom dates and hours), category, and search property (Web, Images, News, Google Shopping, YouTube).
Popular use cases
- SEO and content marketing β find rising queries and seasonal peaks before writing.
- Keyword research β compare keywords and pick the one people actually search for.
- Market and competitor research β track brands, products and categories by country.
- E-commerce β spot demand spikes and plan stock and campaigns.
- Finance and crypto β follow interest in tickers, coins and topics over time.
- Newsrooms and social media β monitor today's trending searches per country.
- AI agents and dashboards β feed fresh trend data to LLMs, Google Sheets or BI tools on a schedule.
How to scrape Google Trends
- Add one or more search terms β or paste Google Trends URLs.
- Choose the country (empty = worldwide) and the time range; optionally a category or property.
- Optional: tick Compare terms (up to 5 on one scale) or add countries under Trending now.
- Click Start, then download the results (JSON, CSV, Excel, XML) or get them via API.
Input values can be written the way people β and AI agents β naturally write them:
- Countries: codes (
ES,US-CA), names (Spain,EspaΓ±a,United Kingdom) or locales (es-ES). - Periods: Google codes (
today 12-m), words (past 7 days,5 years,all time), dates (2024-01-01 2024-06-30) or hours (2026-10-01T10 2026-10-03T22). - Terms: one per row, or several in one row separated by commas.
Input example
{"searchTerms": ["bitcoin", "ethereum"],"compareTerms": true,"geo": "US","timeRange": "today 12-m","regionResolution": "REGION","includeRelatedQueries": true,"trendingNowGeos": ["US", "ES"]}
Output example
{"type": "keyword","searchTerm": "iphone","geo": "US","timeRange": "today 3-m","averageInterest": 44.0,"interestOverTime": [{ "date": "2026-07-07T00:00:00Z", "timestamp": 1783382400, "formattedTime": "Jul 7, 2026", "value": 42, "isPartial": false }],"interestByRegion": [{ "geoCode": "US-KS", "geoName": "Kansas", "value": 100 }],"regionResolution": "REGION","relatedQueries": {"top": [{ "query": "iphone 18", "value": 100, "formattedValue": "100" }],"rising": [{ "query": "iphone duo release date", "value": 5600, "formattedValue": "Breakout", "breakout": true }]},"exploreUrl": "https://trends.google.com/trends/explore?q=iphone&date=today+3-m&hl=en-US&geo=US","scrapedAt": "2026-10-07T10:22:08Z"}
In comparison mode ("type": "comparison") each point has a values object with one number per term, and related queries are grouped by term. Trending searches come as "type": "trendingNow" items.
Errors and terms without data
They are kept out of the dataset. Open the run's Storage β Key-value store β ERRORS record (types: noData, query or trendingNow failures, and skipped / interrupted terms when a run was stopped):
[{ "type": "noData", "searchTerms": ["zxqv kettle"], "error": "Google Trends has no data for this term with these settings (try a longer period or a wider region).", "at": "2026-10-07T10:22:08Z" }]
Use it as a Google Trends API
Call the Actor from your code with the official Apify clients and get the results as JSON.
Python
from apify_client import ApifyClientclient = ApifyClient("<YOUR_APIFY_TOKEN>")run = client.actor("solidscrapers/google-trends-scraper").call(run_input={"searchTerms": ["bitcoin"], "geo": "US", "timeRange": "today 3-m"})for item in client.dataset(run["defaultDatasetId"]).iterate_items():print(item["searchTerm"], item["averageInterest"])
JavaScript / Node.js
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: '<YOUR_APIFY_TOKEN>' });const run = await client.actor('solidscrapers/google-trends-scraper').call({searchTerms: ['bitcoin'], geo: 'US', timeRange: 'today 3-m',});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items);
It also works with n8n, Make, Zapier, Google Sheets, webhooks and schedules, and with AI agents (Claude, ChatGPT and others) through the Apify MCP server.
Pricing
Pay per result β no subscription, no charge for failures:
| Your Apify plan | Price per 1,000 results |
|---|---|
| Free | $1.00 |
| Starter (Bronze) | $0.80 |
| Scale (Silver) | $0.65 |
| Business (Gold) | $0.50 |
A result is one search term (or one comparison group) with all the sections you selected, or one trending search. Failed terms, terms without data and skipped terms are never charged. You can set a maximum cost per run in the run options β you will never pay more than that.
FAQ
Is there an official Google Trends API? Google's official Trends API is still in limited alpha with a waiting list. This Actor reads the same public data the Google Trends website shows and gives it to you as an API today.
Is it legal to scrape Google Trends? The Actor only collects publicly available, aggregated data (no personal data). Use the data in line with the laws that apply to you and Google's terms; when in doubt, ask a lawyer.
Why are the values between 0 and 100? Google Trends shows relative interest, not absolute search volume: 100 is the peak for the chosen terms, place and period. Compare terms in one run to put them on the same scale.
Why do I get fewer cities than the website shows?
Google Trends gives automated tools less detail at city level than it shows in a browser, especially outside the US and for less popular terms. Ticking Include low search volume regions can add more cities for popular terms (in our tests: 1 β 11 cities for bitcoin in Spain), but less popular terms may still get few or none. Region level (states, provinces) and US metro areas (DMA) are complete. When a result has few cities, its notes field says so β you always know what you got.
Why did a term return no data?
Very rare terms, very short periods or very small regions may have no data in Google Trends. Such terms are listed in ERRORS and are not charged β try a longer period or a wider region.
What happens when my maximum cost is reached?
Apify stops the run at your limit, so you never pay more than you set. The results stored so far stay in the dataset, and the terms that were not processed are listed in ERRORS β start a new run with just those terms to get the rest. (If a run is stopped by a timeout or aborted by hand instead, you can resurrect it: it continues where it stopped and finished terms are not scraped or charged again.)
Can I schedule it? Yes β create a task and a schedule in Apify (e.g. daily), and send the results to Google Sheets, a webhook, n8n or Make.
Do I need my own proxies? No. The Actor uses Apify Proxy and switches to residential proxies automatically when needed.
Notes and limits
- Google Trends values are relative (0β100), not absolute search volumes.
- Very short periods (
now 1-H,now 4-H) and small regions may return few or no data points. - If a region resolution is not available for the chosen place (e.g. Country for
US-CA), Google's default resolution is used instead of failing. - City-level data and related topics are limited by Google for automated access. Interest over time, regions, metro areas and related queries are not affected. Results with little city data or no related topics carry a
notesfield explaining it. - Trending now returns the searches in Google's trending feed for each country (about 10 per country), not the full list of the Trending now page.
- This is an independent tool: it is not affiliated with, endorsed or sponsored by Google. "Google" and "Google Trends" are trademarks of Google LLC.
Support
Found a problem or need a feature? Open an issue on the Issues tab β include your input and the run link β and it will be answered quickly.