Google API: Get interest by region
Shows where a search term has the highest relative Google Trends interest, by country worldwide or by region within a country. Scores run from 0 to 100.
Unofficial. Not affiliated with or endorsed by Google.
Inputs
Values from the run on Oct 23, 2026, shown under Output.
- Term, required
term Search term to compare across places, for example pickleball.
pickleball
- Country optional
country Country name or two-letter code, such as United States or US; use worldwide to list countries.
United States
Default
worldwide.- Time Range optional
time_range Period to measure, for example past_12_months.
past_30_days
One of
past_7_days,past_30_days,past_90_days,past_12_months,past_5_years. Defaultpast_12_months.- Include Low Volume optional
include_low_volume Include locations without enough measured searches as zero-interest entries; for example false.
false
True or false. Default
false.
Input as JSON
{ "term": "pickleball", "country": "United States", "time_range": "past_30_days", "include_low_volume": false}Output
{ "regions": [ { "link": "https://trends.google.com/trends/explore?date=today+1-m&q=pickleball&geo=US-HI" , "interest": 100, "region_code": "US-HI", "region_name": "Hawaii" }, { "link": "https://trends.google.com/trends/explore?date=today+1-m&q=pickleball&geo=US-UT" , "interest": 86, "region_code": "US-UT", "region_name": "Utah" }, { "link": "https://trends.google.com/trends/explore?date=today+1-m&q=pickleball&geo=US-NV" , "interest": 81, "region_code": "US-NV", "region_name": "Nevada" } ], "google_trends_link": "https://trends.google.com/trends/explore?date=today+1-m&q=pickleball&geo=US" }Code
curl https://api.fous.com/v1/runs \ -H "Authorization: Bearer $FOUS_API_KEY" \ -H "Content-Type: application/json" \ -d '{"method":"trends.google.com/get_interest_by_region","input":{"term":"pickleball","country":"United States","time_range":"past_30_days","include_low_volume":false}}' # Save as fous.py, then run: python3 fous.pyimport json, os, timefrom urllib.error import HTTPErrorfrom urllib.request import Request, urlopenAPI = "https://api.fous.com/v1/runs" KEY = os.environ["FOUS_API_KEY"]HEADERS = { "Authorization": f"Bearer {KEY}", "Content-Type": "application/json" ,}def call(url, body=None): data = json.dumps(body).encode() if body else None request = Request(url, data, HEADERS) try: with urlopen(request, timeout=120) as r: return r.status, json.load(r) except HTTPError as error: message = json.load(error)["error"]["message"] raise RuntimeError(message) from errorstatus, run = call(API, { "method": "trends.google.com/get_interest_by_region" , "input": { "term": "pickleball", "country": "United States", "time_range": "past_30_days", "include_low_volume": False }})# 202: still going after 30 s. Ask again until it ends.while status == 202: time.sleep(2) status, run = call(f"{API}/{run['id']}")print(json.dumps(run["data"], indent=2))// Save as fous.mjs, then run: node fous.mjsconst api = "https://api.fous.com/v1/runs" ;const headers = { Authorization: `Bearer ${process.env.FOUS_API_KEY}`, "Content-Type": "application/json" ,};let response = await fetch(api, { method: "POST", headers, body: JSON.stringify({ "method": "trends.google.com/get_interest_by_region" , "input": { "term": "pickleball", "country": "United States", "time_range": "past_30_days", "include_low_volume": false } }), signal: AbortSignal.timeout(120_000),});let run = await response.json();// 202: still going after 30 s. Ask again until it ends.while (response.status === 202) { await new Promise((done) => setTimeout(done, 2_000)); response = await fetch(`${api}/${run.id}`, { headers }); run = await response.json();}if (!response.ok) throw new Error(run.error.message);console.log(run.data);# Connect your agent to Fous once, over MCP (Streamable HTTP):# https://api.fous.com/mcp# Set FOUS_API_KEY first: create a key at https://app.fous.com/keys.# Claude Codeclaude mcp add \ --scope user \ --transport http fous https://api.fous.com/mcp \ --header "Authorization: Bearer ${FOUS_API_KEY:?Set FOUS_API_KEY to your Fous API key}"# Codexcodex mcp add fous \ --url https://api.fous.com/mcp \ --bearer-token-env-var FOUS_API_KEY# Cursor, VS Code, Windsurf, Cline and morenpx -y add-mcp https://api.fous.com/mcp -g -n fous \ --header "Authorization: Bearer ${FOUS_API_KEY:?Set FOUS_API_KEY to your Fous API key}"# Then ask your agent:# "Use Fous to run trends.google.com/get_interest_by_region# with {"term":"pickleball","country":"United States","time_range":"past_30_days","include_low_volume":false}"Over HTTP, the answer’s data holds the output. A run still going after 30 seconds answers 202 with its id: ask GET /v1/runs/{id} until it ends.
Schema
Input schema
{ "type": "object", "required": [ "term" ], "properties": { "term": { "type": "string", "minLength": 1, "description": "Search term to compare across places, for example pickleball." }, "country": { "type": "string", "default": "worldwide", "description": "Country name or two-letter code, such as United States or US; use worldwide to list countries." }, "time_range": { "enum": [ "past_7_days", "past_30_days", "past_90_days", "past_12_months", "past_5_years" ], "type": "string", "default": "past_12_months", "description": "Period to measure, for example past_12_months." }, "include_low_volume": { "type": "boolean", "default": false, "description": "Include locations without enough measured searches as zero-interest entries; for example false." } }}Output schema
{ "type": "object", "required": [ "google_trends_link", "regions" ], "properties": { "regions": { "type": "array", "items": { "type": "object", "required": [ "region_name", "interest", "region_code", "link" ], "properties": { "link": { "type": "string", "description": "Google Trends page for the term in this place." }, "interest": { "type": "integer", "maximum": 100, "minimum": 0 }, "region_code": { "type": "string", "x-fous-developer": true }, "region_name": { "type": "string" } }, "additionalProperties": false }, "description": "Places ranked by relative search interest, highest first." }, "google_trends_link": { "type": "string", "description": "Google Trends page for this term, country, and period." } }, "additionalProperties": false}- Price
- 1 credit per completed run (1¢ with pay as you go); failed runs are free.
- Method
trends.google.com/get_interest_by_region- Returns
- regions ranked by interest (name, code, score, link), Google Trends link
Use it from your agent
Give your agent this line. It reads SKILL.md, gets a Fous API key and connects the Fous MCP server. Its run then takes the method trends.google.com/get_interest_by_region with the inputs above.
Ask your agent
- Which countries search for pickleball the most over the past 12 months?
- Show me the regions in Germany where the term sourdough has the highest search interest in the last 90 days.
- Rank US states by interest in standing desks for the past_5_years period on Google Trends.
- Where in Canada is interest in kombucha highest over the past 30 days, including low-volume locations?
- On google.com, compare worldwide interest in electric scooters by country for the last 7 days.
See more
All Google methodsCompares Google Trends search interest for one to five terms over a time range, with average scores and a dated timeline. Scores are relative within the comparison.
trends.google.com/get_interest_over_timeReturns top and rising related searches and topics for a term on Google Trends, for a country or US state and time range.
trends.google.com/get_related_searchesLists Google Trends 'Trending now' searches for a country, time window and category, in Google's order. Each search comes with its volume, activity, related searches and news headlines.
trends.google.com/list_trending_searchesLists major stock market indexes on Google Finance with their current levels, changes and quote times. Quotes may be delayed, and indexes Google does not show are left out.
google.com/list_market_indexesGets Google Search autocomplete suggestions for words typed so far, in Google's order, for a chosen country and language.
google.com/get_search_suggestionsLists ranked Android apps or games from the Google Play top free, top paid or top grossing chart for a country and category.
play.google.com/list_top_chartsFinds Android apps on Google Play by keywords, in Play search order, with each listing's developer, star rating, price and currency for the chosen country, download range and link. Results are limited to apps shown on the public search page.
play.google.com/search_appsFinds a place on Google Maps by name and location and returns its public reviews in the chosen order.
google.com/get_place_reviews