Google Trends Scraper
Pricing
from $0.60 / 1,000 trend saveds
Google Trends Scraper
Track public Google Trends Trending Now searches by country. Export trend ranks, traffic labels, related queries, and articles.
Pricing
from $0.60 / 1,000 trend saveds
Rating
0.0
(0)
Developer
Hanna Nosova
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
13 hours ago
Last modified
Share
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. |
Output fields
| JSON key | Label | Type | Description |
|---|---|---|---|
mode | Mode | string | Output field for mode. |
query | Query | string | Output field for query. |
title | Title | string | Output field for title. |
rank | Rank | integer | Output field for rank. |
geo | Geo | string | Output field for geo. |
hl | Hl | string | Output field for hl. |
observedAt | ObservedAt | string / null | Output field for observedat. |
traffic | Traffic | integer / null | Output field for traffic. |
searchVolumeLabel | SearchVolumeLabel | string / null | Output field for searchvolumelabel. |
trendBreakdown | TrendBreakdown | array | Output field for trendbreakdown. |
relatedQueries | RelatedQueries | array | Output field for relatedqueries. |
articles | Articles | array | Output field for articles. |
sourceUrl | SourceUrl | string | Output field for sourceurl. |
scrapedAt | ScrapedAt | string | Output field for scrapedat. |
Pricing
This Actor uses Apify pay-per-event pricing. The prices below come from the current Actor pricing configuration. Apify public plans map to Store discount tiers, so the table shows both the user-facing plan context and the pricing tier name. The final price shown in Apify depends on the user account plan and any custom agreement.
| Event | What is charged | Price |
|---|---|---|
start | One-time fee per run | $0.005 |
| Event | What is charged | Free / no discount | Starter / Bronze | Scale / Silver | Business / Gold | Custom / Platinum | Custom / Diamond |
|---|---|---|---|---|---|---|---|
item | Per Google Trends row produced | $1.15 / 1,000 | $1 / 1,000 | $0.78 / 1,000 | $0.6 / 1,000 | $0.4 / 1,000 | $0.28 / 1,000 |
Apify may also charge platform usage for compute, storage, proxies, or data transfer outside this Actor pricing. Check the Actor run and the Apify Pricing tab for the exact cost shown to your account.
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.
Ready-to-run examples
- Google Trends Japan Trending Now
- Google Trends Daily News Brief
- Google Trends India Content Ideas
- Google Trends Us Gb De Snapshot
- Google Trends Us Trending Now
View all ready-to-run examples
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 ApifyClientimport osclient = 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().itemsprint(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.
FAQ and troubleshooting
Why did I get fewer rows than requested?
Google Trends may publish fewer current trend rows for some countries at a given moment.
The actor saves what the public feed returns.
Why is traffic lower than expected?
The numeric traffic field is parsed from the public label.
Always keep searchVolumeLabel for the original Google Trends text.
Do I need a proxy?
Usually no.
If your environment receives temporary network errors, enable Apify Proxy in the advanced input section.
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.
Related actors
- Apple App Store Apps Scraper
- Apple App Store Reviews Scraper
- Bing SERP & Search Results Scraper
- DuckDuckGo Search Results Scraper
- Google Ads Transparency Scraper
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.