Google Trends Scraper: Multi-Country + Trending avatar

Google Trends Scraper: Multi-Country + Trending

Pricing

from $1.00 / 1,000 trending searches

Go to Apify Store
Google Trends Scraper: Multi-Country + Trending

Google Trends Scraper: Multi-Country + Trending

Compare a keyword's interest over time across up to 15 countries on one 0-100 scale in a single run, and get today's trending searches for any supported country. Presets: SEA, ASEAN, APAC, EU5, ANGLO, G7. Optional related queries, province-level breakdowns and a category filter.

Pricing

from $1.00 / 1,000 trending searches

Rating

0.0

(0)

Developer

Aye Bot Data

Aye Bot Data

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 hours ago

Last modified

Categories

Share

Google Trends Scraper: Multi-Country Compare (one scale) + Trending Now

A Google Trends scraper that compares a keyword across up to 15 countries on one 0-100 scale in a single run, and returns today's trending searches for each of those countries.

Google Trends lets you compare at most five places at once, and most scrapers take one country per run, so every country comes back on its own 0-100 scale. This Actor joins the requests for you, so you can say "Malaysia searches for this twice as much as Singapore" and have the numbers mean it.

What you get

  • Interest over time on one scale. 1 to 5 keywords, up to 15 countries, one shared 0-100 scale per keyword, weekly, daily or hourly points depending on the timeframe.
  • Trending now by country. The current trending searches for each country you pick (about 10 per country), with approximate search volume, start time and up to three news links.
  • Related queries (optional). Top and rising related searches for each keyword in each country, with Google's "Breakout" flag.
  • Interest by subregion (optional). Each country's states or provinces ranked for your keyword (for example 16 for Malaysia, 34 for Indonesia, 49 for Thailand).
  • Category filter (optional). Narrow results to one Google Trends category, for example Food & Drink.
  • Country presets. SEA (default), ASEAN, APAC, EU5, ANGLO, G7, or your own list of ISO country codes.
  • Ready to use. Clean JSON records, one per keyword and country, exportable from the dataset as JSON, CSV, Excel, XML, HTML or RSS. No login, no browser, no proxy needed.
  • Pay only for results. Empty series, blocked requests and countries without data cost nothing beyond the start fee.

Who uses it

  • Market entry research. Rank candidate countries by search demand for your product or category before you commit budget, on numbers that can be compared side by side.
  • Brand and product demand comparison. Track one brand or product name across your markets and see where interest is growing, flat or seasonal.
  • SEO keyword planning per market. Pull the top and rising related queries in each country to find the phrases local searchers actually use.
  • Trend monitoring. Schedule a daily trending-now run across your markets and feed the list into a sheet, Slack channel or newsroom tool.
  • Agency and client reporting. One run per client keyword set returns every market at once, ready to chart or drop into a monthly report.

Quick start in 30 seconds

  1. Press Start with the default input to get today's trending searches for six Southeast Asian countries (SG, MY, ID, TH, VN, PH).
  2. To compare a keyword across countries, paste this input and press Start:
{
"mode": "compare",
"keywords": ["durian"]
}

That uses the default SEA preset and the last 12 months. You get one record per country, all on one scale. Real result for "durian" from a run on 18 October 2026 (54 weekly points each; that run also compared "bubble tea"):

CountryAveragePeakPeak week
MY31.41002026-06-21
SG25.0772026-06-21
ID16.1332025-12-28
PH3.352026-01-11
TH1.732026-05-17
VN0.912025-10-12

Because every row is on the same scale, you can read it directly: at its peak week, Singapore searched for durian at 77% of Malaysia's peak level.

Why multi-country on one scale matters

Google Trends scales every request so its own peak is 100. Run "durian" for Singapore alone and Singapore peaks at 100; run it for Malaysia alone and Malaysia peaks at 100. Two separate runs cannot be compared.

Popular Google Trends Actors on the Apify Store, such as data_xplorer/google-trends-fast-scraper and data_xplorer/google-trends-trending-now, take one country per run (a single geo or country value in their published input schemas, checked 18 October 2026). Apify's own apify/google-trends-scraper, run with a worldwide geo, does return interest by country on one scale, but as a single snapshot for the whole period, not a series per country over time.

This Actor returns up to 15 countries' interest over time in one run, on one scale per keyword. Google accepts at most five places per request, so more countries are split into batches joined through a shared "anchor" country (details below). Measured accuracy: for "durian" over 12 months, the six-country joined series matched Google's own five-country request within 1 point on the 0-100 scale at all 54 weekly points.

