Home / Tools / Google Trends Scraper & API
Keyword research
Google Trends Scraper & API
Reliable Google Trends API: interest over time, interest by region/city, related queries and topics (top + rising), and Trending Now by country. Compare up to 5 terms, batch hundreds, any geo, time range, category or YouTube/News/Shopping. Auto-retries with fresh sessions.
- Price: $3 per 1,000 × search term analysed
- Prefilled example: finished in 19 s on Oct 19, 2026 (Done in 8.4s: 3/3 terms succeeded (0 without enough search volume), 0 failed; 10 trending searches from 1/1 countries; 472 rows.)
- Reliability: 32/33 public runs succeeded in the last 30 days (97%)
- Works with: Apify Console, REST API, Python, JavaScript, MCP (Claude, Cursor, VS Code), n8n, Make, Zapier
- Last updated: 2026-10-19
Sample output
| Search term | Rank | Related query | Top / rising | Interest |
|---|---|---|---|---|
| tea | 1 | green tea | top | 100 |
| tea | 2 | coffee | top | 43 |
| tea | 1 | how to make cold brew tea | rising | 2,050 |
Real rows from the prefilled example run (Oct 19, 2026), 5 of 16+ fields shown. Export as JSON, CSV, Excel or HTML, or read them through the API.
Full JSON of one real output row (300 rows in the example dataset)
{
"type": "trending_now",
"searchTerm": "chargers vs chiefs",
"geo": "US",
"rank": 1,
"searchVolume": 500000,
"searchVolumeFormatted": "500K+",
"increasePercentage": 1000,
"startedAt": "2026-10-18T14:10:00Z",
"endedAt": null,
"isActive": true,
"categories": [
"Sports"
],
"trendBreakdown": [
"chargers vs chiefs",
"kenneth walker iii",
"chiefs vs chargers",
"... 64 more"
],
"newsArticles": [
{
"title": "Chiefs 22-6 Chargers (Oct 18, 2026) Game Recap",
"url": "https://www.espn.com/nfl/recap/_/gameId/401873006",
"source": "ESPN",
"publishedAt": "2026-10-18T23:37:30Z",
"picture": "https://encrypted-tbn1.gstatic.com/images?q=tbn:ANd9GcRNKlUNEIlgtEzdv5fc4LbzI1ssQD9dmq2MrNCutnvo08nmuY6nJSWV54mJBto"
},
{
"title": "Jim Harbaugh admits key LA Chargers situation ‘needs to be addressed’ after abysmal 0-6 start",
"url": "https://sports.yahoo.com/articles/jim-harbaugh-admits-key-la-090000773.html",
"source": "Yahoo Sports",
"publishedAt": "2026-10-19T09:00:00Z",
"picture": "https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcRMntie21xAYSycGXmc3sZYyeBe_S4IS6M9l5KaF985n9evH5TIuC5Xluc4mtw"
},
{
"title": "TOUCHDOWN! Ken Walker's Eighth of the Season Boosts Chiefs Lead to 15-3 Against Chargers",
"url": "https://www.chiefs.com/video/touchdown-ken-walker-s-eighth-of-the-season-boosts-chiefs-lead-to-15-3-against-chargers",
"source": "Kansas City Chiefs",
"publishedAt": "2026-10-18T22:34:50Z",
"picture": "https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcSpRU1c1E60EF3rXkOSHPuM9X631D8XIGY679Osj1NNiggzQjTUvJ1wsgAWTF8"
}
],
"timeWindowHours": 24,
"exploreUrl": "https://trends.google.com/trends/explore?q=chargers%20vs%20chiefs&date=now%201-d&geo=US",
"scrapedAt": "2026-10-19T10:00:05Z"
}Output fields
From the Actor's dataset schema. Every row has the same flat shape, so it drops straight into a spreadsheet, a database or an agent's context.
| Field | Type | Description |
|---|---|---|
type | string | Row type: interest_over_time, interest_by_region, related_query, related_topic, trending_now, term (per-term format) or status (no data / error, free) |
searchTerm | string | Search term (or trending search) |
comparedWith | array | Other terms in the same comparison (values share one 0-100 scale) |
geo | string | Geo code (WORLDWIDE for worldwide) |
timeRange | string | Requested time range |
period | string | Resolved date range from Google |
category | integer | Category ID |
property | string | web, images, news, youtube or shopping |
date | string | Timeline point (YYYY-MM-DD, or ISO datetime for hourly data, UTC) |
timestamp | integer | Unix timestamp of the timeline point |
formattedTime | string | Google's label for the point |
value | integer | Interest 0-100 (region rows of comparisons: share %); related rows: relative value or % growth |
formattedValue | string | Google's formatted value (e.g. +250%, Breakout) |
hasData | boolean | False when Google has too little data |
isPartial | boolean | Last timeline point is still being collected |
resolution | string | Timeline (WEEK, DAY, HOUR...) or region resolution |
rank | integer | Position in its list |
geoCode | string | Region code (e.g. US-CA, DMA 807) |
geoName | string | Region name |
valueType | string | interest (single term) or share (comparison) |
lat | number | City latitude |
lng | number | City longitude |
rankType | string | top or rising |
query | string | Related query |
Pricing
Pay per result, billed by Apify. No subscription and no minimum. Discount tiers apply automatically on paid Apify plans.
| Event | Free plan | Bronze | Silver | Gold |
|---|---|---|---|---|
| Search term analysed main Charged once per search term analysed for one geo and time range, regardless of output format or row count. | $0.003 | $0.0026 | $0.0022 | $0.0019 |
| Trending search Charged once per Trending Now row returned. | $0.0005 | $0.0004 | $0.0004 | $0.0003 |
Examples on the Free plan: 100 search term analyseds = $0.30, 1,000 search term analyseds = $3, 10,000 search term analyseds = $30. Apify's Free plan includes $5 of monthly usage credit. Prices read from the Apify API at build time (2026-10-19).
Example input
This is the prefilled input on the Store page. Keep it and click Start to see real data in seconds.
{
"searchTerms": [
"coffee",
"tea, matcha"
],
"geos": [
"US"
],
"timeRange": "today 12-m",
"category": 0,
"property": "web",
"includeInterestOverTime": true,
"includeInterestByRegion": true,
"regionResolution": "auto",
"includeLowSearchVolumeRegions": false,
"maxRegions": 250,
"includeRelatedQueries": true,
"includeRelatedTopics": false,
"maxRelatedItems": 25,
"trendingGeos": [
"US"
],
"trendingHours": "24",
"trendingActiveOnly": false,
"maxTrendingPerGeo": 10,
"includeTrendingNews": true,
"outputFormat": "flat",
"language": "en-US",
"timezoneOffsetMinutes": 0,
"proxyConfiguration": {
"useApifyProxy": true
},
"residentialFallback": true,
"maxConcurrency": 5,
"maxRetries": 8
}Use it from code, no-code or an AI agent
cURL (one request, returns rows)
curl -X POST \
"https://api.apify.com/v2/acts/wrenfield-data~google-trends-scraper/run-sync-get-dataset-items" \
-H "Authorization: Bearer $APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{"searchTerms": ["coffee", "tea, matcha"], "geos": ["US"], "timeRange": "today 12-m", "category": 0, "property": "web", "includeInterestOverTime": true, "includeInterestByRegion": true, "regionResolution": "auto", "includeLowSearchVolumeRegions": false, "maxRegions": 250, "includeRelatedQueries": true, "includeRelatedTopics": false, "maxRelatedItems": 25, "trendingGeos": ["US"], "trendingHours": "24", "trendingActiveOnly": false, "maxTrendingPerGeo": 10, "includeTrendingNews": true, "outputFormat": "flat", "language": "en-US", "timezoneOffsetMinutes": 0, "proxyConfiguration": {"useApifyProxy": true}, "residentialFallback": true, "maxConcurrency": 5, "maxRetries": 8}'Python
# pip install apify-client
import os
from apify_client import ApifyClient
client = ApifyClient(os.environ["APIFY_TOKEN"])
run = client.actor("wrenfield-data/google-trends-scraper").call(
run_input={
"searchTerms": [
"coffee",
"tea, matcha"
],
"geos": [
"US"
],
"timeRange": "today 12-m",
"category": 0,
"property": "web",
"includeInterestOverTime": True,
"includeInterestByRegion": True,
"regionResolution": "auto",
"includeLowSearchVolumeRegions": False,
"maxRegions": 250,
"includeRelatedQueries": True,
"includeRelatedTopics": False,
"maxRelatedItems": 25,
"trendingGeos": [
"US"
],
"trendingHours": "24",
"trendingActiveOnly": False,
"maxTrendingPerGeo": 10,
"includeTrendingNews": True,
"outputFormat": "flat",
"language": "en-US",
"timezoneOffsetMinutes": 0,
"proxyConfiguration": {
"useApifyProxy": True
},
"residentialFallback": True,
"maxConcurrency": 5,
"maxRetries": 8
},
max_total_charge_usd=1.00, # hard cap for this run
)
for row in client.dataset(run["defaultDatasetId"]).iterate_items():
print(row)JavaScript / Node
// npm i apify-client
import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor('wrenfield-data/google-trends-scraper').call({
"searchTerms": [
"coffee",
"tea, matcha"
],
"geos": [
"US"
],
"timeRange": "today 12-m",
"category": 0,
"property": "web",
"includeInterestOverTime": true,
"includeInterestByRegion": true,
"regionResolution": "auto",
"includeLowSearchVolumeRegions": false,
"maxRegions": 250,
"includeRelatedQueries": true,
"includeRelatedTopics": false,
"maxRelatedItems": 25,
"trendingGeos": [
"US"
],
"trendingHours": "24",
"trendingActiveOnly": false,
"maxTrendingPerGeo": 10,
"includeTrendingNews": true,
"outputFormat": "flat",
"language": "en-US",
"timezoneOffsetMinutes": 0,
"proxyConfiguration": {
"useApifyProxy": true
},
"residentialFallback": true,
"maxConcurrency": 5,
"maxRetries": 8
}, { maxTotalChargeUsd: 1 });
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);MCP (Claude, Cursor, VS Code, any MCP client)
{
"mcpServers": {
"wrenfield-google-trends-scraper": {
"url": "https://mcp.apify.com?tools=wrenfield-data/google-trends-scraper"
}
}
}Remote MCP server hosted by Apify. Sign in with OAuth on first use, or send Authorization: Bearer <APIFY_TOKEN>. The tool appears as wrenfield-data--google-trends-scraper. More client setups on the MCP page.
n8n, Make, Zapier
Use the official Apify node or app, pick Run Actor, enter wrenfield-data/google-trends-scraper and paste the input JSON above. Then read the run's dataset items. Ready-made n8n workflows are on the n8n templates page.
FAQ
How much does Google Trends Scraper cost?
$0.003 per search term analysed on the Apify Free plan ($3 per 1,000), billed per result by Apify with no subscription. Plus $0.0005 per trending search. Higher Apify plans get the discounted tiers shown in the pricing table. You can cap any run with a maximum cost.
Is there an official Google Trends API?
Google offers a limited alpha API only to selected partners. This Actor gives you the same data the Google Trends website shows, as JSON/CSV, via the Apify API, schedules and integrations.
Why does my Google Trends scraper / pytrends keep getting 429 errors?
Google limits requests per IP and per session and wants a valid cookie. This Actor rotates sessions and IPs automatically, backs off exponentially and falls back to residential IPs, so you don't have to.
Why are related topics off by default?
Google returns an empty related-topics list to regular automated sessions. When you enable includeRelatedTopics, the Actor requests related topics through Google Trends' embeddable-widget endpoint and sends a Referer header from a pool of public websites. Turn it on only if that method is acceptable for your use case. It adds 2 requests per term and doesn't change the price.
What do the 0-100 values mean?
Google Trends values are relative: 100 is the peak popularity for the term (or the highest of the compared terms) in the chosen geo and period. Compare terms in one line (up to 5) to put them on the same scale. Values for different queries or runs are not directly comparable, and Google samples data, so low-volume values can vary slightly between requests.
How many keywords can I scrape?
As many as you like - add hundreds of lines; they are processed in parallel and each is billed once per geo.
Can I get daily trending searches?
Yes - add country codes to Trending now (Google replaced the old Daily Search Trends page with Trending Now). Choose the past 4 hours, 24 hours, 48 hours or 7 days, filter by category and get news articles for each trend.
Related tools
Keyword Search Volume
Google Keyword Planner volume, CPC, competition and 12-month trends, no Ads account.
Keyword Research Tool Launching soon
Keyword ideas with volume, KD, intent and SERP features in one row.
Competitor Keywords Launching soon
Every keyword a domain ranks for, with position, volume and traffic.
Keyword Difficulty Checker Launching soon
KD 0-100 and search intent for thousands of keywords at once.
Google Autocomplete Expander Launching soon
Long-tail and question keywords from Google and YouTube suggestions.
People Also Ask Scraper Launching soon
PAA question trees, related searches and AI Overview text.
Compare and plan
Try Google Trends Scraper & API now
Open it on Apify, keep the prefilled example and click Start. The Apify Free plan includes $5 of monthly credit, no card needed.
Open on Apify