Google Trends Has No API – Use This Instead


There’s No Google Trends API

Looking for the official Google Trends API? There isn’t one.

In fact, most services claiming to offer a “Google Trends API”, including open-source libraries like pytrends, are simply scraping data from Google Trends.

This approach is notoriously unreliable and often results in: 

  • Missing, incomplete, and often inaccurate data

  • API calls failing without explanation

  • Inconsistent or unexpected results

This might be fine for a side project or academic experiment, but if you’re building dashboards or workflows where accuracy matters, there’s only one reliable solution: the Glimpse API.

The Best Google Trends API Alternative

The Glimpse API provides reliable access to search trend data that matches Google Trends.

Other APIs often return malformed data – where valid datapoints are randomly replaced with zeros – breaking the time series and undermines your analysis.

With zero malformed responses over the past 1 million API calls, Glimpse delivers the accuracy and reliability trusted by 38% of the Fortune 50. 

But Glimpse doesn’t just match Google Trends—it enhances it. Unlike raw Google Trends, which only provides a relative 0–100 index, Glimpse converts those signals into real search volume. 

The result is the world’s first and only third-party source for accurate, real-time Google search volume. 

Test out the API in the playground below, get an API key and try it out on your own, or learn more about why the Glimpse API is so accuracy and real-time.


Why Glimpse?

Accuracy

Many tools claim to offer Google search volume, but before relying on their data, it’s crucial to verify accuracy against a trusted source.

Google Trends is widely considered the source of truth, as it's an internal tool from Google itself. So when evaluating third-party tools, their search volume relationships should mirror those found in Google Trends.

For example, if Google Trends shows one keyword having double the volume of another keyword, you should expect the same 2:1 relationship in any trustworthy tool.

Glimpse’s search volume is calibrated to match Google Trends, ensuring accuracy you can rely on for comparison, modeling, and forecasting.

Real-time

Not only should a search volume API be accurate, but it should be real-time.

Unfortunately, many search volume data solutions have significant, often multi-month delays.

For example, in January 2023, ChatGPT became a global phenomenon. It was featured on the front page of the New York Times, trended across Twitter and Reddit, and dominated coverage in nearly every major media outlet.

Despite this, Semrush, a leading solution for Google search volume, showed zero searches for the term, despite listing over 273 million search results.

This mismatch was documented in third-party case studies and it highlights a fundamental flaw in the common workaround of trying to map search volumes from a tool like Semrush to Google Trends.

Products like Semrush estimate search volume, but the data is built for ad planning and late stage SEO. They often lag by months and therefore miss emerging trends entirely.

Trying to combine the two sounds logical, but in practice their timing, resolution, and structure don’t align. This leads to misleading or broken results like those seen above.

On the other hand, Google Trends, and therefore Glimpse, detected ChatGPT’s spike in interest in real-time, down to the minute.


Playground

Play around with our API here; build different queries and explore the different possibilities then easily copy paste the code into your application to get up and running in just minutes.

API Endpoint


GET

This endpoint returns search interest – normalized to 100 – over time for any given keyword.

Query Parameters


keyword
string
required

geo
string
You'll get worldwide data unless you specify a 2 letter country code. The full list of available country codes is here.

resolution
string
Available options: daily, weekly, monthly

phrase_match
boolean
default:false

Code

cURL
Python
JavaScript
PHP
Go
Java
curl --request GET \
  --url "https://enterprise.meetglimpse.com/v1/interest?keyword=keto&geo=WW&resolution=weekly&phrase_match=false" \
  --header "accept: application/json" \
  --header "apikey: YOUR_API_KEY"

Result

Click Run to see the API response

Make your first API call

  1. Get an API Key here

  2. Make your first request. All API requests should be made to https://enterprise.meetglimpse.com. The API key should be included as a header in each request, as shown here:

curl -H "Authorization: Bearer YOUR_API_KEY" "https://enterprise.meetglimpse.com/v1/interest?keyword=example"

If you encounter any issues, have questions, or want to request higher rate limits, don’t hesitate to reach out to us at hello@meetglimpse.com. Our support team is ready to assist you.


API Reference

Interest Over Time

