Google Trends Scraper - Interest, Regions & Trends avatar

Google Trends Scraper - Interest, Regions & Trends

Pricing

from $4.00 / 1,000 keyword analyses

Go to Apify Store
Google Trends Scraper - Interest, Regions & Trends

Google Trends Scraper - Interest, Regions & Trends

Scrape Google Trends with no browser or API key: interest over time, interest by region, related & rising queries/topics, multi-keyword comparison, and real-time Trending Now searches with traffic & news. Web, YouTube, News, Image & Shopping trends. Monitoring mode.

Pricing

from $4.00 / 1,000 keyword analyses

Rating

0.0

(0)

Developer

Scrape Sage

Scrape Sage

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Share

Google Trends Scraper — Interest, Regions, Related Queries & Trending Now

Extract complete Google Trends data without a browser or API key: interest over time, interest by region (country → state → city → metro), related & rising queries and topics, multi-keyword comparison on one relative 0–100 scale, and real-time Trending Now searches with traffic estimates and related news.

Pure JSON extraction from Google Trends' own endpoints — fast, reliable, and cheap. Covers Web, YouTube, News, Image and Google Shopping trends, any country, any time range from the past hour to 2004.

No login, no cookies you have to supply, no Puppeteer flakiness.

Most Trends scrapers are browser-based (slow, fragile, frequently failing) or only cover one slice — usually web-search interest over time. This actor hits Google Trends' internal data API directly and ships the richest, most complete dataset in the category, in one tool:

CapabilityTypical scrapersThis actor
Interest over time (full series + avg/peak/latest/direction)partial
Interest by region (country / state / city / metro)❌ often
Related queries — top and risingpartial
Related topics — top and rising✅ when Google serves them
Multi-keyword comparison (2–5 on one scale + winner)
YouTube / News / Image / Shopping trends (not just web)
Trending Now with traffic estimate + related newspartial
Monitoring mode — only new trending searches
No browser (fast & reliable) · no API key · no start fee

Use cases

  • SEO & content strategy — find rising queries and topics before they peak, size demand by region, and prioritize content around what people are actually searching for.
  • Market & product research — compare brands, products, or features (compare mode) and see who's winning, where, and which direction interest is moving.
  • Newsrooms & trend desks — pull Trending Now every few minutes (with Monitoring mode) to catch breaking interest with the supporting news articles already attached.
  • Marketing & PPC — discover seasonal demand, geo-target campaigns by the regions with the highest interest, and track branded vs. competitor search.
  • Finance & trading — track search interest in tickers, coins, and themes as an alt-data demand signal across today 5-y or custom windows.
  • YouTube & e-commerce — switch the property to YouTube or Google Shopping to research demand on the surface that matters to you.

How to use

  1. Sign up for Apify — the free plan is enough to try this actor.
  2. Open the Google Trends Scraper, pick a mode, enter your keywords (and a location/time range), and click Start.
  3. Watch results stream into the dataset table.
  4. Export as JSON, CSV, Excel, XML, or RSS — or pull results programmatically via the Apify API.

Input

