Google Trends Scraper
Pricing
from $3.50 / 1,000 results
Google Trends Scraper
Scrape Google Trends for any keyword or Trends link: interest over time, by country, region and city, top and rising related queries, keyword comparison and Trending Now. No login or API key. Bulk input, auto proxy fallback. Export JSON, CSV or Excel.
Pricing
from $3.50 / 1,000 results
Rating
0.0
(0)
Developer
Data Minds
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
16 hours ago
Last modified
Categories
Security
Limited permissionsShare
What is Google Trends Scraper?
Google Trends Scraper is a Google Trends scraper that turns keywords or Google Trends links into structured search-interest data: interest over time, interest by country, region, city and metro area, top and rising related queries, topic suggestions and a shared-scale comparison. Leave the keywords empty to collect what is trending right now. Results arrive as one dataset row per date point, from $0.005 per result on the Free plan and $0.0035 on Gold. ๐ Try it free
- ๐ Keyword research: see how demand for a keyword moves and which related queries are rising.
- ๐ Seasonality analysis: look back up to 2004 and find the peak and low month of a keyword.
- ๐ Market research: compare interest between countries, regions, cities and metro areas.
- ๐ก Content planning: pick topics by what is trending now in your region and category.
- ๐ Trend monitoring: schedule runs and keep a record of how search interest changes.
Because it runs on Apify, you also get the API, scheduling, webhooks, integrations and export to JSON, CSV, Excel, XML or HTML.
What can Google Trends Scraper do?
- ๐ Interest over time: one row per date point with a 0-100 interest value, plus average, peak, growth, trend, volatility and seasonality statistics.
- ๐ Geographic breakdown: interest by country (worldwide searches), region, city and US metro area, ranked by value.
- ๐ Related queries and topics: top and rising related queries with breakout flags, and suggested topics.
- ๐ Keyword comparison: a shared-scale comparison for up to 5 keywords that use the same settings.
- ๐ฅ Trending Now: currently trending searches with search volume, percent increase, categories and related queries.
- ๐งญ Flexible filters: region, category, preset period or custom date range, and web, image, news, YouTube or shopping search.
What data can Google Trends Scraper extract?
Keyword runs save one row for each date point. The lists of places and related queries are filled on the first row of each keyword and left empty on the others; the statistics, relatedTopicSuggestions and comparison repeat on every row.
| Data | Fields |
|---|---|
| ๐ Keyword and settings | term, geo, geoName, timeRange, category, searchType |
| ๐ Date point | date, interest, isPartial, hasData |
| ๐ Summary statistics | averageInterest, peakInterest, peakDate, trend, growthPct, volatility, seasonalPeakMonth, seasonalLowMonth, lowSearchVolume |
| ๐ Interest by place | interestByCountry, interestByRegion, interestByCity, interestByMetro (each item has name, code, value, rank, lat, lng) |
| ๐ Related queries | relatedQueriesTop (query, value, exploreUrl), relatedQueriesRising (query, growthPct, isBreakout, exploreUrl) |
| ๐ก Topic suggestions | relatedTopicSuggestions (title, type, topicId) |
| ๐ Comparison | comparison (comparedWith, sharedScaleAverage, shareOfInterestPct, sharedScaleTimeline, sharedScaleDates) |
| ๐งท Link | exploreUrl |
| ๐ฅ Trending Now rows | term, geo, geoName, window, startedAt, endedAt, isActive, searchVolume, percentIncrease, categories, relatedQueries, exploreUrl |
| โ Failed keywords | term, geo, error |
Note:
interestByCountryis filled only for worldwide searches,interestByRegiononly when the region is a whole country, andinterestByMetroonly for the United States.growthPct,trendand the seasonal months can be empty when a keyword has too little data (lowSearchVolumeis then true). Seasonal months need at least two years of data.
What data can't Google Trends Scraper extract?
- Exact search counts. Interest values are Google's relative 0-100 index for the chosen region and period.
- Trending Now data for periods other than the past 4 hours, past day or past 7 days.
How to scrape Google Trends data
- Create a free Apify account.
- Open Google Trends Scraper.
- Enter one or more keywords in
searchTerms, or paste Google Trends links intostartUrls. - Set
geo,timeRangeandcategory, and choose asearchType. - Set
maxItemsto the number of date points you want per keyword, or0for all of them. - Click Start and wait for the run to finish.
- Open the Output tab, pick a view and download your data in JSON, CSV, Excel, XML or HTML.
How much does it cost to scrape Google Trends?
Google Trends Scraper uses pay-per-event pricing: you pay for each result saved to the dataset, and the price falls on higher Apify plans. Platform usage is billed in addition.
| Apify plan | Price per result | Price per 1,000 results |
|---|---|---|
| ๐ Free | $0.005 | $5.00 |
| ๐ฅ Bronze | $0.0045 | $4.50 |
| ๐ฅ Silver | $0.004 | $4.00 |
| ๐ฅ Gold | $0.0035 | $3.50 |
Each run also adds one start event of $0.00005 per GB of memory, with a minimum of one. At the default 1 GB of memory, that is one event, or $0.00005. Rows with an error are saved but not charged.
Worked example. One keyword with the default maxItems of 10 saves up to 10 rows. On the Free plan that is 10 x $0.005 = $0.05, plus the $0.00005 start event and platform usage.
Free plan math. The $5 monthly credit on the Apify Free plan covers about 1,000 results at the Free price ($5 / $0.005), before platform usage.
See the pricing tab for all events.
Is scraping Google Trends free?
You can start for free. The Apify Free plan includes a $5 monthly credit, which covers about 1,000 results at $0.005 each before platform usage. Only rows saved to the dataset are charged, and you can set a maximum spend per run.
Input
Nothing is required. Leave searchTerms and startUrls empty to collect Trending Now. The prefilled input below analyses one keyword for the past 12 months, worldwide.
{"searchTerms": ["tiktok scraper"],"proxyConfiguration": {"useApifyProxy": false}}
All other fields use their defaults. See the input schema for the full description of every field.
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
searchTerms | array | No | ["tiktok scraper"] (prefill) | Keywords, one per line. Commas also split a line. |
startUrls | array | No | empty | Google Trends links. Region, period, category and search type in a link override the fields below. |
geo | string | No | empty (worldwide) | Country or region name or code, such as US, California or US-CA. |
timeRange | string | No | today 12-m | now 1-H, now 4-H, now 1-d, now 7-d, today 1-m, today 3-m, today 12-m, today 5-y or all. |
customTimeRange | string | No | empty | Two dates as YYYY-MM-DD YYYY-MM-DD. Overrides timeRange. |
category | string | No | empty (all) | Topic name or id, such as Health or 45. |
searchType | string | No | web | web, images, news, youtube or shopping. |
maxItems | integer | No | 10 | Rows saved per keyword, or in total for Trending Now. 0 means no limit. Maximum 100000. |
compareTerms | boolean | No | true | Adds a shared-scale comparison for keywords with the same settings, up to 5 per group. |
includeGeoBreakdown | boolean | No | true | Adds interest by country, region, city and metro area. |
maxConcurrency | integer | No | 4 | Keywords processed at the same time (1 to 10). |
maxRequestRetries | integer | No | 3 | Retries for a rejected request (1 to 10). |
proxyConfiguration | object | No | Apify Proxy off | Optional proxy settings. |
maxItems
maxItems limits the date points saved for each keyword, and each saved row is one charged result. The default of 10 saves only the first 10 date points, so set 0 when you want the full timeline.
- โ
Good:
"maxItems": 0to save every date point of the chosen period. - โ Bad: leaving
maxItemsat10and expecting a full year of weekly values.
Warning: With
maxItemsset to0and many keywords on a long period, the number of charged results grows quickly. Set a maximum spend per run to stay in control.
searchTerms and startUrls
Each keyword becomes its own analysis. A Google Trends link adds its keywords and takes its region, period, category and search type from the link. Identical keyword and setting combinations are analysed once.
- โ
Good:
["tiktok scraper", "instagram scraper"]to analyse and compare two keywords. - โ Bad:
["https://example.com/page"]because only Google Trends links are read as links.
geo, category and Trending Now
With no keywords and no links the Actor collects Trending Now. Trending Now supports the past 4 hours, past day and past 7 days; other periods use the past day. It needs a country, so an empty geo means the US.
- โ
Good:
"geo": "GB", "timeRange": "now 7-d", "category": "Sports"for sports trends in the United Kingdom over 7 days. - โ Bad:
"category": "Cryptocurrency"for Trending Now, because it is not a Trending Now category and no filter is applied.
Warning: An unknown
geoorcategoryis saved as a row with anerrormessage and the suggested closest names instead of data.
Output
Results appear in the run's dataset, in the Output and Storage tabs. You can view them as a table and download them in JSON, CSV, Excel, XML or HTML. The Output tab has views for the keyword overview, interest over time, interest by country, region, city and metro area, top and rising related queries, topic suggestions, keyword comparison and Trending Now. Each run also saves a RUN_SUMMARY record in the key-value store with totalRows, totalDone, charged, failures, errors, durationSecs and blocked.
JSON example
Results for the input example above (values are examples). The first row of a keyword is shown; later rows repeat the statistics, relatedTopicSuggestions and comparison, and carry empty place and related-query lists.
{"term": "tiktok scraper","geo": "WORLD","geoName": "Worldwide","timeRange": "Past 12 months","category": "All categories","searchType": "web","averageInterest": 39.42,"peakInterest": 100,"peakDate": "2026-06-14","trend": "falling","growthPct": -22.5,"volatility": 0.41,"seasonalPeakMonth": null,"seasonalLowMonth": null,"lowSearchVolume": false,"exploreUrl": "https://example.com/explore?q=tiktok+scraper","comparison": null,"relatedTopicSuggestions": [{"title": "Example topic", "type": "Topic", "topicId": "/m/0example"}],"date": "2025-11-02","interest": 47,"isPartial": false,"hasData": true,"interestByCountry": [{"name": "Example Country", "code": "EX", "value": 100, "rank": 1, "lat": 10.5, "lng": 20.5}],"interestByRegion": [],"interestByCity": [],"interestByMetro": [],"relatedQueriesTop": [{"query": "example query", "value": 100, "exploreUrl": "https://example.com/explore?q=example+query"}],"relatedQueriesRising": [{"query": "example rising query", "growthPct": 250, "isBreakout": false, "exploreUrl": "https://example.com/explore?q=example+rising+query"}]}
For Trending Now (empty searchTerms and startUrls) each row looks like this:
{"term": "example trending term","geo": "US","geoName": "United States","window": "Past 24 hours","startedAt": "2026-11-06T08:15Z","endedAt": null,"isActive": true,"searchVolume": 200000,"percentIncrease": 1000,"categories": ["Sports"],"relatedQueries": ["example related query"],"exploreUrl": "https://example.com/explore?q=example+trending+term&geo=US"}
Notes and limitations
- Interest values are relative (0-100) for the chosen region and period, not search counts.
- Keyword runs save one row per date point; the places and related queries appear only on the first row of each keyword.
comparisonis filled only when at least two keywords share the same region, period, category and search type.- A keyword that cannot be collected is saved as a row with
error, and is not charged. - If the site limits requests for too long, the run stops and keeps the rows already saved.
Tips and advanced usage
- ๐
Track demand on a schedule: run weekly with the same keywords and compare
averageInterestandtrendbetween runs. - ๐ Compare brands fairly: put up to 5 keywords with identical settings in one run to get
shareOfInterestPcton a shared scale. - ๐ Zoom in on a market: set
geoto a country to get regions and cities, or to a US state such asUS-CAto get cities. - ๐ Paste a Trends link: copy a link from the Google Trends site into
startUrlsto reuse its exact settings. - ๐ฅ Daily trending list: leave the keywords empty and schedule a run to build a record of Trending Now.
Integrations and API
Can I use Google Trends Scraper as an API?
Yes. The Apify API lets you start runs, schedule them and fetch results, so you can use it as a Google Trends API alternative from your own code. Use the apify-client package for Node.js or Python. The API tab has ready-to-use code.
How to scrape Google Trends with Python
from apify_client import ApifyClientclient = ApifyClient("<YOUR_APIFY_TOKEN>")run = client.actor("data_minds/google-trends-scraper").call(run_input={"searchTerms": ["tiktok scraper"],"proxyConfiguration": {"useApifyProxy": False},})for item in client.dataset(run["defaultDatasetId"]).iterate_items():print(item["term"], item["date"], item["interest"])
Can I integrate Google Trends Scraper with other apps?
Yes. Connect it with Make, Zapier, Google Sheets, Slack and more through Apify integrations. Use webhooks to trigger an action when a run finishes, and schedule runs to keep a trend report fresh.
Can I use Google Trends Scraper with AI agents (MCP)?
Yes. Open the MCP tab for setup steps to connect the Actor to Claude and other MCP clients.
Other Google and trends scrapers
| Actor | What it does |
|---|---|
| ๐ฅ Google Trends : Trending Search Scraper | Collects the live Trending now list for one or many countries with volume, growth and related news. Choose it when you want the daily list, and this Actor when you want interest over time for your own keywords. |
| ๐ Google Search Results Scraper | Scrapes Google Search: organic results, AI Overview, People Also Ask, related searches, ads, videos and knowledge panel for bulk keywords or Google URLs. |
| ๐ฌ YouTube Search API | Searches YouTube for videos, channels and playlists with enriched engagement, channel and transcript data. |
FAQ
Is it legal to scrape Google Trends?
Scraping publicly available data is generally legal, but you should respect personal data rules and the site's terms. Google Trends data is aggregated and anonymous, not personal profiles. This is not legal advice, so read Is web scraping legal? and check your own use case.
How does Google Trends Scraper work?
You enter keywords or Google Trends links and choose a region, period, category and search type. The Actor then saves one dataset row per date point, with statistics, interest by place, related queries and topic suggestions. Leave the keywords empty and it saves the current Trending Now list instead.
Why scrape Google Trends data?
Search interest shows what people want before it appears in sales or traffic. Marketers use it for keyword research and content planning, analysts for market research and seasonality analysis, and product teams for demand checks. Saving the numbers on a schedule also builds your own history for trend monitoring.
Why am I getting fewer results than expected?
The default maxItems is 10, so each keyword saves only its first 10 date points. Set it to 0 for the full timeline. Very low-volume keywords can also have little or no regional data, and lowSearchVolume marks them. A narrow category or region filter reduces data further.
Google Trends Scraper is not working. What should I do?
Check that your keywords, geo, category and dates are valid, because invalid values are saved as rows with an error message. If the problem remains, open a ticket on the Issues tab with your run link, and we will look into it.
Are Google Trends values real search volumes?
No. Google Trends reports a relative index from 0 to 100, where 100 is the peak popularity in the chosen region and period. Use it to compare keywords, regions and dates. For Trending Now rows, searchVolume is the volume figure Google lists for each trend.
Can I compare several keywords on the same scale?
Yes. Add up to 5 keywords with the same region, period, category and search type, and keep compareTerms on. Each row then has a comparison object with sharedScaleAverage and shareOfInterestPct. Keywords with different settings are analysed separately and get no comparison, so keep the settings identical.
Do I need a Google account to use Google Trends Scraper?
No. The input has no fields for a login, cookies or an API key. You need only an Apify account to start a run. Enter your keywords and settings, and the results appear in the dataset as each keyword finishes, ready to export.
How is this different from the Trending Search Scraper?
This Actor analyses keywords you choose: interest over time, places and related queries. The Google Trends : Trending Search Scraper focuses on the daily Trending now list for many countries, with news. Leaving the keywords empty here also returns a basic Trending Now list.
Support and feedback
Found a bug or have a feature request? Please open an issue on the Issues tab.
Need a custom solution or more data? Contact hello.dataminds@gmail.com.
Built and maintained by the data_minds team on Apify.
This Actor is an independent tool and is not affiliated with or endorsed by Google. You are responsible for using the data in line with applicable laws and the terms of the sites involved.