Google Trends Scraper
Pricing
from $0.35 / 1,000 results
Google Trends Scraper
Pay Per Result Google Trends scraper — interest over time for any term, compare up to 5, 249 countries, custom date ranges. No browser, no subscription.
Pay Per Result Google Trends scraper — and the price you see is your entire bill. Most Trends scrapers, including the official one, charge platform usage on top of the listed price — and their heavy architecture makes that usage expensive. This Actor was engineered for speed and efficiency from day one, and that efficiency is passed on to you: platform usage included, retries and IP rotation on us, empty runs cost nothing. You pay for the results you receive. Nothing else.
Why this scraper?
Google Trends has no official API, and most scrapers around it are slow, fragile, and stack usage fees on top of their listed price. This Actor is different:
- 💸 All-inclusive pricing — no platform usage charges, no start fees, no subscription. The per-result price is the whole bill.
- ⚡ Seconds, not minutes — a term typically resolves in ~3-5 s, even large term lists finish fast.
- 🔁 Built-in IP rotation — every retry gets a fresh US residential IP. Blocks and 429s are our cost, not yours.
- 🩺 Monitored around the clock — scheduled health checks catch Trends-side changes before your pipeline does. In our latest load test: 100/100 successful runs.
What does Google Trends Scraper do?
- interest over time — the full 0–100 timeline for any search term
- compare up to 5 terms (
isMultiple) with shared normalisation — exactly like the Trends UI compare view - 249 countries via
geo(e.g.US,DE,TR) or worldwide - any time range — presets from the last hour to 2004, or
customTimeRangewith exact dates - category filtering — restrict interest data to any Trends category
- scrape by URL — paste Trends explore URLs with all filters baked in (
startUrls)
Output
One dataset item per term, in the standard shape:
{"inputUrlOrTerm": "iphone, samsung","searchTerm": "iphone","interestOverTime_timelineData": [{"time": "1751846400","formattedTime": "Jul 6 – 12, 2026","formattedAxisTime": "Jul 6, 2026","value": [65],"hasData": [true],"formattedValue": ["65"]}]}
Download as JSON, CSV, Excel, XML, or JSONL — or pull it via API.
How to use it
- Click Try for free.
- Type your terms into Search Terms (add several + enable Compare Terms for comparison mode), or paste Trends explore URLs into Start URLs.
- Pick Time Range / Geo / Category if you need them.
- Run — results land in the dataset in seconds.
Track search interest on a schedule
Put the Actor on an Apify schedule (daily/weekly) with your terms and a short timeRange (e.g. now 7-d): each run appends the freshest interest data to your dataset — a living time series for dashboards, SEO trend alerts, or market research. You pay per result, so a small watchlist costs almost nothing.
Input parameters
| Field | Type | Description |
|---|---|---|
searchTerms | array | Terms to analyse (up to 5 in comparison mode). |
startUrls | array | Trends explore URLs — all filters (q, geo, date, cat) baked in. Alternative to searchTerms. |
isMultiple | boolean | Compare terms in one normalised run (like the Trends UI compare view). |
timeRange | string | now 1-H · now 4-H · now 1-d · now 7-d · today 1-m · today 3-m · today 5-y · all. Empty = last 12 months. |
customTimeRange | string | Exact window "YYYY-MM-DD YYYY-MM-DD" — overrides timeRange. |
geo | string | Two-letter country code; empty = worldwide. |
category | string | Trends category code; empty = all. |
maxItems | integer | Max output items; 0 = unlimited. |
includeGeo | boolean | Also return interest by region and city (interestBySubregion, interestByCity). Off by default. |
includeRelated | boolean | Also return related queries and topics (relatedQueries_top/_rising, relatedTopics_top/_rising). Off by default. |
viewedFrom, spreadsheetId, maxConcurrency, maxRequestRetries, pageLoadTimeoutSecs, skipDebugScreen | – | Accepted for drop-in compatibility with existing configurations. |
By default each run returns interest over time — the fastest, cheapest result. Turn on includeGeo and/or includeRelated when you also need geographic breakdowns or related search terms; these fetch extra data per term.
Migrating from another Trends scraper?
Input keys and output fields mirror the most-used Google Trends actor exactly — same searchTerms, same interestOverTime_timelineData item shape. Change the actor ID, keep everything else. Your downstream parsing continues to work unchanged, minus the monthly subscription.
FAQ
Is scraping Google Trends legal? The Actor reads the same publicly available data the Trends website shows anyone, without login. Use it in line with Google's terms and your local regulations.
Why do values top out at 100? Trends data is relative: 100 is the peak popularity within your chosen time window and term set, not an absolute search volume.