{
"mode": "keywords",
"searchTerms": ["bitcoin", "ethereum"],
"geo": "US",
"timeRange": "today 12-m",
"searchType": "web",
"dataTypes": ["interestOverTime", "interestByRegion", "relatedQueries", "relatedTopics"]
}
  • modekeywords (full analysis per keyword), compare (2–5 keywords on one relative scale), or trending (real-time Trending Now searches).
  • searchTerms — the keywords to analyze. In compare mode the first 2–5 are compared together.
  • startUrls(optional) paste Google Trends Explore URLs (e.g. https://trends.google.com/trends/explore?q=bitcoin&geo=US&date=today%2012-m); the keywords, geo, time range, category and property are read straight from the URL.
  • geo — blank = Worldwide, or a Google geo code: US, GB, IN, DE, US states US-CA, metros US-CA-807. In trending mode this is the 2-letter country (default US).
  • timeRangenow 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 custom.
  • customTimeRange — used when timeRange = custom, e.g. 2023-01-01 2024-06-30.
  • searchTypeweb (default), images, news, youtube, or froogle (Google Shopping).
  • category — restrict to a Google Trends category id (0 = All; e.g. 7 Finance, 5 Computers & Electronics, 71 Food & Drink).
  • dataTypes — which breakdowns to fetch per keyword: interestOverTime, interestByRegion, relatedQueries, relatedTopics.
  • regionResolutionCOUNTRY, REGION, CITY, DMA, or blank (auto).
  • monitorMode (default false) — output only items not seen in previous runs (ideal for trending).
  • language, maxItems, maxConcurrency, proxyConfiguration — fine-tuning.

Output

Keyword analysis (type: "keywordTrend") — one rich record per keyword:

{
"type": "keywordTrend",
"keyword": "bitcoin",
"geo": "US",
"geoLabel": "US",
"timeRange": "today 12-m",
"property": "web",
"category": 0,
"averageInterest": 42.3,
"peakInterest": 100,
"peakDate": "Nov 16 – 22, 2025",
"latestInterest": 25,
"latestIsPartial": true,
"trendDirection": "falling",
"dataPoints": 52,
"interestOverTime": [
{ "date": "Jun 15 – 21, 2025", "timestamp": 1750000000, "value": 27 },
{ "date": "Jun 14 – 20, 2026", "timestamp": 1781000000, "value": 25, "isPartial": true }
],
"interestByRegion": [
{ "geoName": "Wyoming", "geoCode": "US-WY", "value": 100 },
{ "geoName": "Nevada", "geoCode": "US-NV", "value": 47 }
],
"topRegions": ["Wyoming", "Hawaii", "Nevada", "California", "New Jersey"],
"relatedQueries": {
"top": [{ "query": "bitcoin price", "value": 100, "link": "https://trends.google.com/trends/explore?q=bitcoin+price" }],
"rising": [{ "query": "bitcoin hyper", "value": 4950, "formattedValue": "Breakout" }]
},
"relatedTopics": {
"top": [{ "topic": "Bitcoin", "type": "Cryptocurrency", "mid": "/m/05p0rrx", "value": 100 }],
"rising": [{ "topic": "Bitcoin ETF", "type": "Topic", "formattedValue": "+250%" }]
},
"risingQueries": ["bitcoin hyper", "how to buy bitcoin safely"],
"trendsUrl": "https://trends.google.com/trends/explore?geo=US&q=bitcoin&hl=en-US",
"scrapedAt": "2026-06-16T12:00:00.000Z"
}

Comparison (type: "comparison") — keywords on one relative scale with winner, per-keyword averageInterest/peakInterest, a comparison timeline, and regionComparison.

Trending Now (type: "trendingSearch") — one record per trending search:

{
"type": "trendingSearch",
"title": "korea vs mexico",
"geo": "US",
"rank": 1,
"approxTraffic": "500+",
"approxTrafficNumber": 500,
"pubDate": "2026-06-17T03:20:00.000Z",
"picture": "https://encrypted-tbn2.gstatic.com/images?q=...",
"pictureSource": "CBS Sports",
"newsArticleCount": 3,
"newsArticles": [
{ "title": "Mexico vs. South Korea: World Cup 2026 Match Preview", "url": "https://www.cbssports.com/...", "source": "CBS Sports" }
],
"trendsUrl": "https://trends.google.com/trends/explore?date=now+7-d&geo=US&q=korea+vs+mexico&hl=en-US",
"scrapedAt": "2026-06-16T12:00:00.000Z"
}

Automate & schedule

Run this actor on autopilot and pull results into your own stack:

  • Apify API — start runs, fetch datasets, and manage schedules over REST.
  • apify-client for JavaScript and apify-client for Python — official SDKs.
  • Schedules — run it hourly/daily to track keyword interest, or every few minutes to capture Trending Now; combine with Monitoring mode to output only what's new.
  • Webhooks — trigger downstream actions (Slack alert, CMS draft, CRM update) the moment a run finishes.
import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'MY_APIFY_TOKEN' });
const run = await client.actor('scrapesage/google-trends-scraper').call({
mode: 'compare',
searchTerms: ['chatgpt', 'gemini', 'claude'],
geo: 'US',
timeRange: 'today 12-m',
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items[0].winner, items[0].averageInterest);

Integrate with any app

Connect the dataset to 5,000+ apps — no code required:

  • Make — multi-step automation scenarios.
  • Zapier — push trending topics or rising queries straight into your content workflow.
  • Slack — get pinged when a monitored country has new trending searches.
  • Google Drive / Sheets — auto-export every run to a spreadsheet.
  • Airbyte — pipe results into your data warehouse.
  • GitHub — trigger runs from commits or releases.

Use with AI assistants (MCP)

The output is clean, LLM-ready JSON. Call this actor from Claude, ChatGPT, or any agent framework through the Apify MCP server — ask your assistant to "compare interest in chatgpt vs gemini in the US over the last year" and let it run this scraper for you.

More scrapers from scrapesage

Build a complete search-demand & marketing-intelligence stack:

Tips

  • Interest is relative, not absolute. Google Trends values are 0–100 scaled within each request — 100 is the peak point in that query, not a search count. To compare keywords directly, use compare mode so they share one scale.
  • Hourly vs. daily vs. weekly buckets are chosen by Google from your timeRange: now 1-Hnow 7-d = hourly/minute data, today 1-m/3-m = daily, today 12-m+ = weekly.
  • The latest point is often partial (isPartial: true) — the current period isn't finished, so it usually reads low. Use trendDirection/averageInterest rather than the last point alone.
  • Rate limits: Google Trends limits per IP. Keep maxConcurrency at 2–4; the actor rotates proxy IPs and retries automatically. If a big run gets throttled, switch the proxy group to RESIDENTIAL.
  • Reproduce a chart: build it in the Trends UI, copy the URL, and drop it into startUrls.

FAQ

Do I need a Google Trends API key? No. Google Trends has no official public API — this actor reads the same internal endpoints the trends.google.com site uses, no key or login required.

What do the numbers mean? Interest is a 0–100 index relative to the highest point of the query (by time and place). It's a measure of relative popularity, not absolute search volume.

Can I compare several keywords fairly? Yes — use compare mode with 2–5 keywords. They're returned on one shared 0–100 scale with a computed winner, per-keyword averages, and a regional comparison.

Can I get trends for YouTube or Shopping, not just web search? Yes — set searchType to youtube, news, images, or froogle (Google Shopping).

Why is relatedTopics sometimes empty? Related topics are entity-based and Google has been serving them very sparsely through the Trends data endpoint for everyone — when Google returns no topics for a query, the field is simply absent. Related queries (top & rising) are unaffected and returned in full.

How do I monitor trending searches automatically? Run trending mode on a Schedule with Monitoring mode on — each run outputs only the searches that newly started trending, perfect for alerts and newsletters.

Does Monitoring mode conflict with Apify Schedules? No — they're complementary. The schedule starts the run on your cron; Monitoring mode filters the output to what's new since the last run. Use them together.

Can I export to Google Sheets, CSV, or Excel? Yes — one click in the dataset view, or automatically on every run via the Google Drive integration.

Is scraping Google Trends legal? This actor collects publicly available, aggregated, non-personal trend data. You are responsible for using the data in compliance with applicable laws and Google's terms.

Need help?

Open an issue on the actor's Issues tab, or visit the Apify help center. Feature requests are welcome — this actor is actively maintained.