What the others do better, so you can choose: apify/google-trends-scraper accepts any Google Trends URL, and data_xplorer/google-trends-trending-now offers category filters and 4 hour to 7 day windows for trending searches. This Actor returns the current trending list with no category or window filter.

Output examples

Real records from runs on 18 and 19 October 2026, shortened. Every record has a record_type.

interest (one per keyword and country):

{
"record_type": "interest",
"keyword": "durian",
"country": "MY",
"timeframe": "today 12-m",
"category": 0,
"resolution": "WEEK",
"points": 54,
"has_data": true,
"average": 31.4,
"latest": 17,
"latest_date": "2026-10-11",
"peak": 100,
"peak_date": "2026-06-21",
"series": [{"date": "2025-10-12", "value": 23}, {"date": "2025-10-19", "value": 25}],
"scale": "0-100; 100 = this keyword's peak across compared_countries",
"scale_method": "anchor_rescaled",
"scale_anchor": "MY",
"compared_countries": ["SG", "MY", "ID", "TH", "VN", "PH"]
}

trending (one per trending search per country):

{
"record_type": "trending",
"country": "SG",
"country_name": "Singapore",
"rank": 1,
"title": "kitchen",
"approx_traffic": 200,
"approx_traffic_raw": "200+",
"published_at": "2026-10-18T15:00:00Z",
"news": [
{
"title": "HDB sheds light on 'small' kitchen of Tengah BTO flat in viral video, Singapore News",
"source": "AsiaOne.com",
"url": "https://www.asiaone.com/singapore/hdb-small-kitchen-tengah-bto-flat-garden-waterfront"
}
],
"trend_url": "https://trends.google.com/trends/explore?q=kitchen&date=now%201-d&geo=SG",
"source_feed": "https://trends.google.com/trending/rss?geo=SG",
"fetched_at": "2026-10-18T15:30:12Z"
}

related (optional, one per keyword and country):

{
"record_type": "related",
"keyword": "durian",
"country": "SG",
"top": [{"query": "durian singapore", "value": 100}, {"query": "durian cake", "value": 27}],
"rising": [{"query": "lorong lew lian durian warning", "value": 70750, "label": "Breakout", "breakout": true}],
"top_count": 25,
"rising_count": 22
}

subregions (optional, one per keyword and country; values are 0-100 within that country only):

{
"record_type": "subregions",
"keyword": "durian",
"country": "MY",
"timeframe": "today 12-m",
"category": 0,
"resolution": "REGION",
"subregion_count": 16,
"subregions": [
{"code": "MY-04", "name": "Malacca", "value": 100},
{"code": "MY-11", "name": "Terengganu", "value": 45},
{"code": "MY-06", "name": "Pahang", "value": 43}
],
"scale": "0-100 within this country only; 100 = this keyword's strongest subregion in this country, not comparable between countries or with the interest series"
}

Weekly and daily series use YYYY-MM-DD; hourly and minute series use UTC timestamps. The last point can carry "partial": true because the current period is still filling; latest is the last complete point. approx_traffic is the lower bound Google publishes ("200+" is 200).

Pricing

Pay per event: you pay for records delivered, plus a small start fee per run. Apify Store plan discounts apply to the two main events.

EventFree planBronzeSilverGold and above
Actor start, once per runUS$0.02US$0.02US$0.02US$0.02
Trending search (trending-item)US$0.002US$0.0018US$0.0015US$0.001
Interest series, one keyword in one country (interest-series)US$0.008US$0.007US$0.006US$0.005
Related queries, one set per keyword and country (related-set)US$0.004US$0.004US$0.004US$0.004
Subregions, one set per keyword and country (subregion-set)US$0.004US$0.004US$0.004US$0.004

One interest series is a whole time series (for example 54 weekly points), not a single data point.

Worked examples at Free plan prices:

JobArithmeticCost
Trending now, six SEA countries (60 searches)0.02 + 60 x 0.002US$0.14
One keyword across six countries0.02 + 6 x 0.008US$0.068
One keyword across ten countries0.02 + 10 x 0.008US$0.10
Two keywords across six countries, with related queries0.02 + 12 x 0.008 + 12 x 0.004US$0.164

The same two-keyword job on Gold and above: 0.02 + 12 x 0.005 + 12 x 0.004 = US$0.128.

maxItems defaults to 100 billable records, so a first run costs at most 0.02 + 100 x 0.008 = US$0.82 on the Free plan.

Integrations

Actor ID: asia-data-desk/google-trends-sea. Get your API token in Apify Console under Settings > Integrations.