GET
https://enterprise.meetglimpse.com/v1/interest

This endpoint returns search interest – normalized to 100 – over time for any given keyword.

Authorization


apikey
string
header
required

Query Parameters


keyword
string
required

geo
string
You'll get worldwide data unless you specify a 2 letter country code. The full list of available country codes is here.

resolution
string
default:weekly
Available options: daily, weekly, monthly

phrase_match
boolean
default:false

Code

cURL
Python
JavaScript
PHP
Go
Java
curl --request GET \
  --url "https://enterprise.meetglimpse.com/v1/interest?keyword=&geo=&resolution=weekly&phrase_match=false" \
  --header "accept: application/json" \
  --header "apikey: API_KEY"

Search Volume Over Time

GET
https://enterprise.meetglimpse.com/v1/interest_enriched

This endpoint returns absolute search volume over time for any given keyword.

Authorization


apikey
string
header
required

Query Parameters


keyword
string
required

geo
string
You'll get worldwide data unless you specify a 2 letter country code. The full list of available country codes is here.

resolution
string
default:weekly
Available options: daily, weekly, monthly

phrase_match
boolean
default:false

Code

cURL
Python
JavaScript
PHP
Go
Java
curl --request GET \
  --url "https://enterprise.meetglimpse.com/v1/interest_enriched?keyword=&geo=&resolution=weekly&phrase_match=false" \
  --header "accept: application/json" \
  --header "apikey: API_KEY"

More Information

Query Parameters

Timeline

For our search-volume-over-time endpoint, we support 5 years of data, with weekly datapoints. For longer timeline datasets, or for daily or monthly datapoints please reach out to us at hello@meetglimpse.com.

Geography

All Glimpse API endpoints support filtering the results by a geo parameter, consisting of the two-letter country code. Here you can find a list of all available countries and their corresponding codes.

When no geo parameter is specified, worldwide data is returned.

If you need search volume data for a country, state, or city that is not on our list, please reach out to us and we’ll do our best accommodate your request.

Phrase Match

Our endpoints all support the use a query parameter called “phrase match”. It’s the same thing as wrapped a keyword in quotes, in Google Trends. To demonstrate what this means, we’ll use the keyword “keto diet” as an example.

When phrase match is set to true, the data will reflect activity for any search containing “keto diet”, including searches with other words to the left and/or right, like “what is keto diet” or “keto diet recipes”.

When phrase match is set to false, the data will reflect activity for any search that contains both “keto” AND “diet”, but not necessarily in that order.


FAQ

Does the Glimpse API support Google Trends Topics?

Yes, in addition to supporting Google Trends’ standard keyword queries, we also support Topic queries. If you’re not familiar with the concept of Google Trends’ Topical keywords, you can read more about it in our guide to Google Trends. To use them in our API, simply get the topic code from the keyword you want to search. You can find this in the URL of the Google Trends page you’re on; it’s the string of text that comes after q=

trends.google.com/trends/explore?q=%2Fm%2F04st9hr

When unencoded, it’ll look like this: /m/04st9hr

Why am I seeing slight variations in historical data?

Google Trends uses a sample dataset (a subset of data representing the whole) rather than the entire dataset, a decision explained in its documentation. This leads to faster loading times and keeps costs down.

However, this also means that sometimes when you make the same request after some time has elapsed, the historical data may look ever so slightly different. This difference – and the variance in general – is more visible with lower volume search queries (see the Law of Large Numbers).

High Volume Keyword:

Medium-Volume Keyword:

Ultra-Low-Volume Keyword (<100 searches per month):

Practically speaking though, there isn’t much cause for concern. The differences between the data are generally in-line with how statistically significant those signals would be.

For example, with the low volume keyword chart above, the data is coming from merely a few dozen searches. With such an exceedingly small sample size, even though the data is drastically different, it doesn’t represent a meaningful difference that would even allow allow it to inform any decision-making.

Need Support?

If you encounter any issues or have questions, don’t hesitate to reach out to us at hello@meetglimpse.com. Our support team is ready and eager to assist you.


Disclaimer: Glimpse is an independent analytics platform. It is not affiliated with or endorsed by Google. Google and Google Trends are trademarks of Google LLC.