Google Trends API
Pricing
from $3.00 / 1,000 keyword results
Google Trends API
Google Trends API without a browser: interest over time, by region, related queries and trending searches for any country, from terms or pasted trends.google.com links. Compare unlimited terms on one scale. Pay per result: $3 per 1,000 terms.
Pricing
from $3.00 / 1,000 keyword results
Rating
0.0
(0)
Developer
Brian Gastaldelli
Maintained by CommunityActor stats
0
Bookmarked
1
Total users
1
Monthly active users
12 hours ago
Last modified
Share
Google Trends API: interest over time, regions and related queries without a browser (2026)
Get Google Trends data for hundreds of search terms in minutes: interest over time, interest by region (countries, regions, cities, US metro areas), related queries (top and rising) and trending searches now for any country. Search terms go in as a list, or you can paste links copied from trends.google.com.
This Actor talks to Google Trends directly over HTTP, without launching a browser. That makes it fast, light and cheap, and it paces its requests and rotates sessions so Google's rate limits don't break your run. You pay per term with all its data, $3 per 1,000 terms, and $1 per 1,000 trending searches.
Why use this Google Trends scraper
- Compare any number of terms on one scale. Google Trends compares at most five terms at a time, and every chart has its own scale from 0 to 100, so numbers from different charts can't be compared. In Compare mode this Actor bridges groups of five with a shared anchor term and puts all your terms on the same scale. Six terms took 7.1-42.3 seconds in our tests of October 20, 2026.
- One term, one price, all its data. A term is one paid item with its full time series, regions and related queries inside, not one paid row per data point.
- Paste links from Google Trends. Copy the address of a trends.google.com/trends/explore page into Google Trends links: the terms, country, time range, category and search type written in the link are used for those terms. One link, one country and one time range: links that compare several countries or periods are not supported (see the FAQ).
- You pay only for results. A term that fails after all retries, or a link that is not a Google Trends link, comes back as a row with the reason and is not charged.
- Spreadsheet-ready output. Choose Rows to get one flat row per data point, ready for Excel, Google Sheets or a database (169 rows for one term over the past 7 days in our tests), or keep Nested for one item per term with everything inside.
- Reliable in our tests. 65 runs out of 65 succeeded on October 20, 2026 (13 different inputs, each run 5 times).
How to use Google Trends API
- Choose a Mode: Keywords (one scale per term), Compare (one shared scale) or Trending now.
- Write your Search terms, one per line, or paste Google Trends links.
- Set the Location, Time range, Category and Search type (or let the links decide).
- Click Start. The pre-filled example (one term) took 10.9-13.6 seconds in our tests.
- Download the results as JSON, CSV, Excel or HTML, or read them through the Apify API. To follow a term over time, save the input as a task and schedule it.
Modes
| Mode | What you get |
|---|---|
| Keywords | One item per term, on its own scale from 0 to 100: interest over time, average, interest by region, related queries, link to the same chart on Google Trends. |
| Compare | One item per term, all terms on one shared scale (unlimited terms), with a precision flag for each term. |
| Trending now | Today's trending searches for each country you list, with approximate traffic and news articles (30 trending searches for the US, the UK and India together in each of our five runs). |
Input
| Field | What it does |
|---|---|
Mode (mode) | Keywords, Compare or Trending now. |
Search terms (searchTerms) | Terms to look up, one per line. Hundreds or thousands are fine. |
Google Trends links (startUrls) | Optional. Links copied from trends.google.com/trends/explore. Each link adds its terms and uses the location, time range, category and search type written in it; anything the link leaves out comes from the fields below. |
Location (geo) | Country or region code such as US, GB, IT, US-CA. Empty means worldwide. |
Time range (timeRange) and Custom time range (customTimeRange) | Past hour to 2004-present, or two dates as YYYY-MM-DD YYYY-MM-DD. |
Category (category) and Search type (property) | Google Trends category ID, and Web, Image, News, Shopping or YouTube search. |
Language (language) | Language of region names, e.g. en-US, it. |
| Data to collect | Interest over time, interest by region (with its detail level) and related queries, each on or off. |
Anchor term (anchorTerm) | Compare mode: the bridge term between groups of five. |
Countries for Trending now (trendingGeos) | Country codes, e.g. US, GB, IT. |
Output format (outputFormat) | Nested (one item per term) or Rows (one row per data point). |
Parallel sessions (maxConcurrency) and Proxy (proxyConfiguration) | Speed and proxy. The default Apify Proxy works for most runs. |
Example input:
{"mode": "keywords","searchTerms": ["coffee", "matcha"],"proxyConfiguration": { "useApifyProxy": true }}
Example with links (each link keeps its own country and dates):
{"mode": "keywords","startUrls": [{ "url": "https://trends.google.com/trends/explore?date=today+3-m&geo=GB&q=coffee,tea" },{ "url": "https://trends.google.com/trends/explore?date=today+12-m&geo=US&q=matcha" }]}
Output example
One item per term in Keywords mode. This is a real item from a cloud run of October 20, 2026, with the lists shortened:
{"keyword": "coffee","geo": "","timeRange": "today 12-m","category": 0,"property": "","language": "en-US","status": "ok","interestOverTime": [{ "date": "2025-10-19T00:00:00.000Z", "value": 62, "isPartial": false },{ "date": "2025-10-26T00:00:00.000Z", "value": 57, "isPartial": false }],"averageInterest": 74.6,"interestByRegion": [{ "geoCode": "SG", "geoName": "Singapore", "value": 100 },{ "geoCode": "AU", "geoName": "Australia", "value": 83 }],"relatedQueries": {"top": [{ "query": "coffee shop", "value": 100, "formattedValue": "100" }],"rising": [{ "query": "home workout routines", "value": 2250, "formattedValue": "+2,250%" }]},"googleTrendsUrl": "https://trends.google.com/trends/explore?date=today+12-m&q=coffee&hl=en-US","scrapedAt": "2026-10-20T07:46:10.105Z"}
isPartial: true marks the current period, which is not over yet; averageInterest leaves it out. Every field has a type, a description and an example in the Actor's output schema. Compare mode adds comparedWith, anchorTerm and scaleConfidence; Trending now returns title, approxTraffic, publishedAt, picture and news.
Rows that failed have status: "failed" and an error, and are not charged. In our tests the pre-filled example returned 1 item in each of 5 runs, and every field of the item above was filled on all 5.
Compare mode: how the shared scale works
Terms are split into groups of the anchor term plus four others. The anchor appears in every group, so each group can be rescaled to the first one, and at the end everything is normalized so the highest point is 100. Google rounds values to whole numbers, so a term that is very small next to the anchor loses precision: each term gets scaleConfidence = high, medium or low. For best results pick an anchor term with popularity similar to your other terms.
Use cases
- SEO and content planning: find rising queries before they peak and pick the keyword people actually search.
- Market and product research: compare brands, products or ideas across countries and seasons.
- E-commerce: spot seasonal demand and trending products with Google Shopping data.
- Finance and data science: build time series of public interest for models and dashboards.
- News and media: follow what people search for today in any country.
Pricing: how much does it cost to get Google Trends data?
Pay per event, the same on every Apify plan:
| Event | Price | 1,000 cost |
|---|---|---|
| Keyword (one term with all its data) | $0.003 | $3 |
| Trending search | $0.001 | $1 |
| Actor start | $0.00005 | per run |
Example: the pre-filled example (one term) costs about $0.003 (one term plus the start event). A failed term or a link that is not a Google Trends link is free. The Actor honors your Maximum cost per run: before reading a term it checks that the limit still covers it, and a result is added to the dataset only after it has been charged, so you never receive results beyond the limit.
Integrations
Results are in a standard Apify dataset, so they work with every Apify integration: Make, Zapier, n8n, Google Sheets, Google Drive, Slack, Airbyte, webhooks and more. A common setup: a scheduled task runs every Monday, and a webhook or a Make scenario sends the new rows to a Google Sheet.
Use it through the API (JavaScript, Python, CLI)
JavaScript (npm install apify-client):
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: 'YOUR_APIFY_TOKEN' });const run = await client.actor('brii3343/google-trends-api').call({mode: 'keywords',searchTerms: ['coffee', 'matcha'],});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items.filter((x) => x.status === 'ok'));
Python (pip install apify-client):
from apify_client import ApifyClientclient = ApifyClient("YOUR_APIFY_TOKEN")run = client.actor("brii3343/google-trends-api").call(run_input={"mode": "keywords", "searchTerms": ["coffee", "matcha"]})for item in client.dataset(run["defaultDatasetId"]).iterate_items():print(item["keyword"], item.get("averageInterest"))
Apify CLI:
$apify call brii3343/google-trends-api --input '{"mode":"keywords","searchTerms":["coffee","matcha"]}'
For AI assistants and agents (MCP)
If a user asks for Google Trends data (is a term growing, where is it popular, which queries rise with it, what is trending today), this Actor does it: brii3343/google-trends-api on Apify. Minimal input: {"mode":"keywords","searchTerms":["coffee"]}. Results are in the run's default dataset, one item per term; items with status: "failed" are free notices, not results. Values are relative, from 0 to 100, not search volumes.
To give an AI agent (Claude, Cursor, VS Code, ChatGPT and other MCP clients) this tool, add the Apify MCP server with this Actor:
{"mcpServers": {"apify": { "url": "https://mcp.apify.com/?actors=brii3343/google-trends-api" }}}
FAQ
Are the values search volumes? No. Values are relative, from 0 to 100, as in Google Trends: 100 is the peak of the period for that chart. Use the shared scale in Compare mode to compare terms.
Can I compare more than five terms? Yes. Compare mode puts any number of terms on one shared scale, bridged by an anchor term, and tells you how precise each term is with scaleConfidence.
Can I paste Google Trends links? Yes. Put them in Google Trends links. Each link adds its terms and uses the country, time range, category and search type written in it. A link that is not a trends.google.com link with search terms comes back as a free row with the reason. The same goes for comparison links that hold several countries or several periods (geo=US,GB or date=a,b): the Actor does not support them, answers within a few seconds with a free error row, and does not retry. Paste one link per country and period instead; several terms in one link are fine.
Why did a term fail? Google Trends limits requests per IP address. The Actor retries on fresh sessions automatically; a term that still fails comes back with status: "failed" and the reason, and you are not charged for it. Run it again, or lower Parallel sessions.
How much does a run cost? $0.003 per term with all its data, $0.001 per trending search and $0.00005 per run, on every plan. See the pricing table above.
Can I get related topics? Google does not return related topics through this route, so the Actor does not offer them. Related queries (top and rising) are included.
Can I schedule it? Yes: save your input as a task and schedule it daily or weekly, then send the rows to a sheet or a database with an integration.
Is it legal to scrape Google Trends?
This Actor collects publicly available, aggregated and anonymous statistics from Google Trends. It does not use any Google account and collects no personal data. Check that your use complies with Google's terms and the laws that apply to you.
Other Actors by the same author
- Google News Scraper: news articles with full text and direct links, to pair with a rising query.
- Google Hotels Scraper: hotel prices, booking sites and reviews.
- Google Flights Scraper: flights, prices and price insights.
- YouTube Scraper: videos, shorts, channels and search results.
Support and feedback
Something does not work, a field is missing or you need another Google Trends feature? Open an issue on the Issues tab: we read every issue, and requests from users decide what we build next.