Google Trends & Keyword Research API avatar

Google Trends & Keyword Research API

Pricing

from $5.00 / 1,000 keyword reports

Go to Apify Store
Google Trends & Keyword Research API

Google Trends & Keyword Research API

Google Trends for many keywords per run: interest over time with growth %, YoY and seasonality, rising and top related queries and topics, interest by region, Trending Now, and Google Autocomplete keyword ideas. Pay per keyword. Works as an MCP server for AI agents.

Pricing

from $5.00 / 1,000 keyword reports

Rating

0.0

(0)

Developer

Ji

Ji

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

0

Monthly active users

17 hours ago

Last modified

Categories

Share

Give it a list of keywords; get back, per keyword, everything you need to judge search demand:

  • Interest over time with ISO dates, plus computed growth %, year-over-year growth, trend direction, peak, volatility and seasonal peak month
  • Related queries and related topics, top and rising (including "Breakout")
  • Interest by region (states for a country, countries for worldwide)
  • Keyword ideas from Google Autocomplete, expanded with question and intent modifiers (how, best, vs, for, alternative, free...)
  • Trending Now for a country (optional)
  • Side-by-side comparison of up to 5 keywords on one 0–100 scale (optional)

Google Trends values are a 0–100 index relative to the highest point in the chosen geo and timeframe. They are not absolute search volumes. Every item carries a valueNote saying so.

Why this actor

Google has no public Trends API and pytrends is archived, so Trends scrapers break when Google rate-limits them. This actor warms Google cookies, follows the explore → widget-token flow, and rotates proxy sessions with exponential backoff on every 429. When one part fails (say, region data), you still get the rest, with the reason in errors; you are only charged for items that contain data.

Benchmark

On 26 Oct 2026 we ran the same 50 keywords (US, past 12 months) through this actor and the most-used Google Trends actors on the Store:

Keywords with dataRun timeNotes
This actor50 / 50175 sOne run, all 50 keywords, plus related queries, regions and Autocomplete ideas
Most-used Trends actor34 / 50157 sOne keyword per run, 50 runs
Apify's Google Trends scraper1 / 50621 s (stopped)Stalled on rate limits
Another all-keywords actor50 / 50831 sAbout 20x the cost per keyword
Two other actors——Accept at most 5 keywords per run

The script and raw results are in bench/.

Input

FieldDefaultNotes
keywords—One report per keyword. Free-plan runs are capped at 10.
geoUSTwo-letter country code; empty = worldwide.
languageen
timeframetoday 12-mnow 7-d, today 1-m, today 3-m, today 12-m, today 5-y, all
category0Google Trends category ID.
searchPropertywebyoutube, images, news, froogle (Shopping).
includeTrends / includeRegionstrue
includeYoYtrueYear-over-year growth. Adds one Trends query per keyword for timeframes under 5 years.
includeTrendingNowfalseWorks with an empty keyword list.
includeAutocompletetrue
autocompleteExpansionquestionsnone (1 query), questions (23), full (49, adds a–z).
compareInOneChartfalseGroups of 5.
maxConcurrency3Keywords researched in parallel (1–5), each on its own proxy session.
proxyConfigurationResidentialStrongly recommended.

Example: agent call

{
"keywords": ["ai video editor", "notion templates", "cold email software"],
"geo": "US",
"timeframe": "today 12-m",
"autocompleteExpansion": "questions",
"compareInOneChart": true
}

Output

One item per keyword (type: "keyword"), plus optional trendingNow and comparison items.

{
"type": "keyword",
"keyword": "notion templates",
"geo": "US",
"timeframe": "today 12-m",
"valueNote": "Google Trends values are a 0-100 index ...",
"metrics": {
"dataPoints": 52, "average": 61.4, "latest": 72, "peak": 100,
"peakPeriod": "2026-01-04", "growthPct": 18.2, "trendDirection": "rising",
"slopePerPeriod": 0.41, "volatility": 0.17, "seasonalPeakMonth": "Jan",
"yoyGrowthPct": 12.5, "yoyDirection": "stable",
"yoyWindow": { "from": "2026-09-27", "to": "2026-10-18", "comparedWithFrom": "2025-09-28", "comparedWithTo": "2025-10-19" }
},
"interestOverTime": [{ "date": "2025-10-26", "formattedTime": "Oct 26 – Nov 1, 2025", "value": 58, "isPartial": false }],
"relatedQueries": {
"top": [{ "query": "free notion templates", "value": 100, "formattedValue": "100" }],
"rising": [{ "query": "notion ai templates", "value": 4250, "formattedValue": "Breakout" }]
},
"relatedTopics": { "top": [], "rising": [] },
"interestByRegion": [{ "geoCode": "US-WA", "geoName": "Washington", "value": 100 }],
"risingQueryTerms": ["notion ai templates"],
"keywordIdeas": [{ "suggestion": "notion templates for students", "sources": ["seed", "suffix:for"], "rank": 2, "timesSuggested": 2 }],
"keywordIdeasCount": 87,
"errors": [],
"scrapedAt": "2026-10-26T17:30:00.000Z"
}

growthPct compares the average of the last quarter of the window with the first quarter. trendDirection is rising at +15% or more, falling at −15% or less, otherwise stable. The partial (in-progress) last period is excluded from metrics.

growthPct describes the shape of the chosen window, so a seasonal keyword looks like it is "rising" as its season approaches. yoyGrowthPct compares the latest 4 weeks with the same 4 weeks one year earlier, which is the number to use for "is this market actually growing?".

Use it from an AI agent (Standby / MCP)

The actor also runs in Apify Standby mode as an always-on web server, so agents get answers in one HTTP call with no run to start or dataset to fetch.

MCP (streamable HTTP, stateless): POST https://<your-standby-url>/mcp with your Apify token as Authorization: Bearer <token>.

ToolWhat it returns
research_keywords1–5 keywords: metrics, rising/top queries and topics, top regions, keyword ideas
compare_keywords2–5 keywords on one 0–100 scale, ranked by average interest
trending_nowToday's trending searches for a country

Every tool takes geo, timeframe, language, searchProperty and detail (summary by default, which returns metrics and top-10 lists to save tokens, or full).

REST

GET /research?keywords=notion%20templates,crm&geo=US&timeframe=today%2012-m&detail=summary
GET /compare?keywords=notion,obsidian,evernote
GET /trending-now?geo=GB

Standby calls are charged with the same events as batch runs, and only for results that contain data.

Pricing (pay per event)

EventWhen
keyword-reportOne keyword item with Trends or Autocomplete data
comparison-reportOne comparison item (up to 5 keywords)
trending-now-reportOne Trending Now item

Items that come back empty are not charged. The run stops cleanly when your maximum charge is reached.

Local development

npm install
npm test
apify run --input '{"keywords":["notion templates"]}'