Option 1: download CSVs from the website
Every chart on trends.google.com has a download icon. That's fine for a one-off. It's one chart per file, though, so a single keyword means three or four downloads, and you have to repeat it by hand every time.
Option 2: the official Google Trends API
Google announced an official Trends API in July 2025. It's an alpha with access by application only, so most people can't use it yet.
Option 3: pytrends
The popular unofficial Python library pytrends is no longer maintained (its repository was archived in 2025). It often fails with HTTP 429 "too many requests" errors, because Google rate-limits Trends heavily.
Option 4: a hosted scraper
Our Google Trends Scraper runs on Apify and handles the rate limiting, pacing requests and retrying automatically. Each keyword comes back as one record with interest over time, interest by region, related queries, and a plain-language summary (rising, falling or stable).
from apify_client import ApifyClient # pip install apify-client (3.x)
client = ApifyClient("YOUR_APIFY_TOKEN")
run = client.actor("rimulabs/google-trends-insights").call(run_input={
"searchTerms": ["iphone", "samsung galaxy", "google pixel"],
"compare": True, # put all keywords on one 0-100 scale
"geo": "US",
"timeRange": "past-12-months",
})
for r in client.dataset(run.default_dataset_id).iterate_items():
print(r["keyword"], r["insights"]["trend"], r["insights"]["recentChangePct"])
A real result for "iphone" (US, past 12 months, compared with Samsung Galaxy and Google Pixel), shortened:
{
"keyword": "iphone",
"insights": { "averageInterest": 62.4, "latestInterest": 49, "peakInterest": 100,
"peakDate": "2026-01-18", "recentChangePct": -5, "trend": "stable" },
"interestByRegion": [
{ "geoCode": "US-LA", "geoName": "Louisiana", "value": 96 },
{ "geoCode": "US-MS", "geoName": "Mississippi", "value": 94 }
],
"relatedQueries": {
"top": [{ "query": "iphone 17", "value": 100 }, { "query": "apple iphone", "value": 73 }],
"rising": [{ "query": "iphone 17e", "label": "Breakout" }, { "query": "iphone 18 colors", "label": "Breakout" }]
}
}
In the same run, "samsung galaxy" averaged 4.4 on that scale and was falling (-59%), and "google pixel" averaged 1.4. Comparing on one scale shows the relative popularity you can't get from three separate searches.
Reading the numbers correctly
- Values are relative, from 0 to 100. 100 is the peak for the chosen keywords, place and time range. They are not search volumes.
- Compare in one request. Values from separate searches are on different scales. Compare up to five keywords together.
- "Breakout" means a related search grew by more than 5,000%. These are often new products or news, worth catching early.
- Disambiguate short terms. Use a category for words like "apple" or "crm", or a more specific phrase.
Trending searches right now
Set "mode": "trendingNow" and a list of country codes to get today's trending searches, with approximate search volume and the news stories behind each one. That's useful for content calendars and alerts.
Cost: $3.00 per 1,000 keyword reports, or $0.50 per 1,000 trending searches. A 20-keyword run costs about $0.06.
Rimu Labs builds and maintains the Actor mentioned in this guide. The guide was written with help from our AI assistant and checked against real runs in October 2026. Questions or corrections: support@rimulabs.com.