Google Trends API: pytrends Alternative (JSON) avatar

Google Trends API: pytrends Alternative (JSON)

Pricing

Pay per event

Go to Apify Store
Google Trends API: pytrends Alternative (JSON)

Google Trends API: pytrends Alternative (JSON)

Fetches Google Trends data for a list of keywords. Input: keywords[], geo, timeRange. Output: one JSON item per keyword with interestOverTime, interestByRegion, relatedQueries. Use for trend research, SEO, dashboards, AI agents. pytrends alternative, $0.003 per keyword.

Pricing

Pay per event

Rating

0.0

(0)

Developer

Alfhar Development

Alfhar Development

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 hours ago

Last modified

Categories

Share

Google Trends API: pytrends alternative that returns clean JSON

Google Trends scraper for developers. Send a list of keywords, get one JSON item per keyword: interest over time, interest by region and top/rising related queries. No browser, no cookies to manage, no Python library to keep patched. Call it from the Apify API, from apify-client (Python / JavaScript), from the Apify MCP server in an AI agent, or from the Console.

Built by the author of this Actor. It is a paid Actor (pay per event), see Pricing below.

What it does (spec)

DoesFetches public Google Trends data for N keywords, any country, any timeframe
Inputkeywords (array, required), optional geo, timeRange, searchType, compareKeywords
OutputDataset, one item per keyword: averageInterest, peakDate, interestOverTime[], interestByRegion[], relatedQueries.top/rising
Use whenYou need trend data in a script, dashboard, SEO tool, research pipeline or AI agent
Price$0.003 per keyword returned + $0.005 per run start (see the pricing panel for current rates). Failed keywords are not charged

Example input and output

InputOutput (one dataset item)
{"keywords": ["bitcoin"], "geo": "EG", "timeRange": "today 12-m"}keyword: "bitcoin", averageInterest: 32.32, peakDate: "2026-05-03", peakValue: 100, latestValue: 8, plus the timeline, regions and related queries
{"keywords": ["iphone", "samsung galaxy"], "compareKeywords": true, "geo": "SA"}Two items on one shared 0-100 scale, like the Google Trends compare view
{"keywords": ["اسعار الذهب"], "geo": "EG"}Arabic and other non-Latin terms work unchanged
{"keywords": ["ramadan"], "searchType": "youtube", "customTimeRange": "2025-01-01 2025-06-30"}YouTube search interest for a custom date range

Shortened real output for the first row:

{
"keyword": "bitcoin",
"geo": "EG",
"timeRange": "today 12-m",
"searchType": "web",
"averageInterest": 32.32,
"peakDate": "2026-05-03",
"peakValue": 100,
"latestValue": 8,
"interestOverTime": [
{"date": "2025-10-05", "timestamp": 1759622400, "label": "Oct 5 – 11, 2025", "value": 22, "hasData": true, "isPartial": false}
],
"interestByRegion": [
{"geoCode": "EG-JS", "geoName": "South Sinai Governorate", "value": 100}
],
"relatedQueries": {
"top": [{"query": "bitcoin price", "value": 100, "formattedValue": "100"}],
"rising": [{"query": "bitcoin news today", "value": 484450, "formattedValue": "Breakout", "breakout": true}]
},
"exploreUrl": "https://trends.google.com/trends/explore?q=bitcoin&geo=EG&date=today%2012-m",
"scrapedAt": "2026-10-07T10:45:01Z"
}

Use from Python

$pip install apify-client
import os
from apify_client import ApifyClient
client = ApifyClient(os.environ["APIFY_TOKEN"])
run = client.actor("alfhar/google-trends-scraper-pro").call(run_input={
"keywords": ["iphone", "samsung galaxy"],
"compareKeywords": True,
"geo": "SA",
"timeRange": "today 3-m",
})
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(item["keyword"], item["averageInterest"], item["peakDate"])

A runnable example with a pandas export lives in the open-source repo: https://github.com/alf7ar/google-trends-api-python (same author as this Actor).

pytrends alternative

pytrends is an unofficial Python wrapper for Google Trends. The repository is archived on GitHub (read-only, last push August 2024), so it is unmaintained and open issues will not be fixed. Google also rate limits automated Trends traffic (HTTP 429), which is the usual reason scripts that worked yesterday fail today.

If you are moving off pytrends, this Actor covers the same data:

pytrends callThis Actor
build_payload(kw_list, geo=, timeframe=)keywords, geo, timeRange / customTimeRange
interest_over_time()interestOverTime[]
interest_by_region()interestByRegion[] (regionResolution: COUNTRY, REGION, CITY, DMA)
related_queries()relatedQueries.top / relatedQueries.rising
gprop='youtube' etc.searchType: web, images, news, youtube, shopping
manual time.sleep and retry loopshandled in the Actor: direct requests first, proxy retry with a fresh IP if rate limited

Differences to know: you pay per keyword instead of running your own code for free, results come back as JSON rows (not pandas DataFrames), and relatedTopics is best effort (Google often returns none to automated clients). You do not need to manage a proxy or cookie jar.

Input fields

FieldMeaningExample
keywordsSearch terms (one result each)["bitcoin", "ethereum"]
compareKeywordsCompare up to 5 terms on one 0-100 scalefalse
geoCountry or region code, empty = worldwide"EG", "US-CA"
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"today 12-m"
customTimeRangeOverrides timeRange: YYYY-MM-DD YYYY-MM-DD"2025-01-01 2025-06-30"
categoryGoogle Trends category ID, 0 = all0
searchTypeweb, images, news, youtube, shopping"web"
includeInterestOverTime / includeInterestByRegion / includeRelatedQueriesSwitch sections on or offtrue
regionResolutionAUTO, COUNTRY, REGION, CITY, DMA"AUTO"
includeRelatedTopicsBest effort, see limitationsfalse
languageLabel language"en-US"
proxyConfigurationUsed only when Google rate limits direct requestsApify Proxy

Pricing

Pay per event: $0.003 per keyword that returns data and $0.005 when a run starts. Example: 100 keywords is about $0.30 plus the start fee. Set a maximum cost per run and the Actor stops at your limit. The pricing panel on this page is authoritative.

Limitations

  • Google Trends values are relative (0-100 within the chosen term, region and timeframe), not absolute search counts. Use compare mode to place terms on one scale.
  • Google decides the timeline granularity from the timeframe and may return an empty list for very low-volume terms.
  • Related topics are returned by Google only to some clients; related queries are reliable.
  • The Actor reads only public Trends data, does not log in, and requests only API paths the Trends robots.txt allows. Google's terms apply to your use of the data.

Support

Missing a field or hit a problem? Open an issue on the Issues tab of this Actor.