Python (Apify API client, pip install apify-client):

from apify_client import ApifyClient
client = ApifyClient("MY-APIFY-TOKEN")
run = client.actor("asia-data-desk/google-trends-sea").call(run_input={
"mode": "compare",
"keywords": ["electric vehicle"],
"countries": ["US", "GB", "AU", "SG"],
"timeframe": "today 3-m",
})
for item in client.dataset(run.default_dataset_id).list_items().items:
print(item["country"], item["average"], item["peak"])

curl (run synchronously and get dataset items; add &format=csv for CSV):

curl -X POST "https://api.apify.com/v2/acts/asia-data-desk~google-trends-sea/run-sync-get-dataset-items?token=MY-APIFY-TOKEN" \
-H "Content-Type: application/json" \
-d '{"mode": "trending_now", "countryPreset": "SEA"}'

The synchronous endpoint waits up to 300 seconds; for large compare runs, start the run and read the dataset when it finishes.

  • Make: use Apify's native Make integration to run the Actor and pass the dataset to the next module (docs).
  • Zapier: use Apify's Zapier integration to trigger a run and act on the results (docs).
  • n8n: use Apify's n8n node to run the Actor inside a workflow (docs).
  • AI agents: connect an agent to Apify's MCP server and it can find, call and read this Actor like any other tool (docs).

FAQ

How accurate is the shared scale?

Up to five countries come straight from one Google request, nothing derived. Six or more are joined through an anchor country. Measured on 18 October 2026 for "durian" over 12 months: the six-country joined series matched Google's own five-country request within 1 point on the 0-100 scale at all 54 weekly points. A live ten-country check on 19 October 2026 ("electric vehicle", 3 months, daily) matched a direct Google request within 1 point at all 465 points compared. If the anchor is too weak to join a batch reliably, the Actor says so in scale_method instead of guessing (see How the one-scale comparison works).

What happens if Google rate-limits the run?

The Actor sends at most one request every 2 seconds. On HTTP 429 or Google's "unusual traffic" redirect it waits 8, 20 and 45 seconds and retries, then stops cleanly and keeps what it already has. Blocked requests are never charged. If it keeps happening, try later, use fewer keywords or countries, or switch on an Apify datacenter proxy group.

Which countries are supported?

Compare mode takes any assigned two-letter ISO 3166-1 country code (the United Kingdom is GB), up to 15 per run, or one of the presets. Trending now works for the 125 country codes Google serves a trending feed for (probed on 19 October 2026).

Google has no trending feed for some countries, including CN, BN and LA. The Actor logs it, counts the country in countries_failed and charges nothing. Compare mode still works for those countries.

How fresh is the data?

Every run fetches live from Google Trends at run time; nothing is cached. Trending records carry fetched_at. Interest series run up to the latest period Google publishes, and the current, still-filling period is marked partial.

Can I cap what a run costs?

Yes. maxItems caps billable records for the whole run (default 100). The Actor also stops when the spending limit you set for the run on Apify is reached.

Am I charged for failed or empty results?

No. Beyond the start fee you are not charged for blocked requests, invalid records, duplicates, series where Google reports no data, empty related-query or subregion sets, a country Google maps only by city, or a country without a trending feed.

It reads public Google Trends data that the Trends website serves without a login. It downloads trends.google.com/robots.txt at the start of every run and refuses any request it disallows; the only disallowed paths (/explore?, /trends/explore?) are pages the Actor never requests. Google's Trends help page says Trends information can be used subject to the Google Terms of Service, with attribution to Google. This is a description, not legal advice; you are responsible for how you use the data.

Can I compare two keywords with each other?

Not on one scale. Each keyword is scaled across countries on its own 0-100 scale, so "durian" and "bubble tea" rows in the same run are not comparable with each other. Compare countries within a keyword.

Can I export to CSV or Excel?

Yes. Every Apify dataset exports as JSON, CSV, Excel, XML, HTML or RSS from the Console or the API (format=csv).

Country presets

Pick countryPreset, or list your own countries (an explicit list overrides the preset).

PresetCountriesCount
SEA (default)SG MY ID TH VN PH6
ASEANSG MY ID TH VN PH BN KH LA MM10
APACAU CN HK IN ID JP KR MY NZ PH SG TH TW VN14
EU5DE ES FR IT NL5
ANGLOAU CA GB IE NZ US6
G7CA DE FR GB IT JP US7

Input

