Google Trends API
for interest over time on any term
Pull Google Trends data without PyTrends or your own proxies. One request returns interest over time for any term as clean JSON, timestamped and normalized, ready to chart, with the rate limits handled for you.
of requests succeed
median response
95% finish faster
per 1k trend reports at volume
PyTrends breaks, rate limits bite. Your code shouldn't care.
- Proxies just to dodge rate limits
- PyTrends breaking on Google changes
- 429s and quotas mid-pull
- Partial buckets and timestamps to normalize
- Re-fix the scraper after each redesign
One GET Request. That's the whole integration.
Start with just a query. Add more parameters when your use case needs them.
curl -G 'https://api.hasdata.com/scrape/google-trends/search' \
--data-urlencode 'q=Coffee' \
--header 'x-api-key: <YOUR_API_KEY>' \
--header 'Content-Type: application/json'q * Search Querygeo Locationregion RegiondataType Data Typetz Time Zonecat Categorygprop Google Propertydate Date RangeGet Google Trends data without code
Prefer no code? Pull the same interest data from a visual scraper. No API, no setup, just a search term and a timeframe.
Google Trends ScraperInterest over time, ready to chart
A normalized timeline comes back on every request, each bucket timestamped with its raw and extracted value. Map it once and plot it.
// One bucket shown. A full report returns the whole timeline, 53 weekly points in this example.
{
"timelineData": [
{
"date": "Jul 27 - Aug 2, 2025",
"timestamp": "1753574400",
"isPartial": false,
"values": [
{
"query": "chatgpt",
"value": "79",
"extractedValue": 79,
"hasData": true
}
]
}
]
}timelineData[] object[]Ordered interest buckets over the range
timelineData[].date stringHuman-readable label for the bucket
timelineData[].timestamp stringUnix timestamp for the bucket
timelineData[].isPartial booleanTrue while the latest bucket is still forming
timelineData[].values[] object[]One entry per compared term
values[].value / extractedValue string / numberInterest score, raw string and numeric
values[].hasData booleanWhether the term had data in the bucket
An all-in-one scraping service
Every feature you need to collect data from thousands to millions of requests.
Discover similar
scrapers and APIs
to expand your projects.
Google News API
News & Media Monitoring • $0.75 / 1k Request
Google SERP API
Live SERP Data • $0.75 / 1k Request
Fits right into your stack.
Works with the tools you already use.
View Documentation ->Teams that deleted their scraper
Now it's the part of the pipeline they don't think about
HasData delivers exactly what we need: speed and comprehensive search features. It's the fastest API we've used in this space. Plus, their customer support is fantastic.
We rely on HasData for search performance data and broader scraping needs. Their APIs deliver highly structured data that integrates directly into our platforms.
Great web scraping API which is incredibly easy to use. It requires minimal effort to get up and running, and the documentation is very clear and helpful.
I needed to scrape some information they didn't already support, and they wrote the code for me right away, which was super nice of them.
We were particularly impressed with how easily we could integrate HasData into our existing workflow.
Plans that get cheaper at scale
Fixed price, fixed volume, no surprises at the end of the month. Upgrade when you need more.
Free
Startup
Business
RecommendedGrowth
Monthly trend report volume
Custom price based on required volume
Past 100M scrapes a month, or terms the self-serve plans do not cover. We shape the contract around your workload. Past 100M scrapes a month, or need terms the self-serve plans do not cover? We shape the contract, concurrency, and support around your workload.
HasData accesses publicly available data only. Google Trends' terms may restrict automated access; you are responsible for compliance. Where data includes personal information, ensure a lawful basis under GDPR/CCPA.
Questions, answered
Google doesn't publish an official one. This is a hosted endpoint that returns the same interest-over-time data as clean JSON, so you skip scraping the Trends site yourself.
No. PyTrends drives the public Trends pages and needs your own proxies to survive rate limits. Here you send one HTTP request and the infrastructure is handled, so there's nothing to rotate or babysit.
From Python or any language. It's a plain HTTP GET with your API key, so requests, axios, or curl all work. Ready-made snippets are in the docs.
Per successful request. One request is one trend report and returns the full timeline. A failed request costs nothing.
Yes, a one-time trial of 200 trend reports with every field included. No credit card required. When you're done testing, pick a plan that fits your volume.
One trend report costs 5 credits. The unit price drops with volume, from about $1.23 down to $0.37 per 1,000 reports. Need more than the top plan covers? We'll set a custom rate.
JSON. Interest over time comes back as a timestamped timeline with raw and numeric values, so it drops straight into a chart or a dataframe.
Yes, you can cancel your subscription at any time from your dashboard in a few seconds. Once cancelled, there are no recurring payments.
Your first trend report
is minutes away
200 trend reports free · no credit card