{"openapi":"3.1.0","info":{"title":"Google SERP Analysis for SEO","version":"1.0.0","description":"![x402 Atlas](data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI0OCIgaGVpZ2h0PSI0OCIgdmlld0JveD0iMCAwIDQ4IDQ4IiBmaWxsPSJub25lIj48ZyBzdHJva2U9IiMxRTQwQUYiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCI+PHBhdGggZD0iTTI0IDdWMjhNMjQgMjhMOCA0Mk0yNCAyOEw0MCA0MiIgc3Ryb2tlLXdpZHRoPSIyLjEiLz48cGF0aCBkPSJNMjQgN0w4IDQyTTI0IDdMNDAgNDJNMTUgMjhIMzMiIHN0cm9rZS13aWR0aD0iMi43Ii8+PC9nPjxnIGZpbGw9IiMxRTQwQUYiPjxjaXJjbGUgY3g9IjgiIGN5PSI0MiIgcj0iMy4yIi8+PGNpcmNsZSBjeD0iNDAiIGN5PSI0MiIgcj0iMy4yIi8+PGNpcmNsZSBjeD0iMTUiIGN5PSIyOCIgcj0iMy4yIi8+PGNpcmNsZSBjeD0iMzMiIGN5PSIyOCIgcj0iMy4yIi8+PGNpcmNsZSBjeD0iMjQiIGN5PSIyOCIgcj0iMi45Ii8+PC9nPjxjaXJjbGUgY3g9IjI0IiBjeT0iNyIgcj0iNC4yIiBmaWxsPSIjMTRCOEE2Ii8+PC9zdmc+)\n\n**Google SERP Analysis for SEO** is an independently documented x402 Atlas bridge at https://serp.use.x402atlas.com.\nThis document describes only this bridge; it does not aggregate routes, schemas,\nor content from any other bridge.\n\n## How payment works\n\nPaid operations use the [x402 payment protocol](https://x402.org) and settle in\nUSDC. Atlas supports deployments on Base, Polygon, and Arbitrum, plus configured\nSolana networks. This bridge currently advertises Arbitrum One (`eip155:42161`), Base (`eip155:8453`), Polygon (`eip155:137`), Solana mainnet (`solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp`).\n\n1. Send the HTTP request without a payment signature.\n2. Read the `402 Payment Required` response. Its `accepts` entries are the\n   authoritative network, asset, amount, and recipient options for that call.\n3. Select an option, sign it with an x402-compatible wallet or SDK, and repeat\n   the request with the `PAYMENT-SIGNATURE` header. The successful response is\n   returned after verification and settlement.\n\nTypeScript clients can automate the challenge, signing, and retry flow with\n[`x402-fetch`](https://www.npmjs.com/package/x402-fetch) or\n[`x402-axios`](https://www.npmjs.com/package/x402-axios). Fund a dedicated\nwallet only with the working USDC balance it needs and keep that key separate\nfrom treasury accounts.\n\n## Pricing\n\nAtlas route prices start at $0.005 per successful call. This bridge's fallback\nprice is $0.005; operations below state their exact configured price in\n`x-x402` and `x-payment-info`. The live `402` challenge remains authoritative.\n\n## Worked payment example\n\nRequest one documented operation without a signature to inspect its live terms:\n\n```bash\ncurl -i 'https://serp.use.x402atlas.com/analyze?country=US\u0026keyword=best+running+shoes\u0026language=en'\n# HTTP/1.1 402 Payment Required\n# Read accepts[].network, asset, amount, and payTo from this response.\n```\n\nSign one accepted option and repeat the identical request with the\n`PAYMENT-SIGNATURE` header. Do not invent or cache payment terms; read them from\nthe current challenge.\n\n## Use this API\n\n- Interactive reference: https://serp.use.x402atlas.com/docs\n- OpenAPI 3.1 specification: https://serp.use.x402atlas.com/openapi.json\n- Agent-readable route corpus: https://serp.use.x402atlas.com/llms.txt\n- Endpoint index: https://serp.use.x402atlas.com/index.json\n\nUse the operation schemas and examples below to construct requests. Copy the\nserver URL, path, method, parameters, and request body from the operation you\nwant to call. Path and query examples are concrete and can be used directly.\n\n## Atlas response metadata\n\nSuccessful JSON responses include an additive top-level `_atlas` block, kept\nseparate from the bridge's data fields. `_atlas.docs` links this bridge's\n`/llms.txt` corpus. `_atlas.related` suggests adjacent APIs, each with a callable\n`url`, its own `docs` link, and a short `summary`. Suppress this block by sending\n`X-Atlas-Meta: none` or by adding `?_atlas=0` to the request.\n\n## Errors and compatibility\n\nValidation failures use HTTP `400`. Paid operations may return `402` before\ndispatch. Upstream and internal failures use the documented `5xx` responses.\nClients should rely on documented fields and tolerate additive response fields,\nincluding `_atlas` unless they explicitly opt out.\n\n## Protocol reference\n\n- x402 protocol and SDKs: https://x402.org","x-guidance":"Use the operation schemas and examples to construct requests. Paid operations return an HTTP 402 challenge with the authoritative payment terms."},"servers":[{"url":"https://serp.use.x402atlas.com"}],"tags":[{"name":"Google SERP Analysis for SEO"}],"paths":{"/analyze":{"get":{"description":"Analyze the Google results page for a `keyword` and get it back as structured JSON: `organic` results (position, title, url, snippet), the `featured_snippet` (null when none), `people_also_ask` questions with their answer text and source page, `related_searches`, `total_results`, and `serp_features` — which blocks appear on the page (featured_snippet, ai_overview, people_also_ask, knowledge_graph, top_stories, videos, images, shopping, local_pack, ads, discussions_and_forums, recipes, twitter, related_searches). Scope with `country` (ISO 3166-1 alpha-2/alpha-3/numeric code or exact country name; `UK` = `GB`; default `US`) and `language` (ISO 639-1, optionally with a region such as `pt-BR`; default `en`). Unrecognised `country` or malformed `language` is rejected with 400 before any payment is taken. No matches return 200 with empty lists. A request with no parameters at all runs the published example (`best running shoes`, US, en); a blank `keyword` sent alongside other parameters returns the declared sample with a note and does not run a search. Use it for SEO keyword research, SERP feature tracking, snippet opportunity analysis and competitor ranking checks.\n\n**Price:** $0.15 per call.","operationId":"serp_GET_analyze","parameters":[{"name":"country","in":"query","description":"Market to analyse the SERP for, as an ISO 3166-1 alpha-2 code (SE), alpha-3 code (SWE), numeric code (752), or exact country name (Sweden). \"UK\" is accepted as an alias for GB. Unrecognised values are rejected before the search runs rather than silently ignored. Sent to Google as the gl parameter. Defaults to \"US\".","schema":{"default":"US","description":"Market to analyse the SERP for, as an ISO 3166-1 alpha-2 code (SE), alpha-3 code (SWE), numeric code (752), or exact country name (Sweden). \"UK\" is accepted as an alias for GB. Unrecognised values are rejected before the search runs rather than silently ignored. Sent to Google as the gl parameter. Defaults to \"US\".","maxLength":64,"type":"string"},"example":"US"},{"name":"keyword","in":"query","required":true,"description":"Keyword to analyze the Google results page for","schema":{"description":"Keyword to analyze the Google results page for","maxLength":400,"type":"string"},"example":"best running shoes"},{"name":"language","in":"query","description":"Language for results, as an ISO 639-1 code (\"en\"), optionally with a region (\"pt-BR\"). Validated for shape and rejected before the search runs if malformed, rather than silently ignored. Defaults to \"en\".","schema":{"default":"en","description":"Language for results, as an ISO 639-1 code (\"en\"), optionally with a region (\"pt-BR\"). Validated for shape and rejected before the search runs if malformed, rather than silently ignored. Defaults to \"en\".","pattern":"^[A-Za-z]{2}(-[A-Za-z]{2})?$","type":"string"},"example":"en"}],"responses":{"200":{"description":"Success.","content":{"application/json":{"schema":{"properties":{"country":{"description":"Resolved ISO 3166-1 alpha-2 market, upper-case","type":"string"},"featured_snippet":{"description":"The answer box / featured snippet at the top of the page; null when the page has none","properties":{"snippet":{"description":"Snippet text; a list-type snippet is joined with newlines","type":"string"},"title":{"type":"string"},"type":{"description":"Kind of answer box as reported by Google (e.g. organic_result, paragraph, list)","type":"string"},"url":{"description":"Page that owns the snippet","type":"string"}},"type":["object","null"]},"keyword":{"description":"Echoed keyword (trimmed)","type":"string"},"language":{"description":"Result language used, lower-case","type":"string"},"note":{"description":"Present only on a sample response (empty/omitted keyword): a hint to pass a real keyword. The paid request ran; no search was made.","type":"string"},"organic":{"description":"Organic results in ranking order; empty when nothing matched (still HTTP 200)","items":{"properties":{"position":{"description":"1-based rank on the results page","type":"integer"},"snippet":{"description":"Snippet as shown by Google; may be empty","type":"string"},"title":{"type":"string"},"url":{"type":"string"}},"required":["position","title","url","snippet"],"type":"object"},"type":"array"},"people_also_ask":{"description":"People Also Ask questions with the answer text Google shows and its source page","items":{"properties":{"answer":{"description":"Answer text shown under the question; may be empty","type":"string"},"question":{"type":"string"},"title":{"description":"Source page title","type":"string"},"url":{"description":"Source page URL","type":"string"}},"required":["question","answer","title","url"],"type":"object"},"type":"array"},"queried_at":{"description":"Time the search was executed (UTC)","format":"date-time","type":"string"},"related_searches":{"description":"Related search queries suggested at the bottom of the page","items":{"type":"string"},"type":"array"},"serp_features":{"description":"SERP features present on the page, in a fixed order; empty when the page is organic-only","items":{"enum":["featured_snippet","ai_overview","people_also_ask","knowledge_graph","top_stories","videos","images","shopping","local_pack","ads","discussions_and_forums","recipes","twitter","related_searches"],"type":"string"},"type":"array"},"total_results":{"description":"Google's reported total result count; 0 when not reported","type":"integer"}},"required":["queried_at","keyword","country","language","total_results","organic","featured_snippet","people_also_ask","related_searches","serp_features"],"type":"object"},"example":{"country":"US","featured_snippet":{"snippet":"The best running shoes of 2026 include the Nike Pegasus 42, Brooks Ghost 17 and Hoka Clifton 10.","title":"The 10 Best Running Shoes of 2026 | Runner's World","type":"organic_result","url":"https://www.runnersworld.com/gear/a19663621/best-running-shoes/"},"keyword":"best running shoes","language":"en","organic":[{"position":1,"snippet":"Our editors tested hundreds of shoes to find the best running shoes for every runner and budget.","title":"The 10 Best Running Shoes of 2026 | Runner's World","url":"https://www.runnersworld.com/gear/a19663621/best-running-shoes/"},{"position":2,"snippet":"We lab-tested 250+ running shoes and ranked the best ones for road, trail and race day.","title":"Best Running Shoes 2026 - Tested by Experts | RunRepeat","url":"https://runrepeat.com/guides/best-running-shoes"}],"people_also_ask":[{"answer":"The Brooks Ghost is the best-selling running shoe in the US.","question":"What is the number 1 running shoe?","title":"Best Running Shoes 2026","url":"https://runrepeat.com/guides/best-running-shoes"}],"queried_at":"2026-07-01T12:00:00Z","related_searches":["best running shoes for flat feet","best running shoes for beginners"],"serp_features":["featured_snippet","people_also_ask","videos","shopping","related_searches"],"total_results":1520000000}}}},"400":{"description":"Validation error — the request was rejected before the handler ran.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"402":{"description":"Payment required. The response carries an x402 payment challenge.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaymentRequired"}}}},"500":{"description":"Unexpected internal error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"security":[{"x402Payment":[]}],"summary":"Analyze Google search results for a keyword. Returns organic results, featured snippet, People Also Ask, SERP features. Google SERP analysis for SEO and keyword research: ranking pages, featured snippet owner, PAA questions, related searches, and which SERP features appear (knowledge graph, AI overview, videos, shopping, local pack, ads), by country and language.","tags":["Google SERP Analysis for SEO"],"x-payment-info":{"price":{"amount":"0.15","currency":"USD","mode":"fixed"},"protocols":[{"x402":{}}]},"x-x402":{"discoverable":true,"enabled":true,"paid":true,"price":"$0.15","service_name":"Google SERP Analysis for SEO"}}}},"components":{"schemas":{"Error":{"properties":{"error":{"properties":{"code":{"type":"string"},"message":{"type":"string"}},"required":["code","message"],"type":"object"}},"required":["error"],"type":"object"},"PaymentRequired":{"description":"x402 payment-required envelope. The exact shape comes from the x402 SDK and includes per-network accepted payment options. See https://x402.org for the canonical schema.","type":"object"}},"securitySchemes":{"x402Payment":{"description":"Pay the route via x402 (https://x402.org). The 402 response carries the payment challenge; resubmit with a PAYMENT-SIGNATURE header.","scheme":"x402","type":"http"}}}}
