Google Trends Scraper avatar

Google Trends Scraper

Pricing

from $0.23 / result

Go to Apify Store
Google Trends Scraper

Google Trends Scraper

Google Trends API for Trending Now: pick one of 125 measured countries and a 4-hour to 7-day window, and get one 13-field row per trending search — keyword, search volume, growth percent, Google's own categories, start and end times, related queries and news count. No Google account.

Pricing

from $0.23 / result

Rating

4.0

(1)

Developer

AgentX

AgentX

Maintained by Community

Actor stats

1

Bookmarked

4

Total users

0

Monthly active users

8 days ago

Last modified

Share

Google Trends Scraper is a google trends api for Trending Now: one country and one time window in, one row per trending search out — keyword, search volume, growth percent, Google's own categories, start and end times, related queries and news coverage.

Apify Users Apify Runs $0.0012 per trend 125 countries API + MCP ready

  • 125 countries, every one of them measured. The list is not an ISO country table: each entry was asked for trends and answered with some. Countries Google publishes nothing for are not offered.
  • 13 fields per trend, including the bucketed search volume, the growth percent, Google's own category tags, and both ends of the trend's lifetime.
  • No schema ceiling on how many you ask for. Google applies the requested cap and returns what it currently holds; a direct August 12, 2026 check found 2,407 United States trends for seven days.
  • Four windows — 4 hours, 24 hours, 48 hours, 7 days — each returning a different set rather than a longer slice of the same one.

The smallest useful run reads one trend: one Actor Start plus one Result event, $0.0112 on the FREE tier.


A menu where every option works The country list carries 125 entries because 125 is how many Google actually publishes Trending Now for. The other half of the ISO country table — Antarctica, Bouvet Island, and 123 more — is not on the menu, so a selection cannot end in "no data for this country".

Volume and growth as numbers, not badges search_volume is the bucket Google assigns, growth_percent the rise it reports. Both arrive typed, so a threshold is a comparison rather than a string parse.

Google's own categories, not inferred ones Each trend carries the category ids Google filed it under, resolved to their names. Nothing here guesses a topic from the keyword.

A trend that has ended says so ended_at is null exactly while a trend is still running, which makes "what is trending right now" a filter on the data rather than a guess about freshness.

Ask for everything There is no ceiling on max_results. The source applies its own, so an oversized request returns the whole board instead of being refused.


Quick Start Guide

Step 1: Choose a country and a window

Open the Actor input and pick from the 125 countries and four time windows. Both are prefilled with a working combination.

Set max_results. There is no upper bound; the source returns what it has.

Step 3: Run it and read the Dataset

Click Start. A run finishes in a couple of seconds and writes one row per trending search.


Input Parameters

Three inputs, all required, none of them optional decoration.

ParameterTypeRequiredDescription
locationstringYesWhich country's Trending Now board to read. 125 measured options.
time_rangestringYesPast 4 hours, Past 24 hours, Past 48 hours or Past 7 days.
max_resultsintegerYesHow many trends to save. Minimum 1, no maximum.
{
"location": "United States",
"time_range": "Past 24 hours",
"max_results": 50
}

What each window returns

WindowUnited States, measured
Past 4 hours86 trends
Past 24 hours431 trends
Past 48 hours~830 trends
Past 7 days2,407 trends in the August 12, 2026 direct check

Smaller countries publish far fewer — Benin returned 14 and Bahrain 12 over 24 hours.


Output Data Schema

One Dataset row per trending search, with 13 fields.

