Google Trends API: Fast Google Trends Scraper avatar

Google Trends API: Fast Google Trends Scraper

Pricing

Pay per event

Go to Apify Store
Google Trends API: Fast Google Trends Scraper

Google Trends API: Fast Google Trends Scraper

Google Trends API: interest over time, by country/region/city, related queries and topics (top + rising), compare 5 terms, YouTube/News/Shopping search, Trending Now. Never hangs. $1.50 per 1,000.

Pricing

Pay per event

Rating

0.0

(0)

Developer

A Q

A Q

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

a day ago

Last modified

Share

Google Trends API is a fast Google Trends scraper for interest over time, interest by country, state, city or US metro, related queries and related topics (top and rising/breakout), comparisons of up to 5 keywords, for Web, YouTube, News, Google Shopping and Image search, plus Google's Trending Now searches. It costs $1.50 per 1,000 search terms, failed terms are free, and runs never hang.

  • ⏱️ It finishes: every term has a hard timeout (default 120 s). A failed term is reported with a reason and not charged.
  • 📈 All data in one row per term: timeline, regions, related queries and topics, average interest and a link to the same chart on Google Trends.
  • ⚖️ Compare up to 5 terms on one scale: write "ethereum, solana, cardano" in one row.
  • 🔍 Any search type: Web, YouTube, News, Google Shopping and Images, with any category, location and time range, including custom dates.
  • 🔥 Trending Now: what's trending in any country, with approximate search volume and news links.
  • 🤖 Simple flat input that works well with Zapier, Make and AI agents through MCP.
  • SEO and content: find rising queries and breakout topics early.
  • Market research and e-commerce: compare brands and spot seasonality with Shopping search.
  • Investing and crypto: use search interest as a sentiment signal.
  • YouTube creators: see what people search for on YouTube.
  1. Add Search terms, one per row (comma-separate up to 5 to compare).
  2. Pick Location, Time range and Search type.
  3. Choose the data to include and, optionally, Trending now countries.
  4. Click Start and download, or call the API.

Input

{
"searchTerms": ["bitcoin", "ethereum, solana, cardano"],
"geo": "US",
"timeframe": "today 12-m",
"include": ["interestOverTime", "interestByRegion", "relatedQueries", "relatedTopics"],
"trendingNowGeos": ["US"]
}

Time ranges: 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 a custom range like 2025-01-01 2025-06-30. Search types (property): "" web, youtube, news, froogle (Shopping), images.

Output example

Real output for "nba" in the US (arrays shortened to 3 items):

{
"searchTerms": [
"nba"
],
"searchTerm": "nba",
"geo": "US",
"timeframe": "today 12-m",
"category": 0,
"property": "web",
"status": "ok",
"interestOverTime": [
{
"date": "2025-10-05",
"formattedTime": "Oct 5 – 11, 2025",
"nba": 15,
"isPartial": false
},
{
"date": "2025-10-12",
"formattedTime": "Oct 12 – 18, 2025",
"nba": 16,
"isPartial": false
},
{
"date": "2025-10-19",
"formattedTime": "Oct 19 – 25, 2025",
"nba": 46,
"isPartial": false
}
],
"interestByRegion": [
{
"geoCode": "US-DC",
"geoName": "District of Columbia",
"nba": 100
},
{
"geoCode": "US-OK",
"geoName": "Oklahoma",
"nba": 97
},
{
"geoCode": "US-NY",
"geoName": "New York",
"nba": 96
}
],
"relatedQueries": [
{
"keyword": "nba",
"top": [
{
"query": "nba games",
"value": 100,
"formattedValue": "100",
"link": "https://trends.google.com/trends/explore?q=nba+games&date=today+12-m&geo=US"
},
{
"query": "nba scores",
"value": 82,
"formattedValue": "82",
"link": "https://trends.google.com/trends/explore?q=nba+scores&date=today+12-m&geo=US"
},
{
"query": "playoffs nba",
"value": 80,
"formattedValue": "80",
"link": "https://trends.google.com/trends/explore?q=playoffs+nba&date=today+12-m&geo=US"
}
],
"rising": [
{
"query": "nba 2k27",
"value": 13550,
"formattedValue": "Breakout",
"link": "https://trends.google.com/trends/explore?q=nba+2k27&date=today+12-m&geo=US"
},
{
"query": "who won the nba finals 2026",
"value": 7350,
"formattedValue": "Breakout",
"link": "https://trends.google.com/trends/explore?q=who+won+the+nba+finals+2026&date=today+12-m&geo=US"
},
{
"query": "nba finals 2026",
"value": 6400,
"formattedValue": "Breakout",
"link": "https://trends.google.com/trends/explore?q=nba+finals+2026&date=today+12-m&geo=US"
}
]
}
],
"relatedTopics": [
{
"keyword": "nba",
"top": [],
"rising": []
}
],
"averages": {
"nba": 36
},
"exploreUrl": "https://trends.google.com/trends/explore?q=nba&date=today+12-m&geo=US",
"scrapedAt": "2026-10-09T22:51:57.821Z"
}

