Google Trends Scraper | Compare 1,000 Terms, Daily Data
Pricing
from $1.00 / 1,000 term reports
Google Trends Scraper | Compare 1,000 Terms, Daily Data
Google Trends data without a browser: interest over time for up to 1,000 terms on one comparable scale, daily points over years, interest by region, top and rising related queries, and Trending now by country with search volumes.
Pricing
from $1.00 / 1,000 term reports
Rating
0.0
(0)
Developer
Alex Morain
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
a day ago
Last modified
Share
What does Google Trends Scraper do?
This Actor turns Google Trends into structured data. Give it search terms and it returns, for each one, interest over time, peak and average, interest by region (countries, regions, US metro areas or cities) and related queries, top and rising. Add a country and it also returns everything Google lists in Trending now, with search volumes, growth and related searches.
It reads the same JSON endpoints the Google Trends website calls, over plain HTTP. No browser, no page loads, no login. 200 search terms take about two minutes. If you are looking for a Google Trends API, this is the closest thing to one: terms in, JSON out.
Two things it does that most Google Trends scrapers do not:
- Values you can compare between terms. Google scales every request on its own 0 to 100, 100 being the peak of that request. Read terms one by one and every term peaks at 100, so their numbers mean nothing next to each other. This Actor compares up to 5 terms per request on one scale, like the Google Trends compare view, and beyond 5 it rescales every group through a shared anchor term. 1,000 terms on one scale in one run.
- Daily points over years. Past 269 days, Google only gives weekly or monthly points. Turn on daily points and the range is read in 269-day windows, each calibrated on the series of the whole range, so you get one comparable value per day for up to 10 years.
Why use Google Trends Scraper?
Because the numbers are right and the runs finish.
Here is what reading terms one at a time does to the data. Worldwide, past 5 years, weekly points, measured on October 17, 2026:
| Term | Read alone: peak | Read alone: average | Same scale: peak | Same scale: average |
|---|---|---|---|---|
| python | 100 | 67.1 | 100 | 67.2 |
| java | 100 | 71.5 | 61 | 43.2 |
| javascript | 100 | 58.8 | 29 | 17.5 |
| rust | 100 | 59.1 | 27 | 15.8 |
| golang | 100 | 71.0 | 5 | 3.2 |
Read alone, golang looks more searched than python (71 against 67). On the same scale it is searched 22 times less. Any dashboard, model or report built on separate requests carries that error silently. With Compare terms on one scale on (the default), you get the right column.
The runs finish because there is no browser to block. The Google Trends web page answers "429 Too Many Requests" to cloud IPs at the first visit; a browser-based scraper then retries, waits for page loads that never come, and runs into its timeout. The JSON endpoints this Actor calls answered 1,500 requests out of 1,500 from Apify datacenter IPs in our tests. When Google does refuse a request, it is retried on a new proxy session, and if refusals keep coming, new sessions switch to residential proxy on their own.
Typical uses:
- SEO and content planning: seasonality of a topic, rising queries to write about, where a keyword is searched the most.
- Market and brand research: brands, products or competitors on one comparable scale, over years, by country or by US state.
- Data science and forecasting: daily series over long ranges, ready for a model, with the partial current period flagged instead of looking like a drop.
- Newsrooms and social media teams: what is trending right now in each country, with search volumes, schedulable every hour.
On Apify you can schedule runs, call the Actor from the API, and send results to Google Sheets, Make, Zapier, n8n or a webhook.
What data can Google Trends Scraper extract?
One row per search term:
| Field | What it holds |
|---|---|
searchTerm | The term, as you gave it |
timeline | Interest over time: date, value, isPartial for the period still in progress |
averageInterest, peakInterest, peakDate, latestInterest | Summary over complete periods |
resolution | MINUTE, HOUR, DAY, WEEK or MONTH |
scale, comparedWith, anchorTerm | Which terms these values compare with |
regions | Interest by region, geoCode, geoName, value |
relatedQueriesTop | Up to 25 related queries, 100 being the most searched |
relatedQueriesRising | Up to 25 rising queries with their growth (+250%, Breakout) |
trendsUrl | The same view on Google Trends |
One row per trend in Trending now:
| Field | What it holds |
|---|---|
term, geo, rank | The trending search, its country and its rank by volume |
searchVolume, searchVolumeLabel | Approximate searches since it started (200K+) |
growthPercent | Growth of searches, in % |
startedAt, endedAt, isActive | When it started, and whether it is still trending |
categories | Sports, Entertainment, Politics, Technology... |
relatedTerms | Related searches Google groups under the trend |
How to scrape Google Trends
- Open the Actor's Input tab.
- Type your keywords in Search terms, one per line.
- Pick a Location (empty for worldwide,
US,FR,US-CA...) and a Time range. - Optional: turn on Daily points on long ranges, pick a Category or a Search type (web, YouTube, news, images, Google Shopping).
- For what is trending now, add country codes in Trending now > Countries.
- Click Start, then open the Output tab or download the dataset.
How much does it cost to scrape Google Trends?
You pay per result, nothing for compute or proxies:
| Event | Free plan | Bronze | Silver | Gold and above |
|---|---|---|---|---|
| Search term report (per 1,000) | $2.50 | $2.00 | $1.50 | $1.00 |
| Trend in Trending now (per 1,000) | $1.00 | $0.80 | $0.60 | $0.40 |
| Run start | $0.002 | $0.002 | $0.002 | $0.002 |
A comparison of 5 brands over 5 years costs $0.0145 on the Free plan. The 650 trends of a
day in the US cost $0.65. Daily points, regions and related queries are included in the term
price. A term Google has no data for is returned free, with hasData: false.
Set a maximum charge per run in the run options and the Actor stops there.
Input
See the Input tab for every option. The ones that need a word:
- Compare terms on one scale (on by default). Off, each term gets its own 0 to 100 scale: useful only to look at each term's shape, never to compare terms.
- Anchor term, used with more than 5 terms. Every request group includes it and is rescaled through it, then the whole set is brought back to 100 at the highest point. Pick a term with steady, mid-to-high volume. Google rounds values to whole numbers inside each request, so a term much smaller than the biggest term of its group comes out as 0 or 1: keep terms of a similar size together, or compare small terms in a separate run.
- Location takes Google Trends codes: a country (
DE), a region (US-TX,GB-SCT) or a US metro area (US-NY-501). - Category takes the
cat=number of a Google Trends link, 0 for all categories.
Example:
{"searchTerms": ["nike", "adidas", "puma"],"geo": "US","timeRange": "past-5-years","dailyResolution": true,"trendingCountries": ["US"],"trendingTimeWindow": "24"}
Output
You can download the dataset in various formats such as JSON, HTML, CSV, or Excel. The Output tab has two views: Search terms and Trending now. A search term row, shortened:
{"searchTerm": "Gemini","comparedWith": ["ChatGPT", "Perplexity"],"scale": "shared","geo": "worldwide","timeRange": "past-12-months","resolution": "WEEK","averageInterest": 43.92,"peakInterest": 55,"peakDate": "2026-06-07","latestInterest": 54,"timeline": [{"date": "2026-10-11", "value": 54, "isPartial": false},{"date": "2026-10-18", "value": 40, "isPartial": true}],"regions": [{"geoCode": "MG", "geoName": "Madagascar", "value": 100}],"relatedQueriesTop": [{"query": "gemini ai", "value": 100}],"relatedQueriesRising": [{"query": "gemini omni", "growthPercent": 1250, "formattedGrowth": "+1,250%"}],"trendsUrl": "https://trends.google.com/trends/explore?date=today+12-m&q=ChatGPT%2CGemini%2CPerplexity&hl=en-US"}
A trend row:
{"rank": 1,"term": "wnba finals","geo": "US","searchVolume": 2000000,"searchVolumeLabel": "2M+","growthPercent": 1000,"startedAt": "2026-10-17T04:20:00Z","isActive": true,"categories": ["Sports"],"relatedTerms": ["dream vs valkyries", "wnba finals schedule"]}
Tips
- The last point of a rolling range (past 12 months, past 7 days) is the period in progress.
It is flagged
isPartial: trueand left out of averages and peaks. Drop it before charting. - Google returns slightly different samples for the same request a few hours apart: expect a point or two of noise on small terms. That is Google's sampling, not the scraper.
- For hourly monitoring of a few terms, schedule a run with Past 7 days or Past day.
- Keep Parallel requests at 5. Higher goes faster until Google starts refusing.
FAQ
Does it return related topics?
No. Google returns an empty related topics list to every non-browser client, and the request is signed, so it cannot be worked around without a browser. Related queries, top and rising, are complete.
Can I compare more than 5 terms?
Yes, up to 1,000 per run, through the anchor term (see Input). The values of all terms are on one scale, 100 being the highest point of the whole set.
Why are my numbers different from the Google Trends website?
Check three things: the same location, the same time range, and the same set of compared terms. A value only means something relative to the terms it was compared with.
Is it legal to scrape Google Trends?
Our Actors are ethical and do not extract any private user data, such as email addresses, gender, or location. They only extract what the user has chosen to share publicly. We therefore believe that our Actors, when used for ethical purposes by Apify users, are safe. However, you should be aware that your results could contain personal data. Personal data is protected by the GDPR in the European Union and by other regulations around the world. You should not scrape personal data unless you have a legitimate reason to do so. If you're unsure whether your reason is legitimate, consult your lawyers. Google Trends data is aggregated and anonymous.
Something is wrong or missing
Open an issue in the Issues tab: it gets answered and fixed. For programmatic access, see the API tab.