FieldTypeDescription
keywordstringThe trending search itself.
locationstringCountry name as selected.
geostringTwo-letter code Google files the trend under.
started_atstringISO 8601 time the trend began.
ended_atstringISO 8601 time it ended, or null while it is still running.
search_volumenumberGoogle's bucketed search count, such as 2000 or 100000.
growth_percentnumberPercentage rise Google reports, 50 to 1000+.
categoriesarrayGoogle's own category names, such as Sports or Politics.
related_queriesarraySearches Google groups with this trend.
news_countnumberHow many news articles Google attached.
platformstringSource platform label.
processorstringURL of the Actor that produced the row.
processed_atstringISO 8601 UTC timestamp recorded when the row was formatted.
{
"keyword": "arsenal vs dortmund",
"location": "United States",
"geo": "US",
"started_at": "2026-08-08T19:00:00+00:00",
"ended_at": null,
"search_volume": 100000,
"growth_percent": 1000,
"categories": ["Sports"],
"related_queries": ["arsenal dortmund lineup"],
"news_count": 12
}

The item above is abbreviated: processor and processed_at are omitted here, so a real row carries all 13 fields. A value Google does not publish stays null rather than being filled in.

Export formats

  • JSON — the complete record with every field.
  • CSV — spreadsheet-compatible; categories and related_queries need expansion after export.
  • API — the Apify client SDKs and the Dataset REST API.

Integration Examples

The HTTP, Python, JavaScript, Make.com, n8n, and MCP examples all call agentx/google-trends-scraper with the same fifty-trend United States scenario.

Actor ID

km7HzzOyTTErK2H6D

Also addressable by name as agentx/google-trends-scraper — both forms work in the API, the SDKs, Make.com, and n8n.

HTTP

curl -X POST "https://api.apify.com/v2/acts/agentx~google-trends-scraper/run-sync-get-dataset-items?token=YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"location": "United States",
"time_range": "Past 24 hours",
"max_results": 50
}'

Python

from apify_client import ApifyClient
client = ApifyClient("YOUR_API_TOKEN")
run = client.actor("agentx/google-trends-scraper").call(run_input={
"location": "United States",
"time_range": "Past 24 hours",
"max_results": 50,
})
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(item["keyword"], item["search_volume"], item["growth_percent"])

JavaScript

