Google Trends API: Bulk Trends, Trending Now & Change Monitor avatar

Google Trends API: Bulk Trends, Trending Now & Change Monitor

Pricing

from $2.50 / 1,000 keyword reports

Go to Apify Store
Google Trends API: Bulk Trends, Trending Now & Change Monitor

Google Trends API: Bulk Trends, Trending Now & Change Monitor

Reliable Google Trends scraper: interest over time, by region, related queries & topics, 100+ keywords on one scale (anchor-normalized), Trending Now, and change-only monitoring. Agent/MCP-friendly output.

Pricing

from $2.50 / 1,000 keyword reports

Rating

0.0

(0)

Developer

Shan Abbas

Shan Abbas

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

11 days ago

Last modified

Categories

Share

Google Trends API — Bulk Google Trends Scraper, Trending Now & Change Monitoring

Scrape Google Trends reliably at scale: interest over time, interest by region, related queries (top + rising + Breakout), related topics, 100+ keywords on one comparable 0–100 scale, daily Trending Now searches, and change-only monitoring for schedules and webhooks. No browser, no login, no Google API key. Works as a pytrends alternative (pytrends was archived in April 2025) and is ready for AI agents, MCP, n8n, Make and Zapier.

  • Built for reliability. It uses a pool of cookie-warmed sessions, rate limiting per session, exponential backoff that retires bad sessions, and automatic RESIDENTIAL proxy fallback used only for keywords that keep getting rate-limited. When a keyword fails, it gets a clear error item instead of crashing or hanging the run. Runs never "succeed" with an empty dataset: if every keyword fails, the run fails with an actionable message.
  • You only pay for results. Error and no-data items are free.
  • Compare 100+ keywords on one scale. Google caps a comparison at 5 terms and rescales every request separately. Our compareMany mode chains 5-term batches through a shared anchor keyword and rescales everything onto one 0–100 scale. You get one ranked list.
  • Monitoring mode (changedOnly). It stores a snapshot in a named key-value store and returns only keywords whose interest moved more than X% since the last run, or that gained new Breakout queries. Pair it with a daily schedule and a webhook.
  • Output that suits agents. outputFormat: "agentSummary" gives you one sentence plus key numbers per keyword (avg, latest, peak, trend direction, top regions, rising queries). It is small and cheap in tokens.
  • Trending Now for any number of countries, with approximate traffic, images and linked news articles.
ModeOutput per keyword
interestOverTimetimeline [{date, value 0-100, isPartial}], plus average, latest complete value, peak, peak date, trend direction and % change of the recent period vs the average
interestByRegionsub-regions (states/provinces, or countries if worldwide) sorted by interest
relatedQueriestop and rising queries with an isBreakout flag and explore links
relatedTopicstop and rising topics (entity id, title, type)
compareManythe same stats on a shared scale, plus rank, scaleFactor and lowPrecision flag
trendingNowtitle, approxTraffic (also as a number), pubDate, picture, news[]
changedOnlya full report, but only for keywords that changed, plus change.reasons

The four keyword modes are merged into one report per keyword, so you pay one keyword-report event per keyword.

Input example

{
"searchTerms": ["electric bike", "e-scooter", "https://trends.google.com/trends/explore?q=cargo%20bike&geo=GB"],
"modes": ["interestOverTime", "interestByRegion", "relatedQueries"],
"geo": "US",
"timeRange": "today 12-m",
"category": 0,
"property": "web",
"language": "en-US",
"outputFormat": "agentSummary",
"proxyConfiguration": { "useApifyProxy": true }
}
  • timeRange: now 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 2024-01-01 2024-06-30.
  • property: web, news, images, youtube or froogle (Google Shopping).
  • compareMany: {"modes":["compareMany"], "searchTerms":[...150 terms...], "anchorKeyword":"yoga"}. Pick an anchor of middling popularity. Results from batches where the anchor is near 0 are flagged lowPrecision.
  • Monitoring: {"modes":["changedOnly"], "snapshotStoreName":"my-trends", "snapshotKey":"ebikes-us", "changeThresholdPct":20} on a daily schedule.
  • Trending Now: {"modes":["trendingNow"], "trendingGeos":["US","GB","PK"]}.

Output example (agentSummary)

{
"keyword": "coffee", "geo": "US", "timeRange": "today 12-m", "status": "ok",
"summary": "\"coffee\" (US, today 12-m): avg interest 76.94/100, latest 71, peak 100 on 2026-04-12, trend flat (-4.9% recent vs avg). Top regions: Hawaii 100, ... Rising queries: ...",
"averageValue": 76.94, "latestValue": 71, "peakValue": 100, "trendDirection": "flat",
"topRegions": ["Hawaii", "..."], "risingQueries": ["..."], "breakoutQueries": ["..."],
"exploreUrl": "https://trends.google.com/trends/explore?q=coffee&geo=US&date=today+12-m"
}

A failed keyword produces {"keyword": "...", "status": "error", "errorType": "RateLimitError", "errorMessage": "..."}. Each run also writes RUN_SUMMARY to the default key-value store with the success rate, average time and bytes per keyword, and HTTP status counts.

Pricing (pay per event)

EventPrice
keyword-report (one successful keyword report or compareMany keyword)$2.50 / 1,000
trending-item (one Trending Now search)$0.50 / 1,000
Error / no-data itemsfree

Set maxItems or the platform's "max total charge" to cap spending. The Actor stops cleanly when the limit is reached.

Tips for reliability and cost

  • Keep maxConcurrency at 3–5 when using datacenter proxy. Each session uses its own IP and cookie.
  • Residential fallback is on by default. Each keyword uses about 25–40 KB (12-month range), so residential traffic stays cheap.
  • Google Trends values are relative (0–100), not absolute search volumes.

Use with AI agents / MCP

Call it from the Apify MCP server or the API with outputFormat: "agentSummary" and a small maxItems. The input fields have descriptions written for LLM tool use.

FAQ

Is it legal to scrape Google Trends? Google Trends shows aggregated, anonymized data with no personal data. You are responsible for following Google's terms and the laws that apply to you. Why do my numbers differ from the website? Google samples its data. Values can shift by a few points between requests, and the last point is often partial (isPartial: true). Related topics are empty? Google currently returns empty related-topic lists to many API-style clients. The field is still present, so it won't break your pipeline.