Google Trends (reliable)
Pricing
from $10.00 / 1,000 results
Google Trends (reliable)
Pricing
from $10.00 / 1,000 results
Rating
0.0
(0)
Developer
Vasilis Linakis
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Share
Google Trends data for your search terms, as clean JSON. Get interest over time, interest by region, related queries and related topics for one term or for up to five terms compared in one chart. Any term that fails gets an explicit error record, and you are never charged for it.
Use it to track demand for a product category, compare brands, time content and campaigns, or find rising queries in a market.
Why use it
- Reliable by design. Each term (or comparison group) runs in isolation, so one failure never fails the run. When Google rate-limits a request (HTTP 429), the Actor waits as long as Google asks (
Retry-After), or backs off exponentially, and tries again, up to 3 times per term. Then it writes anerrorrecord and moves on. - You pay only for data. Only
resultrecords are charged. Errors, terms with no data and the closingsummaryrecord are free. - Honest about gaps. If Google does not provide a section for a request, the record says so in
warningsinstead of returning silent empty data. - Polite. The Actor reads
robots.txtat the start of every run and honours it. It uses only the Trends data API (/trends/api/...) and never requests the explore pages. It sends at most one request per second and identifies itself with a descriptive User-Agent.
Input
| Field | What it does |
|---|---|
searchTerms | Required. Terms to look up, e.g. ["web scraping"]. Topic ids such as /m/05z1_ also work. |
compareMode | Off (default): one record per term, each scaled 0-100 on its own. On: terms compared in groups of up to 5, one record per group, with values scaled together. |
timeRange | now 1-H, now 4-H, now 1-d, now 7-d, today 1-m, today 3-m, today 12-m (default), today 5-y or all. |
customTimeRange | Exact dates, "YYYY-MM-DD YYYY-MM-DD". Overrides timeRange. |
geo | Country or region code (US, GB, US-CA). Empty = worldwide. |
category | Google Trends category id; 0 = all (default). |
gprop | web (default), images, news, froogle (Shopping) or youtube. |
interestOverTime | Time series. On by default. |
interestByRegion | Interest by subregion. On by default. |
relatedQueries | Top and rising related queries. On by default. |
relatedTopics | Top and rising related topics. Off by default (see Limitations). |
hl | Language for labels and region names, default en-US. |
tz | UTC offset in minutes, Google's convention (300 = UTC-5), default 0. |
Example:
{"searchTerms": ["web scraping"], "geo": "US", "timeRange": "today 12-m"}
Output
Each dataset item has a type field:
resultis one term or one comparison group, with the sections you asked for.erroris one term or group that failed. It has anerror_code(invalid_input,robots_disallowed,robots_unavailable,rate_limited,blocked,consent_required,http_error,network_error,bad_response,parse_error,no_dataorskipped) and a message. You are not charged for it.summaryis one per run, with counts, the number of requests made and the duration.
{"type": "result","searchTerm": "web scraping","searchTerms": ["web scraping"],"comparison": false,"geo": "US","timeRange": "today 12-m","timeRangeResolved": "2025-10-25 2026-10-25","category": 0, "gprop": "web", "hl": "en-US", "tz": 0,"interestOverTime": {"resolution": "WEEK","averages": null,"points": [{"time": "2025-10-19T00:00:00Z", "formattedTime": "Oct 19 – 25, 2025", "isPartial": false, "values": {"web scraping": 66}}]},"interestByRegion": {"resolution": "REGION","regions": [{"geoCode": "US-MD", "geoName": "Maryland", "values": {"web scraping": 100}}]},"relatedQueries": {"web scraping": {"top": [{"query": "ai web scraping", "value": 100, "formattedValue": "100", "link": "https://trends.google.com/trends/explore?q=ai+web+scraping&date=today+12-m&geo=US"}],"rising": [{"query": "...", "value": 11900, "formattedValue": "Breakout", "link": "..."}]}},"warnings": [],"exploreUrl": "https://trends.google.com/trends/explore?q=web+scraping&date=today+12-m&hl=en-US&geo=US","scrapedAt": "2026-10-25T09:53:59Z"}
values are keyed by search term, so a comparison record holds every term's value in each point and region. Values are Google's relative 0-100 index, not search counts. In a comparison, region values are each term's share in that region. A null value means Google has no data for that point.
Pricing
Pay per event: $0.01 per result record ($10 per 1,000 results), plus a $0.00005 start fee per run. You pay nothing for error or summary records, and there is no extra charge for platform usage. If you set a maximum cost per run, the Actor stops cleanly at that limit and makes no further requests to Google.
Responsible use
- Allowed paths only. The Actor uses the Trends data API, which Google's
robots.txtallows. It never requests/exploreor/trends/explorepages, whichrobots.txtdisallows, and it checks every URL against the liverobots.txtbefore requesting it. - No circumvention. It never rotates IP addresses or sessions, uses no headless browser and fakes no browser fingerprint. A captcha, an "unusual traffic" page, a 401 or 403 response or a consent wall stops that term at once, with no retry, and the Actor then skips the rest of the run rather than keep trying. After two terms fail on rate limiting, it skips the remaining terms too.
- Aggregate data only. Google Trends data is anonymised, aggregated search interest. It holds no personal data.
- You are responsible for your use. Comply with applicable law and with Google's terms. Google Trends data is a sample, normalised to 0-100, so treat it as a relative signal, not as search volume.
- Contact: open an issue on the Issues tab of this Actor's page (https://apify.com/reliable-apps/google-trends-reliable/issues).
Limitations
- Rate limits. Google limits how often Trends can be queried, and it limits shared cloud IP addresses most. By design the Actor does not work around this, so large batches can end with
rate_limitederrors. Smaller batches and longer gaps between runs help. You are never charged for those errors. - Related topics are not available in comparison mode, and Google often returns the list empty. In that case the record carries a warning.
- Comparisons hold at most 5 terms. Longer lists are split into groups of 5, and values are comparable only within a group.
- Values are relative (0-100) and Google samples them, so two runs can differ slightly.