Dataset views: Overview, Interest over time (one row per date, ready for charts), Interest by region, Related queries & topics and Trending now.

This Actorapify/google-trends-scraper
Per 1,000 search terms (all data types)$1.50$3.00
Trending Now searches$0.50 / 1,000not available
Failed or no-data termsFreecharged
Run start$0.005n/a

Examples: 100 keywords ≈ $0.16, 10,000 keywords ≈ $15. Set a maximum cost per run and the Actor stops at that limit.

How to use the API (Python, JavaScript, cURL)

Every run is available through the Apify API. Get your API token in Apify Console → Settings → API & Integrations.

Python

from apify_client import ApifyClient
client = ApifyClient("YOUR_APIFY_TOKEN")
run = client.actor("best_apis/google-trends-api").call(run_input={"searchTerms": ["coffee, tea"], "geo": "GB", "timeframe": "today 5-y"})
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(item)

JavaScript / Node.js

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'YOUR_APIFY_TOKEN' });
const run = await client.actor('best_apis/google-trends-api').call({"searchTerms": ["coffee, tea"], "geo": "GB", "timeframe": "today 5-y"});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);

cURL (run and get results in one request)

curl -X POST "https://api.apify.com/v2/acts/best_apis~google-trends-api/run-sync-get-dataset-items?token=YOUR_APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{"searchTerms": ["coffee, tea"], "geo": "GB", "timeframe": "today 5-y"}'

Integrations

Connect results to Google Sheets, Slack, email, Zapier, Make, n8n, Airbyte, webhooks or AI agents through the Apify MCP server. Use Schedules in Apify Console to run it hourly, daily or weekly. Export any dataset as JSON, CSV, Excel, XML or HTML.

FAQ

Is there an official Google Trends API? Google has announced a limited alpha API with restricted access. This Actor gives you Google Trends data over a simple HTTP API today, with no approval needed.

Is there a free Google Trends API for Python? Libraries like pytrends often hit 429 errors and break. This Actor handles retries and IP rotation, and the Apify free plan includes monthly credits.

Why are values 0 to 100 and not search volumes? Google Trends publishes relative interest only. Compare a keyword of known size in the same row to estimate volume.

Why no_data? Google shows no data for very low-volume terms or tiny regions. You aren't charged.

Do I need a residential proxy? No. The default Apify datacenter proxy works.

Is it legal to scrape Google Trends? This Actor only collects publicly available data, does not log in and does not bypass paywalls. Scraping public data is generally legal, but personal data is protected by laws such as GDPR and CCPA, and you are responsible for how you use the results. If unsure, ask a lawyer. Read more in Apify's guide to the legality of web scraping.

Questions, bugs or feature requests? Open an issue on the Issues tab. We usually reply within 24 hours.