Google Trends Scraper - Trending Searches by Country avatar

Google Trends Scraper - Trending Searches by Country

Pricing

from $2.00 / 1,000 trending search delivereds

Go to Apify Store
Google Trends Scraper - Trending Searches by Country

Google Trends Scraper - Trending Searches by Country

Scrape Google trending searches for any country with approximate search traffic, the news stories driving each trend, and optional autocomplete expansion into related queries. Built on the stable RSS feed rather than the explore API, so scheduled runs do not fail.

Pricing

from $2.00 / 1,000 trending search delivereds

Rating

0.0

(0)

Developer

DONGMIN KIM

DONGMIN KIM

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

4 days ago

Last modified

Categories

Share

Google Trends Scraper — Daily Trending Searches by Country with News & Traffic

Google Trends Scraper — Daily Trending Searches by Country with News & Traffic

What a country is searching for right now, with approximate traffic, the news stories driving each trend, and optionally the autocomplete queries people type next.

Works for every country Google publishes trends for — US, GB, KR, DE, IN, JP, BR and the rest — in one run.

Built on the boring endpoint, on purpose

Google exposes trends two ways: the /trends/api/explore widget flow, and a plain RSS feed.

Explore is the one most scrapers use, and it is fragile — it returned HTTP 429 on the very first unauthenticated call during our testing, and it needs a two-step token handshake that breaks whenever Google reshuffles its widget IDs. The most-used Google Trends actor on this store currently runs a 23.2% failure rate at 3.64★, which is what that fragility looks like in production.

This one reads the RSS feed: a small, stable, cacheable document. Choosing the boring endpoint is the entire competitive move.

Input

{
"geos": ["US", "GB", "KR"],
"minTraffic": 5000,
"includeNews": true,
"expandWithAutocomplete": true,
"mustContain": ["ai", "crypto"]
}

Every option

The same wording you see in the Apify console, with the JSON key for API and MCP callers.

OptionWhat it doesDefault
Countriesgeos (required)ISO-3166 country codes, e.g. US, GB, KR, DE, IN. One row per trending search per country.
Minimum approximate trafficminTrafficGoogle reports traffic in buckets like "20,000+". Drop trends below this number. Filtered rows are not billed.0
Must contain any ofmustContainKeep only trends containing one of these substrings — useful for brand or category monitoring on a schedule. Case-insensitive.
Include news storiesincludeNewsAttach the news headlines, URLs and sources Google associates with each trend. This is what tells you why something is trending.true
Add related queriesexpandWithAutocompleteFor each trend, also pull Google autocomplete suggestions for it. Turns a bare trend into a content angle. Costs one extra request per trend.false
ConcurrencyconcurrencyCountries fetched in parallel.4
ProxyproxyConfigurationLeave the default. Trends rate-limits per IP; the actor starts on cheap datacenter proxies and escalates only if blocked.{"useApifyProxy":true}

Output

One row per trending search.

{
"geo": "US",
"keyword": "extreme heat warning",
"approxTraffic": "500+",
"approxTrafficNumber": 500,
"pubDate": "Tue, 12 Aug 2026 09:40:00 -0700",
"scrapedAt": "2026-08-12T17:05:11.402Z",
"pictureUrl": "https://t1.gstatic.com/images?q=…",
"pictureSource": "The Guardian",
"news": [
{
"title": "UK heatwave live: Burnham considers ban on disposable barbecues",
"url": "https://…",
"source": "The Guardian"
}
],
"relatedQueries": ["extreme heat warning today", "extreme heat warning meaning", "…"]
}

Every field

You are billed per trend delivered, so here is everything a row can contain.

FieldWhat it is
geoThe country code the trend was read for.
keywordThe trending search term.
approxTrafficGoogle's banded estimate as published, e.g. "500+". It publishes no exact number.
approxTrafficNumberThe same band parsed to an integer, so you can sort and threshold on it.
pubDateWhen the trend started, as Google stamped it.
scrapedAtWhen this run read it. Stamped on every row so scheduled runs build a clean time series.
pictureUrlGoogle's thumbnail for the trend, when the feed carries one.
pictureSourceWho that picture is credited to.
newsThe stories driving the trend: title, url, source. Only with Include news stories on.
relatedQueriesUp to 15 autocomplete continuations of the trend. Only with Expand with autocomplete on.

Who this is for

  • Newsrooms and newsjackers — schedule it hourly with mustContain on your category and publish while the trend is still live.
  • Content plannersexpandWithAutocomplete turns a bare trend into actual article angles.
  • Ad buyers — rising terms show up here before the keyword tools update.
  • Brand monitors — know when your brand, a competitor or a category breaks into a country trend list.

Common uses

  • Newsjacking — schedule it hourly with mustContain on your category and publish while a trend is live.
  • Content calendarsexpandWithAutocomplete turns a bare trend into actual article angles.
  • Market monitoring — track when your brand, a competitor, or a category breaks into a country's trends.
  • Trend datasets — run daily across many countries and accumulate history.
  • Ad targeting — catch rising terms before the keyword tools update.