import { ApifyClient } from "apify-client";
const client = new ApifyClient({ token: "YOUR_API_TOKEN" });
const run = await client.actor("agentx/google-trends-scraper").call({
location: "United States",
time_range: "Past 24 hours",
max_results: 50,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => console.log(item.keyword, item.search_volume));

Make.com

  1. Add the module Run an Actor.
  2. Turn Map on, to the right of the Actor field.
  3. Paste the Actor ID km7HzzOyTTErK2H6D into the Actor field.
  4. Click ⟳ Refresh to the left of Map.
  5. Edit Input JSON with location, time_range, and max_results.
  6. Set Run synchronously to Yes.
  7. Add Get Dataset Items and select defaultDatasetId.

n8n

  1. Add Run an Actor and get dataset from the Apify node.
  2. Set ActorBy ID and paste km7HzzOyTTErK2H6D.
  3. Edit Input JSON with location, time_range, and max_results.

MCP

{
"mcpServers": {
"apify": {
"command": "npx",
"args": [
"-y",
"@apify/actors-mcp-server",
"--actors",
"agentx/google-trends-scraper"
],
"env": { "APIFY_TOKEN": "YOUR_TOKEN" }
}
}
}

Pricing

One trending search costs $0.00120 on the FREE tier, plus a $0.01000 Actor Start per run — so the smallest useful run is $0.0112.

EventBilling unitFREEBRONZESILVERGOLD / PLATINUM / DIAMOND
ResultOne trending search row$0.00120$0.00108$0.00096$0.00090
Actor StartOne per GB of memory, minimum one$0.01000$0.01000$0.01000$0.01000

The Actor runs at 256 MB, so every run bills exactly one Actor Start.

  • One trend: $0.01000 + $0.00120 = $0.0112
  • Fifty trends: $0.01000 + 50 × $0.00120 = $0.07

One run returns the whole board you asked for, so reading fifty trends in a single run costs one Actor Start rather than fifty.

Prices can change; the pricing page is authoritative.


Use Cases

The common thread is needing what a country is searching for, as data.

  • Newsroom monitoring. Watch what a market is searching for, with the volume and growth attached.
  • Content planning. Pull the last week's trends by category and pick the ones still running.
  • Market research. Compare what trends in one country against another on the same window.
  • Alerting. Poll a short window on a schedule and act on trends above a growth threshold.

Alternatives

Which tool fits depends on whether you want what is trending or how one keyword behaves.

  • Google Keyword Trends — interest over time for keywords you name, rather than the board of what is trending.
  • Google's own Trends API — launched 2026, access-gated and advertiser-authenticated. This Actor reads the public Trending Now experience instead, which needs no account.
  • A Trends page in the browser — fine for a look; it produces no rows and cannot be scheduled.

Limits and Troubleshooting

Most surprises come from the country and the window.

  • A country not on the list is not supported rather than empty. The 125 offered were each measured.
  • Short windows return few trends. Four hours of a small market can be a handful of rows; that is the source, not a failure.
  • Trends move. The same country and window an hour apart returns a different set, which is the point.
  • ended_at is null for live trends, so filter on it rather than on processed_at.

Trust and Reliability

Every number on this page came from running the Actor, and can be re-run.

The 125 countries were established by asking the source for each of the 250 in the original list at its widest window; exactly half answered empty and were removed. The row counts per window are measured runs. The 13 fields are defined in the Actor's published output contract. Run history, logs and Dataset exports live in the Apify Console.


This Actor is not affiliated with Google, and reads only the public Trending Now experience a visitor already sees.

Trending searches are aggregate, non-personal signals, but what you build on them is yours to check: local rules on market research, editorial use and automated monitoring continue to apply. The Actor holds no Google account and reaches nothing behind one.


Frequently Asked Questions

Do I need a Google account or API key?

No. The Actor reads the public Trending Now experience, so there is no Google login, no quota and no advertiser account. You need an Apify token to call the Actor itself.

Why only 125 countries when Google lists more places?

Because 125 is how many publish Trending Now data. The other 125 in the original ISO-derived list — Antarctica and Bouvet Island among them — answered empty at the widest window, so offering them would have been a menu item that could only fail.

What does one run cost?

One Actor Start plus one Result event per trend saved. Fifty trends is $0.01 + 50 × $0.0012 = $0.07 on the FREE tier; paid tiers discount the Result event.

Yes. Set max_results to the cap you need; Google applies it and returns up to the rows currently available for the selected country and window. A direct seven-day United States check found 2,407 rows on August 12, 2026, so a fixed schema maximum would age poorly.

How fast is a run?

About one and a half seconds for a small request. The Actor makes two requests to the source regardless of how many rows come back.

Each window returns its own trend set rather than a longer slice of the same one. Fresh 25-row samples for 4, 24, 48, and 168 hours had different keyword sets in every measured country, while the uncapped seven-day United States check returned 2,407 rows.

How do I tell a live trend from one that has finished?

ended_at is null while a trend is still running and carries a timestamp once Google closes it.

Not an unrestricted one. Google's own Trends API launched in 2026 access-gated and advertiser-authenticated. This Actor reads the public Trending Now experience with no Google account, and bills per row returned — the smallest run costs $0.0112.

Yes. Use Apify Schedules with the same country and window, and dedupe on keyword across runs. Because each window returns its own set, a short window polled often is the cheapest way to catch a trend while ended_at is still null.


AgentX publishes 77 Actors — the three closest to this one first, then the full catalog by category.

Closest to this Actor:

Business and Market Intelligence

Jobs and Hiring

Social Media

Video, Transcripts and Downloads

E-Commerce and Retail

Classifieds and Automotive

Real Estate


Support and Community

Ask about fields, runs or billing in the AgentX community on Telegram; for a reproducible bug, open an Issue with the run ID and the exact input.

AgentX is an Arcyton brand — arcyton.com.

Last Updated: August 15, 2026