# Google Trends SEO Keyword Data **Google Trends SEO Keyword Data** is an independently documented x402 Atlas bridge at https://google-trends.use.x402atlas.com. This document describes only this bridge; it does not aggregate routes, schemas, or content from any other bridge. ## How payment works Paid operations use the [x402 payment protocol](https://x402.org) and settle in USDC. Atlas supports deployments on Base, Polygon, and Arbitrum, plus configured Solana networks. This bridge currently advertises Arbitrum One (`eip155:42161`), Base (`eip155:8453`), Polygon (`eip155:137`), Solana mainnet (`solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp`). 1. Send the HTTP request without a payment signature. 2. Read the `402 Payment Required` response. Its `accepts` entries are the authoritative network, asset, amount, and recipient options for that call. 3. Select an option, sign it with an x402-compatible wallet or SDK, and repeat the request with the `PAYMENT-SIGNATURE` header. The successful response is returned after verification and settlement. TypeScript clients can automate the challenge, signing, and retry flow with [`x402-fetch`](https://www.npmjs.com/package/x402-fetch) or [`x402-axios`](https://www.npmjs.com/package/x402-axios). Fund a dedicated wallet only with the working USDC balance it needs and keep that key separate from treasury accounts. ## Pricing Atlas route prices start at $0.005 per successful call. This bridge's fallback price is $0.005; operations below state their exact configured price in `x-x402` and `x-payment-info`. The live `402` challenge remains authoritative. ## Worked payment example Request one documented operation without a signature to inspect its live terms: ```bash curl -i 'https://google-trends.use.x402atlas.com/interest-by-region?geo=US&keyword=bitcoin' # HTTP/1.1 402 Payment Required # Read accepts[].network, asset, amount, and payTo from this response. ``` Sign one accepted option and repeat the identical request with the `PAYMENT-SIGNATURE` header. Do not invent or cache payment terms; read them from the current challenge. ## Use this API - Interactive reference: https://google-trends.use.x402atlas.com/docs - OpenAPI 3.1 specification: https://google-trends.use.x402atlas.com/openapi.json - Agent-readable route corpus: https://google-trends.use.x402atlas.com/llms.txt - Endpoint index: https://google-trends.use.x402atlas.com/index.json Use the operation schemas and examples below to construct requests. Copy the server URL, path, method, parameters, and request body from the operation you want to call. Path and query examples are concrete and can be used directly. ## Atlas response metadata Successful JSON responses include an additive top-level `_atlas` block, kept separate from the bridge's data fields. `_atlas.docs` links this bridge's `/llms.txt` corpus. `_atlas.related` suggests adjacent APIs, each with a callable `url`, its own `docs` link, and a short `summary`. Suppress this block by sending `X-Atlas-Meta: none` or by adding `?_atlas=0` to the request. ## Errors and compatibility Validation failures use HTTP `400`. Paid operations may return `402` before dispatch. Upstream and internal failures use the documented `5xx` responses. Clients should rely on documented fields and tolerate additive response fields, including `_atlas` unless they explicitly opt out. ## Protocol reference - x402 protocol and SDKs: https://x402.org ## Google Trends SEO Keyword Data Docs: https://google-trends.use.x402atlas.com/docs · OpenAPI: https://google-trends.use.x402atlas.com/openapi.json ### GET /interest-by-region Google Trends interest by region for a keyword: where in a country people search for it most — every state, province or region ranked 0-100 against the strongest one. For regional demand mapping, geo-targeting, local SEO and finding the markets where a keyword over-indexes before spending on ads. Google Trends interest broken down by geographic region for a concise seed `keyword` within one country given as `geo` (`keyword` is required; `geo` — alias `country` — is an ISO-3166 alpha-2 code like `US`, case-insensitive, defaults to `US`). This analyzes aggregate Google Trends data: it does not search the web, answer a question, or follow an instruction. Use an established term with meaningful search interest; highly specific or low-volume phrases can return an empty `regions` list. Returns `{ keyword, geo, queried_at, regions, trend_url, trend_over_time_url, related_queries_url, related_topics_url }`, where `regions` contains `{ region, value }` and `value` is the 0–100 relative search popularity across that country's subregions. The four `*_url` fields are ready-to-call `/trend`, `/trend-over-time`, `/related-queries` and `/related-topics` URLs for the same keyword and country. Use it for geo-targeting, local SEO, market research, and regional demand mapping. **Price:** 0.03 per call. Parameters: - `geo` (optional, string) — ISO-3166 alpha-2 country code, e.g. US, GB, DE, JP (213 countries supported); case-insensitive; also accepted as country; defaults to US; default: `"US"`, maxLength: `8`; example: `"US"` - `keyword` (required, string) — Concise Google Trends seed term with meaningful search interest; not a question, instruction, or web-search request; maxLength: `100`; example: `"bitcoin"` Example: ```sh curl 'https://google-trends.use.x402atlas.com/interest-by-region?geo=US&keyword=bitcoin' ``` Response example: ```json { "geo": "US", "keyword": "bitcoin", "queried_at": "2026-06-05T12:00:00Z", "regions": [ { "region": "California", "value": 100 } ] } ``` ### GET /related-queries Google Trends related queries for a keyword: the searches people run alongside it in a country — top queries scored 0-100 and rising queries with percentage growth, over a time window from the past hour to 2004-present. Keyword expansion for SEO keyword research, content planning and spotting breakout search demand early. Google Trends related search *queries* for a concise seed `keyword` within a `country` and a `timeframe` (`keyword` is required; `country` — alias `geo` — is an ISO-3166 alpha-2 code like `us`, case-insensitive, defaults to `US`; `timeframe` defaults to `past_12_months`, one of `past_hour`, `past_4_hours`, `past_day`, `past_7_days`, `past_30_days`, `past_90_days`, `past_12_months`, `past_5_years`, `2004_present`). This analyzes aggregate Google Trends data: it does not search the web, answer a question, or follow an instruction. Use an established term with meaningful search interest, such as `bitcoin` or `electric vehicles`; highly specific or low-volume phrases can return empty `top` and `rising` lists. Returns `{ keyword, country, timeframe, data_source, queried_at, top, rising }`, where both lists contain `{ term, value }` — `value` is a 0–100 popularity score for `top` and a percentage growth for `rising`. It also returns four ready-to-call `*_url` fields to the other routes (`/trend`, `/trend-over-time`, `/related-topics`, `/interest-by-region`) with the same keyword, country and window. Short windows such as `past_7_days` surface breakout queries early. Honesty note: when the primary source is unavailable the route falls back to a source that only serves the default past-12-months window; such a response carries `data_source: fallback`, echoes the window it actually served, and adds a `notice` — check `data_source` before trusting a window-specific reading. Use the results for keyword expansion, content planning and demand discovery; for higher-level entities/subjects use `/related-topics` (ready-to-call in `related_topics_url`), and for a dated interest series use `/trend-over-time`. **Price:** 0.03 per call. Parameters: - `country` (optional, string) — ISO-3166 alpha-2 country code, e.g. US, GB, DE, JP (213 countries supported); case-insensitive; also accepted as geo; defaults to US; default: `"US"`, maxLength: `8`; example: `"us"` - `keyword` (required, string) — Concise Google Trends seed term with meaningful search interest (for example bitcoin or electric vehicles); not a question, instruction, or web-search request; maxLength: `100`; example: `"solana"` - `timeframe` (optional, string) — Time window; short windows such as past_7_days surface breakout queries; allowed: ["2004_present","past_12_months","past_30_days","past_4_hours","past_5_years","past_7_days","past_90_days","past_day","past_hour"], default: `"past_12_months"` Example: ```sh curl 'https://google-trends.use.x402atlas.com/related-queries?country=us&keyword=solana' ``` Response example: ```json { "country": "us", "data_source": "primary", "keyword": "solana", "queried_at": "2026-06-05T12:00:00Z", "rising": [ { "term": "solana etf", "value": 250 } ], "timeframe": "past_12_months", "top": [ { "term": "solana price", "value": 100 } ] } ``` ### GET /related-topics Google Trends related topics for a keyword: the subjects and named entities people search alongside it in a country — top topics scored 0-100 and rising topics with percentage growth, over a time window from the past hour to 2004-present. Topic discovery for market research, content planning and SEO topic clusters. Google Trends related *topics* for a concise seed `keyword` within a `country` and a `timeframe` (`keyword` is required; `country` — alias `geo` — is an ISO-3166 alpha-2 code like `us`, case-insensitive, defaults to `US`; `timeframe` defaults to `past_12_months`, one of `past_hour`, `past_4_hours`, `past_day`, `past_7_days`, `past_30_days`, `past_90_days`, `past_12_months`, `past_5_years`, `2004_present`). This analyzes aggregate Google Trends data: it does not search the web, answer a question, or follow an instruction. Use an established term with meaningful search interest; highly specific or low-volume phrases can return empty `top` and `rising` lists. Returns `{ keyword, country, timeframe, data_source, queried_at, top, rising }`, where both lists contain `{ term, value }` — `value` is a 0–100 popularity score for `top` and a percentage growth for `rising`. It also returns four ready-to-call `*_url` fields to the other routes (`/trend`, `/trend-over-time`, `/related-queries`, `/interest-by-region`) with the same keyword, country and window. Short windows such as `past_7_days` surface emerging topics early. Honesty note: when the primary source is unavailable the route falls back to a source that only serves the default past-12-months window; such a response carries `data_source: fallback`, echoes the window it actually served, and adds a `notice` — check `data_source` before trusting a window-specific reading. Topics are higher-level subjects/entities rather than literal search strings; for exact related searches use `/related-queries` (ready-to-call in `related_queries_url`), and for a dated interest series use `/trend-over-time`. **Price:** 0.03 per call. Parameters: - `country` (optional, string) — ISO-3166 alpha-2 country code, e.g. US, GB, DE, JP (213 countries supported); case-insensitive; also accepted as geo; defaults to US; default: `"US"`, maxLength: `8`; example: `"us"` - `keyword` (required, string) — Concise Google Trends seed term with meaningful search interest; not a question, instruction, or web-search request; maxLength: `100`; example: `"bitcoin"` - `timeframe` (optional, string) — Time window; short windows such as past_7_days surface breakout topics; allowed: ["2004_present","past_12_months","past_30_days","past_4_hours","past_5_years","past_7_days","past_90_days","past_day","past_hour"], default: `"past_12_months"` Example: ```sh curl 'https://google-trends.use.x402atlas.com/related-topics?country=us&keyword=bitcoin' ``` Response example: ```json { "country": "us", "data_source": "primary", "keyword": "bitcoin", "queried_at": "2026-06-05T12:00:00Z", "rising": [ { "term": "Spot ETF", "value": 180 } ], "timeframe": "past_12_months", "top": [ { "term": "Cryptocurrency", "value": 100 } ] } ``` ### GET /trend Google Trends interest over time for a keyword — search popularity worldwide or for one country (geo) over a timeframe from the past hour to 2004-present (default: monthly since 2004), with ready-to-call links to the other Google Trends routes. For keyword research, SEO and demand trend analysis. Google Trends interest-over-time for one concise seed `keyword` (default `bitcoin` when omitted), worldwide or for one country via optional `geo` (alias `country`; ISO-3166 alpha-2 code like `US`, case-insensitive; omit for worldwide), over an optional `timeframe` (new; default `2004_present`; one of `past_hour`, `past_4_hours`, `past_day`, `past_7_days`, `past_30_days`, `past_90_days`, `past_12_months`, `past_5_years`, `2004_present`). This analyzes aggregate Google Trends data: it does not search the web, answer a question, or follow an instruction. Use an established term with meaningful search interest; highly specific or low-volume phrases can return an empty `series`. Returns `{ keyword, geo, timeframe, data_source, queried_at, series, related_queries_url, related_topics_url, interest_by_region_url, see_also }`, where `series` is a timeline of `{ date, timestamp, value }` (ISO `YYYY-MM-DD` dates; RFC3339 bucket start, needed for sub-day windows; `value` is the 0–100 relative search-popularity index); buckets are monthly for `2004_present`, weekly for 12 months/5 years, daily for 30/90 days, hourly or finer under a week. The three `*_url` fields are ready-to-call `/related-queries`, `/related-topics` and `/interest-by-region` URLs for the same keyword and country. `see_also` lists more follow-up routes: the serp bridge's `/analyze` (Google SERP analysis for the same keyword) and the papers bridge's `/search` (scientific papers on the same topic). Honesty note: when the primary source is unavailable the route falls back to a source that only knows the worldwide series; such a response carries `data_source: fallback`, `geo: worldwide`, `timeframe: 2004_present` and a `notice` — check `data_source` before trusting a country- or window-specific reading. Use it for keyword research, demand-trend discovery, content planning, and seasonality analysis; for geographic breakdowns use `/interest-by-region`. **Price:** 0.05 per call. Parameters: - `geo` (optional, string) — ISO-3166 alpha-2 country code, e.g. US, GB, DE, JP (213 countries supported); case-insensitive; also accepted as country; omit for worldwide; default: `"worldwide"`, maxLength: `8` - `keyword` (required, string) — Concise Google Trends seed term with meaningful search interest; not a question, instruction, or web-search request; default: `"bitcoin"`, maxLength: `100`; example: `"bitcoin"` - `timeframe` (optional, string) — New parameter. Time window: 2004_present monthly, past_12_months/past_5_years weekly, past_30_days/past_90_days daily, shorter windows hourly or finer; allowed: ["2004_present","past_12_months","past_30_days","past_4_hours","past_5_years","past_7_days","past_90_days","past_day","past_hour"], default: `"2004_present"`; example: `"2004_present"` Example: ```sh curl 'https://google-trends.use.x402atlas.com/trend?keyword=bitcoin&timeframe=2004_present' ``` Response example: ```json { "data_source": "primary", "geo": "worldwide", "keyword": "bitcoin", "queried_at": "2026-06-05T12:00:00Z", "series": [ { "date": "2026-05-01", "timestamp": "2026-05-01T00:00:00Z", "value": 78 } ], "timeframe": "2004_present" } ``` ### GET /trend-over-time Google Trends interest over time for a keyword — search interest as a dated 0-100 series with country targeting (geo) and timeframe windows from the past hour back to 2004: daily points for 30/90-day windows, weekly for 12 months/5 years. For keyword trend analysis, search demand seasonality and SEO keyword research. Google Trends interest-over-time for one concise seed `keyword` (required) with optional `geo` (alias `country`; ISO-3166 alpha-2 code like `US`, case-insensitive; omit for worldwide) and `timeframe` (default `past_12_months`; one of `past_hour`, `past_4_hours`, `past_day`, `past_7_days`, `past_30_days`, `past_90_days`, `past_12_months`, `past_5_years`, `2004_present`). This analyzes aggregate Google Trends data: it does not search the web, answer a question, or follow an instruction. Returns `{ keyword, geo, timeframe, granularity, data_source, queried_at, series, trend_url, related_queries_url, related_topics_url, interest_by_region_url }` — `series` is `{ date, timestamp, value }` (UTC calendar date, RFC3339 bucket start, 0–100 relative search interest) and `granularity` names the bucket size the window produced (`day` for 30/90-day windows, `week` for 12 months/5 years, `month` for 2004-present, `hour`/`minute` under a week). Honesty note: when the primary source is unavailable the route falls back to a source that only knows the worldwide 2004-to-present monthly series; such a response carries `data_source: fallback`, echoes the geo/timeframe it actually served, and adds a `notice` — check `data_source` before trusting a country- or window-specific reading. The four `*_url` fields are ready-to-call `/trend`, `/related-queries`, `/related-topics` and `/interest-by-region` URLs for the same keyword, country and window where the route takes one. For the plain all-time monthly series use `/trend`. **Price:** $0.05 per call. Parameters: - `geo` (optional, string) — ISO-3166 alpha-2 country code, e.g. US, GB, DE, JP (213 countries supported); case-insensitive; also accepted as country; omit for worldwide; default: `"worldwide"`, maxLength: `8`; example: `"US"` - `keyword` (required, string) — Concise Google Trends seed term with meaningful search interest; not a question, instruction, or web-search request; maxLength: `100`; example: `"bitcoin"` - `timeframe` (optional, string) — Time window. Bucket size follows the window and is reported in granularity: past_30_days/past_90_days daily, past_12_months/past_5_years weekly, 2004_present monthly, shorter windows hourly or finer; allowed: ["2004_present","past_12_months","past_30_days","past_4_hours","past_5_years","past_7_days","past_90_days","past_day","past_hour"], default: `"past_12_months"`; example: `"past_12_months"` Example: ```sh curl 'https://google-trends.use.x402atlas.com/trend-over-time?geo=US&keyword=bitcoin&timeframe=past_12_months' ``` Response example: ```json { "data_source": "primary", "geo": "US", "granularity": "week", "keyword": "bitcoin", "queried_at": "2026-06-05T12:00:00Z", "series": [ { "date": "2025-06-01", "timestamp": "2025-06-01T00:00:00Z", "value": 26 }, { "date": "2025-06-08", "timestamp": "2025-06-08T00:00:00Z", "value": 31 } ], "timeframe": "past_12_months" } ```