Pricing

Pay per trend delivered. Trends removed by your traffic or keyword filters cost nothing.

Starting a run costs $0.00001 — the platform's $0.00001 minimum, charged once per GB of memory, and these Actors run on 512 MB.

Other Actors in this family

Same engines, same billing, no account or API key on any of them.

YouTube & video

Search demand

E-commerce

Hiring

Run it from code

Nothing here needs a login to the source, only your Apify token.

HTTP — start a run and wait for the rows:

curl -X POST "https://api.apify.com/v2/acts/gganbukim~google-trends-scraper/run-sync-get-dataset-items?token=$APIFY_TOKEN" \
-H "content-type: application/json" \
-d @input.json

JavaScript

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor('gganbukim/google-trends-scraper').call(input);
const { items } = await client.dataset(run.defaultDatasetId).listItems();

Python

from apify_client import ApifyClient
client = ApifyClient(os.environ["APIFY_TOKEN"])
run = client.actor("gganbukim/google-trends-scraper").call(run_input=input)
items = client.dataset(run["defaultDatasetId"]).list_items().items

Scheduled or event-driven — attach a schedule to run it on a cron, or a webhook to push each finished run into your own endpoint. It also connects through Apify's Zapier, Make, n8n and LangChain integrations, and is reachable from an MCP server if you are driving it from an agent.

Standby / API mode — the run above is synchronous: one call in, rows out, no polling. That is the shape to use if you are calling this per request rather than in a batch.

Errors, limits and what you are charged for

  • You pay for delivered rows only. A row your filters removed, a page that failed, a retry — none of it is billed. Starting a run costs $0.00001: the platform minimum, charged once per gigabyte, and this Actor runs on 512 MB.
  • A run that delivers nothing still costs the start fee and nothing else. If the input resolved to zero items, the run fails loudly with the reason rather than finishing green on an empty dataset.
  • Blocking is handled by changing address, not by waiting. The Actor starts on cheap datacenter proxies and moves up only after a tier has actually been refused several times in a row, then drops back down once the cheap tier answers cleanly again. You are not paying for residential bandwidth that was never needed.
  • Rate limits belong to the source, not to this Actor. Very large inputs are worked through in batches; the run reports how many items succeeded, were filtered, and failed, so a partial result is never presented as a complete one.
  • Dataset retention follows your Apify plan. Export what you need, or push it out with a webhook, if you want it past that window.

This Actor reads pages and public endpoints that anyone can open in a browser without an account. It does not log in, does not defeat a paywall, and does not touch anything behind authentication.

Scraping public data is broadly lawful in the US and the EU, and courts have repeatedly said so — but "public" is not the same as "unrestricted", and what you may then do with the data is a separate question from whether you may collect it. Personal data pulls in the GDPR and similar regimes whatever the source, so if your rows contain people, you need a lawful basis for keeping them.

Apify publishes a fuller treatment in Is web scraping legal? and an ethical scraping guide. None of this is legal advice; if the use is commercial and the data is personal, ask someone qualified.

Something wrong, or missing?

Open an issue on the Actor's Issues tab — it goes straight to the developer and is the fastest route. Include the run ID; it carries the input and the log, which is usually enough to reproduce the problem without another round trip.

Sources change without warning, and a field that quietly goes null is worth reporting even if the run succeeded. A broken parser looks exactly like a quiet day in the data until someone says so.

FAQ

Will I get blocked or rate-limited? Google publishes trending searches for syndication, so this reads a feed meant to be read rather than a page defended against it. Datacenter proxies handle it, escalation is rare, and no login or API key is involved.

How many trends per country? Google publishes roughly 10–20 per country per day in this feed.

Can I get historical interest-over-time? Not from this actor. That data only exists behind the explore API, which is the unreliable path this deliberately avoids.

How fresh is it? As fresh as Google's feed, which updates through the day. pubDate tells you when the trend started.

Can I run it on a schedule? Yes — that is the main use. Apify Schedules, webhooks, or the API. Also available over MCP for AI agents.

Is it legal to scrape Google Trends? This reads Google's public RSS feed for trending searches — a feed published for syndication, with no login and nothing bypassed. Google's Terms of Service are a separate contract question. Not legal advice.

How much does 1,000 trends cost? $2.00, plus $0.00002 for the run. A country typically publishes 10–20 trends a day, so a daily run across five countries is well under a cent. Trends your filters remove are never billed.

Can I export the results to Excel or Google Sheets? Yes. Every run's dataset downloads as CSV, Excel, JSON, XML or RSS from the Storage tab, or straight from the API if you want a live link a spreadsheet can pull.

Can I connect it to Zapier, Make or n8n? Yes — Apify publishes integrations for all three, plus webhooks that fire when a run finishes. A common setup is a schedule here and a webhook into your own database or Slack.

Do I need to write code? No. Fill the form in the console and press Start. If you do want code, the Apify client libraries for Python and JavaScript call this the same way, and it is available over MCP so an AI agent can call it directly.