Google Trends hub

Google Trends Interest by Region API

One to five terms broken down by place, with rows that have no data kept and marked whenever the term has data.

GET /v1/google-trends/interest-by-region

1 credit Failed requests are free

About this endpoint

GET /v1/google-trends/interest-by-region takes query (one to five terms), geo, time, and optional resolution, includeLowVolume, category, source and language. resolution is region, dma or city. Region resolution is not available for worldwide or for a subdivision geo, and dma is US-only; those combinations are refused by the schema. Australia and New Zealand have no city-level breakdown, and that request is refused as a 400.

On found, data.regions[] has one row per place with name, values[] and hasData[] (one entry per term), leadingTermIndex when supplied, and coordinates for city results. geo is the full place code; a DMA row for a state request is prefixed with that state (US-CA-803), and city rows have geo: null because they carry coordinates instead. City results carry at most 200 rows. Rows with no data are kept with false flags rather than removed, so a place that drops out is visible. data.resolution echoes the granularity, and includeLowVolume records whether low-volume places were requested. When no place carries data, lookupStatus is no_data. A term with no data at all returns an empty regions array, so the answer never marks a place as having data when the term has none.

Google Trends Interest by Region API FAQ

Which resolution should I use?

Use region for country-level answers, dma for US metro areas, or city for places with coordinates. If you omit resolution, the answer picks one for the geo and reports it in data.resolution. Australia and New Zealand have no city-level breakdown, and that request is refused as a 400.

Why is region refused for my geo?

Region resolution is available for a country, not for worldwide or a subdivision, and dma is US-only. Omit resolution or use city for those geos. Australia and New Zealand have no city-level breakdown, and that request is refused as a 400.

How do I include places with low volume?

Pass includeLowVolume=true. The answer records the choice in data.includeLowVolume, and the extra rows are ordinary region rows with their own values and flags.

Why is a region row empty?

Rows with no data are kept on purpose when the answer has other rows. values are numbers or zeros and hasData has false for that term, so a place can be listed and still have no figure. A term with no data at all returns an empty regions array.

Where do coordinates appear?

Coordinates are present for city results where the place has a city-level breakdown, and null otherwise. They are objects with lat and lng, and geo is null for those rows. DMA rows carry a full place id such as US-CA-803 when the request names a state.

How much does a region lookup cost?

Pricing is documented on the operation in the API registry (shown on this page). Confirm on every response with meta.creditsCharged: that field is the billing source of truth.