Google Trends Scraper & API — Interest & Rising
Pricing
from $3.00 / 1,000 trend returneds
Google Trends Scraper & API — Interest & Rising
Google Trends data for keyword research and market research: interest over time, top regions, rising queries and today's trending topics by country.
Pricing
from $3.00 / 1,000 trend returneds
Rating
0.0
(0)
Developer
Diseño Web de Colombia
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
a day ago
Last modified
Categories
Share
Google Trends API — Interest, Regions & Rising
The Google Trends scraper that finishes its runs.
Call it as an API
One keyword in, one row out with the full series, top regions and rising related queries — in a single HTTP call, no polling.
curl -X POST "https://api.apify.com/v2/acts/dev_web_col~google-trends/run-sync-get-dataset-items?token=YOUR_TOKEN" \-H "Content-Type: application/json" \-d '{"keyword": "bitcoin", "geo": "US", "timeframe": "today 12-m"}'
import requestsr = requests.post("https://api.apify.com/v2/acts/dev_web_col~google-trends/run-sync-get-dataset-items",params={"token": "YOUR_TOKEN"},json={"keyword": "bitcoin", "geo": "US", "timeframe": "today 12-m"},)trend = r.json()[0]print(trend["averageInterest"], trend["direction"], trend["changePercent"])
const res = await fetch("https://api.apify.com/v2/acts/dev_web_col~google-trends/run-sync-get-dataset-items?token=YOUR_TOKEN",{method: "POST",headers: { "Content-Type": "application/json" },body: JSON.stringify({ keyword: "bitcoin", geo: "US" }),},);const [trend] = await res.json();
Because direction and changePercent are computed for you, alerting on a
rising term is a one-line condition — no need to walk the series yourself.
Pass keywords instead of keyword to measure several terms in one call, and
trendingCountries to add today's trending searches for a country.
What is this Google Trends Scraper?
This Actor pulls Google Trends data without a browser and without an API key: the full interest-over-time series for any keyword, the regions where it is searched most, and the related queries that are rising fastest. It also pulls today's trending searches for any country, each with its search volume and the news story behind it.
The most-used Trends scraper on Apify succeeds 71% of the time and sits at ★3.1. The reason is always the same: Google answers HTTP 429 to anything that asks too fast. This one is built around that single problem — measured pacing, a fresh IP per attempt, retries on both rate limits and transient proxy errors — and returns data instead of an error.
Measured against the alternative
| The most-used Trends Actor | This one | |
|---|---|---|
| Successful runs | 71% | 100% (10 of 10 cloud runs) |
| Rating | ★3.1 | new |
Three things make the difference, all of them measured rather than guessed:
- 2,500 ms between widget calls. With that pause all four Google widgets answer 200. Without it, Google returns 429 on the second call.
- A fresh proxy session per attempt, so a single rate-limited IP cannot poison every run.
- Trending searches are fetched first, from Google's RSS feed, which has no rate limit. Even if the keyword API turns difficult afterwards, the run already has results.
One subtle trap worth naming, because it is invisible from outside: Google's widget token is tied to the IP that requested the cookie. Rotating IPs between the two invalidates the token, and the time series silently comes back empty while the other widgets still work. Keeping one session per keyword took complete series from 50% to 95%.
What you can use it for
| What you want | How to ask for it |
|---|---|
| Keyword research — is this term growing or dying? | keyword + timeframe: "today 12-m", read direction and changePercent |
| Market research — where is demand concentrated? | includeRegions: true, read topRegions |
| Content and SEO planning — what to write next | includeRelated: true, read risingQueries |
| Trend spotting — catch a topic before it peaks | trendingCountries: ["US"], run it on a schedule |
| Seasonality — when does this spike every year? | timeframe: "today 5-y", read the timeline array |
| Newsroom monitoring — what is breaking right now | trendingCountries, each row carries the news headline and source |
| Product and stock planning | Regional interest before committing inventory |
| Competitor brand tracking | One keyword per brand, compare averageInterest over time |
Typical jobs: keyword research, market research, SEO content planning, trending topics monitoring, and search volume trend analysis.
What data you get
Per keyword — the full weekly series, plus the summary already computed for you: average interest, peak value and the date it happened, the latest value, the percentage change and whether the term is rising, falling or flat. Then the top 20 regions, the 25 top related queries and the 25 fastest-rising ones.
Per trending search — the topic, approximate search volume, the country, and the news headline, source and link driving it.
You do not need to post-process anything to answer "is this going up?" — direction and changePercent are in the row.
Input
Every field is optional unless marked required.
| Field | Type | Description |
|---|---|---|
keywords | array | Terms to measure interest for. Each one returns a full row: the weekly series, the peak, where it is searched most and which related queries are rising. |
geo | string | Two-letter country code for the keyword search, for example US, GB, ES. Leave empty for worldwide. |
timeframe | string | Google Trends syntax. 'today 12-m' is the last year, 'today 3-m' the last quarter, 'now 7-d' the last week, 'all' since 2004. |
trendingCountries | array | Two-letter codes to pull today's trending searches from, with search volume and the news story behind each one. Works independently of the keywords above. |
includeRegions | boolean | Adds the 20 regions where each keyword is searched most. One extra request per keyword. |
includeRelated | boolean | Adds the top and the fastest-rising related searches for each keyword. One extra request per keyword. |
proxyConfiguration | object | Required. Google Trends rate-limits hard and returns HTTP 429 to repeat callers, which is the main reason other Trends scrapers fail. A residential proxy plus retries is what keeps runs succeeding. |
Input sample
{"keywords": ["bitcoin","ethereum"],"geo": "US","trendingCountries": ["US"],"proxyConfiguration": {"useApifyProxy": true,"apifyProxyGroups": ["RESIDENTIAL"]}}
Output sample
One real row from an actual run:
{"type": "trending","geo": "US","title": "aerodiana","approxTraffic": "500+","trendUrl": "https://trends.google.com/trending/rss?geo=US","newsTitle": "What we know so far about the plane crash that killed 11 European tourists near one of Peru’s most popular sites","newsUrl": "https://www.cnn.com/2026/08/02/americas/nazca-plane-crash-dead-intl-latam","newsSource": "CNN","pictureUrl": "https://encrypted-tbn2.gstatic.com/images?q=tbn:ANd9GcQBUQXDfcKIfP0FyGnAYSw0Wkz4wZDytSmrfMqvLIOIZm1nMZEHFmJM-5GDv-c","publishedAt": "Sun, 2 Aug 2026 20:20:00 -0700"}
Who uses this
- SEO and content teams — catch a rising query before the competition writes the article
- Newsrooms — what is trending right now, in your market, with the source story attached
- Ecommerce — seasonality and regional demand before committing to stock
- Market researchers — clean weekly series for any term going back to 2004
- Traders and analysts — retail attention as a signal, by region
Honest limits
These are real and none of them is fixable by any tool. They are here so you know what you are buying before you run it.
- A residential proxy is required. Google rate-limits datacenter IPs almost immediately. The default input already asks for one.
- Trends values are relative, not absolute. 100 is the peak of that particular series, not a search volume. Two keywords fetched in separate runs cannot be compared against each other.
- Rate limiting is the nature of this source. Pacing and retries make runs succeed, but a long keyword list is slower than you might expect — roughly 10 seconds per keyword with all extras on. Runs stop after about 3.5 minutes and deliver what they have.
- Trending searches return 10 topics per country. That is everything Google publishes in the feed.
- Related queries are sometimes empty for low-volume terms. Google simply has no data to show there.
FAQ
Why do other Google Trends scrapers fail so often?
Because Google returns HTTP 429 to callers that request too quickly, and most scrapers do not pace themselves or rotate IPs between attempts. The published success rate of the most popular Trends Actor is 71%. This one paces at 2,500 ms, uses a new IP per attempt and retries both rate limits and transient proxy failures.
What do the interest numbers mean?
They are a 0-100 index relative to the peak of that series. 100 is the highest point in the period you asked for, not a number of searches. Google never publishes absolute volumes.
Can I compare two keywords against each other?
Not across separate runs, because each series is normalised to its own peak. If you need a true comparison, that requires Google's multi-keyword comparison mode, which is a different request shape.
What time ranges can I use?
The input offers the standard Google set: last 24 hours, last 7 days, last month, last 3 months, last 12 months, last 5 years, and everything since 2004.
What are rising queries and why do they matter?
They are the searches growing fastest around your term, not the biggest ones. A query marked "Breakout" grew more than 5000%. This is where new demand shows up before it appears in any keyword tool.
Can I use this to monitor a keyword over time?
Yes, and it is the best use of it. Put it on a schedule and each run appends a fresh reading. Because the summary fields are pre-computed, alerting on direction: "rising" is a one-line filter.
Do I need an account or an API key for the source?
No. This Actor only reads public pages and public endpoints, the same ones any logged-out visitor sees. You never give it credentials, and nothing is done on your behalf.
Is it legal to scrape this data?
Scraping publicly available information is broadly accepted as legal, and this Actor only ever touches pages that require no login. That said, what you may do with the data afterwards is a separate question — personal data in particular is regulated by GDPR and CCPA. If you plan to process personal data, take advice first. Apify has a good primer: Is web scraping legal?
How much will a run cost me?
You are charged per result, so the cost scales with what you actually get back. The pricing is shown on this page above the input form. Start with a small run to see real numbers before you scale up.
Can I export to Excel, CSV or Google Sheets?
Yes. Every run's dataset can be downloaded as CSV, Excel, JSON, XML or HTML from the Storage tab, and Apify integrates directly with Google Sheets, Airtable, Zapier, Make and Slack.
Can I run this on a schedule?
Yes. Open the Schedules tab and pick an interval — hourly, daily, weekly. Each run only costs you what it returns.
Can I call it from my own code instead of the console?
Yes. Every Actor on Apify is also an API endpoint. There are official clients for Python and JavaScript, plus a plain REST API. The API tab on this page shows ready-made snippets with your input already filled in.
Something came back empty. Is it broken?
Usually not. An empty result normally means the filters were too narrow, or the source genuinely has nothing to return for that query. This Actor is written to finish successfully and tell you what happened rather than fail — check the run log, it says which step returned nothing.
Related Actors
- Company Enrichment — turn domains into company records with emails
- ATS Job Scraper — hiring demand across a thousand company career pages
Where the data comes from
The public Google Trends endpoints that trends.google.com itself calls, and Google's official trending-searches RSS feed. No login, no API key, no personal data — these are aggregated search terms.