FieldMeaningDefault
modetrending_now or comparetrending_now
countryPresetSEA, ASEAN, APAC, EU5, ANGLO or G7; used when countries is emptySEA
countriesUp to 15 ISO 3166-1 alpha-2 codes. Overrides the presetempty (use the preset)
keywordsCompare mode: 1 to 5 search terms, up to 100 characters eachnone
timeframeCompare mode: now 1-H, now 4-H, now 1-d, now 7-d, today 1-m, today 3-m, today 12-m, today 5-y, all, or YYYY-MM-DD YYYY-MM-DDtoday 12-m
includeRelatedCompare mode: add a related-queries record per keyword and countryfalse
includeSubregionsCompare mode: add an interest-by-subregion record per keyword and countryfalse
categoryCompare mode: Google Trends category id, 0 means all categories0
maxRelatedPerListCap on each of the top and rising lists (1 to 25)25
maxItemsCap on billable records for the whole run100
proxyConfigurationOptional Apify Proxy, datacenter groups only. Residential groups and custom proxy URLs are refusedoff

In trending_now mode the compare-only fields are ignored, never rejected. A trending run over APAC (about 130 records) needs maxItems above its default of 100.

Category ids

category narrows interest, related-query and subregion results to one Google Trends category. Google echoes the category it applied; if the echo differs, that keyword fails uncharged rather than being sold under the wrong category. A few ids, from Google's own public category list (https://trends.google.com/trends/api/explore/pickers/category, fetched 2026-10-19):

idname
0All categories
3Arts & Entertainment
7Finance
12Business & Industrial
71Food & Drink
45Health
18Shopping
67Travel

Any other whole number from 0 to 100000 is passed to Google unchanged.

How the one-scale comparison works

Google's compare request accepts at most five places (six returns HTTP 400). More countries take several requests joined through one anchor country:

  1. Request 1 holds the first five countries. The anchor is the country with the highest interest in it.
  2. Each further request holds the anchor plus up to four new countries, rescaled by (anchor in request 1) / (anchor in that request). This is only done when the anchor reads at least 10 in both requests.
  3. Everything is then rescaled so the overall peak is 100.
CountriesRequests (each is one explore call plus one data call)
1 to 51 (Google's own scale)
6 to 92
10 to 133
14 to 154

Every interest record states its scale_method:

  • google_native: one Google request, nothing derived.
  • anchor_rescaled: two or more requests joined through scale_anchor; every country shares one scale.
  • separate_scales: the anchor peaked below 10 in a request (or the requests share no dates), so joining would be unreliable. That keyword's records say exactly which countries share a scale in compared_countries and scale. Expect this when one country is more than ten times bigger than the anchor.

Data source

Public Google Trends endpoints that serve the Trends website without a login: the daily trending RSS feed (/trending/rss) and the JSON endpoints behind the interest charts (/trends/api/explore, /trends/api/widgetdata/...). If you republish the data, cite it as: Data source: Google Trends (https://www.google.com/trends). This Actor is not made, endorsed or sponsored by Google.

Limits

  • Relative numbers. Interest values are Google's 0-100 index from a sample of searches, not search counts. Two requests a few minutes apart can differ by a point. Low-volume terms show zeros.
  • Rate limits. Google throttles Trends traffic, and the first compare call of a new session is sometimes redirected to an "unusual traffic" page; the backoff above usually gets through on the fourth attempt. Waiting time counts as run time. The Actor does not solve CAPTCHAs, run a browser or use residential proxies.
  • More countries, more requests. 15 countries and 5 keywords is up to 40 requests before related queries, at least 80 seconds. If Google blocks a run part-way, the keyword in progress is lost (uncharged); delivered keywords are kept.
  • Trending feed. About 10 searches per country, current list only, no category or time-window filter. 124 of 249 country codes have no feed; APAC returns 13 countries and ASEAN 8.
  • Subregions. Values run 0-100 within each country, never across countries. Singapore is mapped by city, not subregion, so it gives no record. Subregions without enough data are left out.
  • Scope. Up to 15 countries per run, web search only, one category per run, no city breakdown.
  • Unofficial interface. These endpoints are not a documented API and can change without notice. If the response shape changes, records fail validation and are dropped uncharged.

Keywords

Google Trends scraper, Google Trends API, compare Google Trends across countries, interest over time by country, trending searches by country, related queries, keyword research by market, Southeast Asia search trends.

Changelog

  • 2026-10-20: Store page rewritten (use cases, quick start, FAQ, integrations). No change to the Actor's behaviour or prices.
  • 2026-10-19: Published on the Apify Store; verified on the platform (trending, six countries, 60 records, none failed). Plan discounts added for trending searches and interest series.