Google Trends Scraper avatar

Google Trends Scraper

Pricing

from $0.60 / 1,000 trend saveds

Go to Apify Store
Google Trends Scraper

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

Hanna Nosova

Maintained by Community

Actor 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.

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

FieldDescription
modeCollection mode, currently trending_now.
queryTrend query text.
titleHuman-readable trend title.
rank1-based order in the source feed.
geoCountry code used for the run.
hlLocale stored for context.
observedAtTime supplied by Google Trends when available.
trafficParsed numeric traffic estimate when possible.
searchVolumeLabelOriginal traffic label, such as 10K+.
trendBreakdownSupporting trend/news text.
relatedQueriesRelated trend context extracted from the feed.
articlesNews articles with title, URL, source, and snippet when available.
sourceUrlPublic Google Trends source URL.
scrapedAtActor scrape timestamp.

Input settings

SettingJSON keyType / defaultDescription
Modemodestring, default "trending_now"Trending Now collects the public daily trending searches from Google Trends. Keyword interest mode is planned for a later version.
Country codegeostring, default "US"Two-letter Google Trends country code, such as US, GB, DE, CA, AU, IN, or JP.
Additional country codesgeosarray, default ["US","GB","DE"]Optional list of country codes to collect in one run. Leave empty to use only Country code.
Localehlstring, default "en-US"Locale tag saved in output and used for reporting context.
Maximum trendsmaxItemsinteger, default 20Maximum number of trending searches to save. Keep this low for quick tests.
Proxy configurationproxyConfigurationobject, default {"useApifyProxy":false}Optional proxy settings. The public Google Trends RSS feed usually works without a proxy.

Output fields

JSON keyLabelTypeDescription
modeModestringOutput field for mode.
queryQuerystringOutput field for query.
titleTitlestringOutput field for title.
rankRankintegerOutput field for rank.
geoGeostringOutput field for geo.
hlHlstringOutput field for hl.
observedAtObservedAtstring / nullOutput field for observedat.
trafficTrafficinteger / nullOutput field for traffic.
searchVolumeLabelSearchVolumeLabelstring / nullOutput field for searchvolumelabel.
trendBreakdownTrendBreakdownarrayOutput field for trendbreakdown.
relatedQueriesRelatedQueriesarrayOutput field for relatedqueries.
articlesArticlesarrayOutput field for articles.
sourceUrlSourceUrlstringOutput field for sourceurl.
scrapedAtScrapedAtstringOutput 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.

EventWhat is chargedPrice
startOne-time fee per run$0.005
EventWhat is chargedFree / no discountStarter / BronzeScale / SilverBusiness / GoldCustom / PlatinumCustom / Diamond
itemPer 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.

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

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 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 traffic and searchVolumeLabel because labels may be approximate.
  • Use rank to compare feed position across repeated runs.
  • Keep geo explicit 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.

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.