SerpApi's interest-by-region chart uses data_type=GEO_MAP_0 on the google_trends engine. Each successful pull costs one credit from the shared monthly pool, accepts only one keyword per request, and supports region granularity from country down to city. This page covers only that chart type: parameters, response fields, geo-heavy workload math, and what multi-source APIs return instead.
Local SEO teams and market researchers pull regional interest charts when a keyword's national average hides where demand actually concentrates. SerpApi exposes that chart through data_type=GEO_MAP_0 on the standard google_trends engine. Every fresh scrape costs one credit from the account's shared monthly pool, the same pool that interest-over-time and Trending Now draw from.
For SerpApi's full Google Trends pricing across all engines, see SerpApi Google Trends API pricing. This page stays on interest by region only.
SerpApi scrapes Google's "Interest by region" chart and returns JSON. The response includes an interest_by_region array. Each item carries geo (ISO region code), location (human-readable name), value and extracted_value (relative 0 to 100 scores), and max_value_index where Google surfaces it.
The endpoint URL shape is:
GET https://serpapi.com/search?engine=google_trends&q=coffee&data_type=GEO_MAP_0&api_key=YOUR_KEY
Optional parameters that affect results and billing:
| Parameter | Purpose | Billing note |
|---|---|---|
geo | Origin location (e.g. US, GB). Defaults to worldwide when empty | Same one credit per successful pull |
region | Granularity: COUNTRY, REGION, DMA, or CITY | Only accepted for GEO_MAP and GEO_MAP_0 |
date | Time window (e.g. today 12-m, today 5-y) | Wider windows do not add credits |
include_low_search_volume | Include low-volume regions Google normally hides | Only applies to GEO_MAP and GEO_MAP_0 |
no_cache | Force fresh scrape | Default allows 1-hour cache at zero credit cost |
Interest by region accepts only one query per search. Multi-keyword regional comparison requires data_type=GEO_MAP (compared breakdown by region), which accepts up to five comma-separated queries in a single credit.
Interest by region draws from the same credit pool as every other SerpApi engine. There is no separate regional SKU.
| Plan | Monthly price | Included searches | Cost per fresh pull (if fully used) | Throughput cap |
|---|---|---|---|---|
| Free | $0 | 250 | $0.00 | 50/hour |
| Starter | $25 | 1,000 | $0.025 | 200/hour |
| Developer | $75 | 5,000 | $0.015 | 1,000/hour |
| Production | $150 | 15,000 | $0.010 | 3,000/hour |
| Big Data | $275 | 30,000 | $0.009 | 6,000/hour |
Result count does not change the charge. A response with 200 regions and an empty response both cost one credit when the request succeeds.
Regional charts tempt teams into batch jobs. One credit per keyword per granularity level adds up fast.
Fifty keywords, one GEO_MAP_0 pull each, region=COUNTRY, geo=US. That is 50 credits. On Starter ($25, 1,000 credits), marginal cost is about $1.25 if the pool is fully used. Fits Free tier (250 credits) only if the audit stays under 250 keywords with no other engine usage.
Still 50 credits if each keyword gets one pull with region=CITY. City granularity does not cost extra credits, but Google may return fewer regions for low-volume terms. Teams often rerun with include_low_search_volume=true, which still costs one credit per pull.
One pull with data_type=GEO_MAP, q=brand1,brand2,brand3,brand4,brand5, region=REGION. One credit for all five brands in a single compared breakdown chart. This is cheaper per brand than five separate GEO_MAP_0 pulls.
Twenty keywords, four pulls per month each (weekly cadence with cache reuse on identical parameters). With default cache, only the first pull each hour is charged. Weekly checks without parameter changes land near 80 credits per month. Without cache (no_cache=true), 80 credits per month still holds for one pull per week.
SerpApi splits regional data into two chart types on the same engine:
| data_type | Chart name | Queries per pull | Typical use |
|---|---|---|---|
GEO_MAP_0 | Interest by region | 1 keyword | Map where a single term over-indexes |
GEO_MAP | Compared breakdown by region | Up to 5 keywords | Compare brand share across states or metros |
Both cost one credit. The choice is query shape, not price. For interest-over-time pricing on the same engine, see SerpApi interest over time API pricing.
SerpApi fits teams that need Google's exact regional relative scores in JSON, already pay for SerpApi on other engines, and run Google-only geo workflows. Franchise expansion research, local SEO prioritization, and political or retail geo targeting often start here because the response mirrors Google Trends' native chart.
SerpApi is a poor fit when the workflow needs TikTok hashtag volume by region, Reddit subscriber growth, or Amazon search demand in the same pipeline. Each additional platform needs a different vendor or integration. Teams comparing cross-platform demand without regional charts may spend less on trend data API pricing comparison options that normalize multiple sources behind one endpoint.
Trends MCP does not replicate Google's interest-by-region chart. It returns weekly time series and growth percentages per keyword across 15+ sources (Google Search, YouTube, TikTok, Reddit, Amazon, npm, and others) through one REST and MCP interface.
| Plan | Monthly price | Included requests |
|---|---|---|
| Free | $0 | 100 |
| Starter | $19 | 1,000 |
| Pro | $49 | 5,000 |
| Business | $199 | 25,000 |
A cross-platform growth check that would need separate SerpApi pulls per source plus manual normalization costs one request on Trends MCP when sources are comma-separated in a single get_growth call. That tradeoff favors Trends MCP when regional Google charts are not the deliverable.
For a feature-level comparison beyond per-pull price, see Trends MCP vs SerpApi for trend data.
FAQ