Track what people are searching for on Google right now.
Google Trends Scraper collects public Google Trends Trending Now rows for a selected country and saves clean, analysis-ready trend records to an Apify dataset.
Use it to monitor news cycles, plan content, watch brand-adjacent topics, and spot fast-moving demand signals without manually refreshing Google Trends.
What does Google Trends Scraper do?
Google Trends Scraper extracts current Trending Now searches from public Google Trends country feeds.
It returns each trend as a structured dataset row with the trend title, rank, country, search-volume label, normalized traffic number, related news context, article links, source URL, and scrape timestamp.
The actor is designed for simple recurring monitoring jobs where you need fresh trend rows in a spreadsheet, BI tool, automation workflow, or API pipeline.
Who is it for?
- 📰 Newsrooms tracking breaking topics by country.
- 🔎 SEO teams watching search demand before planning articles.
- 📣 PR and reputation teams monitoring sudden story spikes.
- 📈 Market researchers looking for early demand signals.
- 🧑💼 Agencies preparing daily trend briefs for clients.
- 🤖 Automation builders feeding trend data into alerts or dashboards.
Why use this actor?
Manual Google Trends checks are easy once, but hard to repeat at scale.
This actor gives you repeatable inputs, consistent output fields, API access, scheduling, webhooks, dataset exports, and integration with the wider Apify platform.
You can run it every hour, every morning, or on demand when a campaign or topic needs monitoring.
Current MVP scope
The first version focuses on trending_now data.
It collects public country-level Google Trends Trending Now rows.
Keyword interest over time is not exposed in the input yet because the first release prioritizes stable public trend collection.
Data returned
| Field | Description |
|---|---|
mode |
Collection mode, currently trending_now. |
query |
Trend query text. |
title |
Human-readable trend title. |
rank |
1-based order in the source feed. |
geo |
Country code used for the run. |
hl |
Locale stored for context. |
observedAt |
Time supplied by Google Trends when available. |
traffic |
Parsed numeric traffic estimate when possible. |
searchVolumeLabel |
Original traffic label, such as 10K+. |
trendBreakdown |
Supporting trend/news text. |
relatedQueries |
Related trend context extracted from the feed. |
articles |
News articles with title, URL, source, and snippet when available. |
sourceUrl |
Public Google Trends source URL. |
scrapedAt |
Actor scrape timestamp. |
Input settings
| Setting | JSON key | Type / default | Description |
|---|---|---|---|
| Mode | mode |
string, default "trending_now" |
Trending Now collects the public daily trending searches from Google Trends. Keyword interest mode is planned for a later version. |
| Country code | geo |
string, default "US" |
Two-letter Google Trends country code, such as US, GB, DE, CA, AU, IN, or JP. |
| Additional country codes | geos |
array, default ["US","GB","DE"] |
Optional list of country codes to collect in one run. Leave empty to use only Country code. |
| Locale | hl |
string, default "en-US" |
Locale tag saved in output and used for reporting context. |
| Maximum trends | maxItems |
integer, default 20 |
Maximum number of trending searches to save. Keep this low for quick tests. |
| Proxy configuration | proxyConfiguration |
object, default {"useApifyProxy":false} |
Optional proxy settings. The public Google Trends RSS feed usually works without a proxy. |
Input options
Mode
Choose Trending Now.
The schema currently exposes only the stable trending_now mode.
Country code
Use a two-letter Google Trends country code such as US, GB, DE, CA, AU, IN, or JP.
Additional country codes
Add optional country codes when you want one run to collect several markets.
For example, use US, GB, and DE to create a small international trend snapshot.
Locale
Use a locale label such as en-US.
The locale is stored in the output for reporting context.
Maximum trends
Set the maximum number of trend rows to save.
For fast tests, keep this around 10 to 25.
For production monitoring, use the number of rows your workflow needs.
Proxy configuration
Proxy use is optional.
The public feed usually works without a proxy, which keeps runs lightweight.
If your environment needs proxy routing, configure it in the advanced section.
Example input
{
"mode": "trending_now",
"geo": "US",
"geos": ["US", "GB", "DE"],
"hl": "en-US",
"maxItems": 20,
"proxyConfiguration": {
"useApifyProxy": false
}
}
Example output
{
"mode": "trending_now",
"query": "houston rockets",
"title": "houston rockets",
"rank": 1,
"geo": "US",
"hl": "en-US",
"observedAt": "Thu, 2 Jul 2026 01:30:00 -0700",
"traffic": 200,
"searchVolumeLabel": "200+",
"relatedQueries": ["Rockets, Marcus Smart reportedly agree to 2-year deal"],
"articles": [
{
"title": "Sources: Marcus Smart agrees to 2-year deal with Rockets",
"url": "https://www.espn.com/",
"source": "ESPN",
"snippet": null
}
],
"sourceUrl": "https://trends.google.com/trending/rss?geo=US",
"scrapedAt": "2026-07-02T08:53:48.654Z"
}
API usage
Run Google Trends Scraper from your own code with the Apify API.
Node.js
import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const input = {
"mode": "trending_now",
"geo": "US",
"geos": [
"US",
"GB",
"DE"
],
"hl": "en-US",
"maxItems": 20
};
const run = await client.actor('fetch_cat/google-trends-scraper').call(input);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);
Python
from apify_client import ApifyClient
import os
client = ApifyClient(os.environ["APIFY_TOKEN"])
run = client.actor("fetch_cat/google-trends-scraper").call(run_input={
"mode": "trending_now",
"geo": "US",
"geos": [
"US",
"GB",
"DE"
],
"hl": "en-US",
"maxItems": 20
})
items = client.dataset(run["defaultDatasetId"]).list_items().items
print(items)
cURL
curl -X POST "https://api.apify.com/v2/acts/fetch_cat~google-trends-scraper/runs?token=$APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{"mode":"trending_now","geo":"US","geos":["US","GB","DE"],"hl":"en-US","maxItems":20}'
Tips for better trend monitoring
- Run the actor on a schedule for comparable daily snapshots.
- Store both
trafficandsearchVolumeLabelbecause labels may be approximate. - Use
rankto compare feed position across repeated runs. - Keep
geoexplicit when combining datasets from multiple countries. - Use webhooks to trigger alerts when new rows arrive.
Integrations
Google Trends Scraper works with standard Apify integrations.
You can send results to Google Sheets, Make, Zapier, Slack, Airtable, BigQuery, or your own API.
Common workflows include daily editorial trend briefings, PR monitoring alerts, SEO topic discovery, and market research dashboards.
Use with AI agents via MCP
Google Trends Scraper can be used by AI assistants through the hosted Apify MCP server.
Claude Code setup
claude mcp add --transport http apify "https://mcp.apify.com?tools=fetch_cat/google-trends-scraper"
Claude Desktop, Cursor, or VS Code JSON config
{
"mcpServers": {
"apify": {
"url": "https://mcp.apify.com?tools=fetch_cat/google-trends-scraper"
}
}
}
Example prompts
- "Run Google Trends Scraper with this input JSON and summarize the dataset."
- "Export the latest Google Trends Scraper results to a table I can review."
- "Schedule this Actor for monitoring and tell me what changed between runs."
Scheduling
Use Apify schedules for repeated monitoring.
Hourly runs work for fast-moving news desks.
Daily morning runs work for content calendars.
Weekly runs work for broad market snapshots.
Webhooks
Add a webhook to notify your workflow when a run succeeds.
For example, send the dataset URL to Slack or trigger a Make scenario that appends rows to a spreadsheet.
Legality and responsible use
This actor collects public Google Trends information.
Use the data responsibly, respect applicable laws, and review Google terms and Apify platform policies for your use case.
Do not use trend data to infer private information about individuals.
Limits
The actor is designed for public Trending Now rows.
It does not log in to Google.
It does not collect personalized account data.
It does not currently provide keyword interest over time.
Support
Report bugs, wrong output, blocked runs, or missing fields from the Actor page. Include the Apify run ID or run URL, your input JSON, what you expected, what the Actor returned, and one reproducible public URL so the issue can be tested quickly.