{"openapi":"3.1.0","info":{"title":"Places \u0026 Local Business Search","version":"1.0.0","description":"![x402 Atlas](data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI0OCIgaGVpZ2h0PSI0OCIgdmlld0JveD0iMCAwIDQ4IDQ4IiBmaWxsPSJub25lIj48ZyBzdHJva2U9IiMxRTQwQUYiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCI+PHBhdGggZD0iTTI0IDdWMjhNMjQgMjhMOCA0Mk0yNCAyOEw0MCA0MiIgc3Ryb2tlLXdpZHRoPSIyLjEiLz48cGF0aCBkPSJNMjQgN0w4IDQyTTI0IDdMNDAgNDJNMTUgMjhIMzMiIHN0cm9rZS13aWR0aD0iMi43Ii8+PC9nPjxnIGZpbGw9IiMxRTQwQUYiPjxjaXJjbGUgY3g9IjgiIGN5PSI0MiIgcj0iMy4yIi8+PGNpcmNsZSBjeD0iNDAiIGN5PSI0MiIgcj0iMy4yIi8+PGNpcmNsZSBjeD0iMTUiIGN5PSIyOCIgcj0iMy4yIi8+PGNpcmNsZSBjeD0iMzMiIGN5PSIyOCIgcj0iMy4yIi8+PGNpcmNsZSBjeD0iMjQiIGN5PSIyOCIgcj0iMi45Ii8+PC9nPjxjaXJjbGUgY3g9IjI0IiBjeT0iNyIgcj0iNC4yIiBmaWxsPSIjMTRCOEE2Ii8+PC9zdmc+)\n\n**Places \u0026 Local Business Search** is an independently documented x402 Atlas bridge at https://places.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://places.use.x402atlas.com/apple/local?center=37.7749%2C-122.4194\u0026q=coffee\u0026span=0.05%2C0.05'\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://places.use.x402atlas.com/docs\n- OpenAPI 3.1 specification: https://places.use.x402atlas.com/openapi.json\n- Agent-readable route corpus: https://places.use.x402atlas.com/llms.txt\n- Endpoint index: https://places.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://places.use.x402atlas.com"}],"tags":[{"name":"Places \u0026 Local Business Search"}],"paths":{"/apple/local":{"get":{"description":"Apple Maps local business search: pass a `q` query (required, e.g. \"coffee\") and an optional `center` viewport as `latitude,longitude` (e.g. `37.7749,-122.4194`) plus an optional `span` (`lat_span,lng_span`). Returns Apple Maps places as `{ query, queried_at, results }`, where each result carries `title`, `muid` (Apple's place id — pass it to `/apple/place`), `place_id`, `gps_coordinates`, `rating`, `max_rating`, `reviews`, `types`, `address`, `phone`, `website`, `open_state` and `weekly_hours`. For Google Maps data use `/local`; for a place name search use `/search`. A query with no matches returns `404 not_found`.\n\n**Price:** $0.02 per call.","operationId":"places_GET_apple_local","parameters":[{"name":"center","in":"query","description":"Optional viewport centre as latitude,longitude (e.g. 37.7749,-122.4194)","schema":{"description":"Optional viewport centre as latitude,longitude (e.g. 37.7749,-122.4194)","maxLength":32,"type":"string"},"example":"37.7749,-122.4194"},{"name":"q","in":"query","required":true,"description":"Apple Maps search query (business or category)","schema":{"description":"Apple Maps search query (business or category)","maxLength":400,"type":"string"},"example":"coffee"},{"name":"span","in":"query","description":"Optional viewport span as lat_span,lng_span (e.g. 0.05,0.05)","schema":{"description":"Optional viewport span as lat_span,lng_span (e.g. 0.05,0.05)","maxLength":32,"type":"string"},"example":"0.05,0.05"}],"responses":{"200":{"description":"Success.","content":{"application/json":{"schema":{"properties":{"queried_at":{"format":"date-time","type":"string"},"query":{"type":"string"},"results":{"items":{"properties":{"address":{"type":"string"},"gps_coordinates":{"properties":{"latitude":{"type":"number"},"longitude":{"type":"number"}},"type":"object"},"max_rating":{"type":"number"},"muid":{"description":"Apple's place id, pass to /places/apple/place","type":"string"},"open_state":{"type":"string"},"phone":{"type":"string"},"place_id":{"type":"string"},"position":{"description":"Rank in the result list","type":"integer"},"rating":{"type":"number"},"reviews":{"type":"integer"},"title":{"type":"string"},"types":{"items":{"type":"string"},"type":"array"},"website":{"type":"string"},"weekly_hours":{"description":"Apple's opening-hours object, upstream shape passed through as-is","type":"object"}},"required":["title"],"type":"object"},"type":"array"}},"required":["query","queried_at","results"],"type":"object"},"example":{"queried_at":"2026-07-11T12:00:00Z","query":"coffee","results":[{"address":"1 Ferry Building, San Francisco, CA","muid":"1234567890","position":1,"rating":4.5,"reviews":812,"title":"Blue Bottle Coffee","types":["Coffee shop"]}]}}}},"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":"Apple Maps local business search — find places by query and map centre (latitude,longitude), returning ratings, reviews, address, phone, website \u0026 Apple Maps place ids (muid) as clean JSON.","tags":["Places \u0026 Local Business Search"],"x-payment-info":{"price":{"amount":"0.02","currency":"USD","mode":"fixed"},"protocols":[{"x402":{}}]},"x-x402":{"discoverable":true,"enabled":true,"paid":true,"price":"$0.02","service_name":"Places \u0026 Local Business Search"}}},"/apple/place":{"get":{"description":"Apple Maps place details: pass a `muid` (required — Apple's place id from `/apple/local`) to pull the full profile for one place. Returns `{ queried_at, place }`, where `place` carries `title`, `muid`, `gps_coordinates`, `rating`, `max_rating`, `reviews`, `type`, `types`, `address`, `phone`, `website`, `open_state` and `weekly_hours`. An unknown identifier returns `404 not_found`.\n\n**Price:** $0.02 per call.","operationId":"places_GET_apple_place","parameters":[{"name":"muid","in":"query","required":true,"description":"Apple Maps place id (muid, from /places/apple/local results)","schema":{"description":"Apple Maps place id (muid, from /places/apple/local results)","maxLength":512,"type":"string"},"example":"6435622567484707146"}],"responses":{"200":{"description":"Success.","content":{"application/json":{"schema":{"properties":{"place":{"properties":{"address":{"type":"string"},"gps_coordinates":{"properties":{"latitude":{"type":"number"},"longitude":{"type":"number"}},"type":"object"},"max_rating":{"type":"number"},"muid":{"type":"string"},"open_state":{"type":"string"},"phone":{"type":"string"},"rating":{"type":"number"},"reviews":{"type":"integer"},"title":{"type":"string"},"type":{"type":"string"},"types":{"items":{"type":"string"},"type":"array"},"website":{"type":"string"},"weekly_hours":{"description":"Apple's opening-hours object, upstream shape passed through as-is","type":"object"}},"required":["title"],"type":"object"},"queried_at":{"format":"date-time","type":"string"}},"required":["queried_at","place"],"type":"object"},"example":{"place":{"address":"270 7th St, San Francisco, CA","muid":"6435622567484707146","rating":4.5,"reviews":812,"title":"Sightglass Coffee","type":"Coffee shop","website":"https://sightglasscoffee.com"},"queried_at":"2026-07-11T12:00:00Z"}}}},"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":"Apple Maps place details — full profile for a single Apple Maps place (muid): ratings, reviews, weekly hours, phone, website, categories \u0026 address as clean JSON.","tags":["Places \u0026 Local Business Search"],"x-payment-info":{"price":{"amount":"0.02","currency":"USD","mode":"fixed"},"protocols":[{"x402":{}}]},"x-x402":{"discoverable":true,"enabled":true,"paid":true,"price":"$0.02","service_name":"Places \u0026 Local Business Search"}}},"/ddg/local":{"get":{"description":"DuckDuckGo Maps local business search (Apple Maps + Tripadvisor data): pass a `q` query (required, e.g. \"coffee\") and an optional location as `lat`+`lon` (both together) or a `bbox` (`lat_tl,lng_tl,lat_br,lng_br`). Returns `{ query, queried_at, results }`, where each result carries `title`, `gps_coordinates`, `rating`, `reviews`, `type`, `types`, `address`, `phone`, `website`, `hours` and `price`. DuckDuckGo Maps is search-only — there is no place-details route; for that use `/place` (Google) or `/apple/place` (Apple). A query with no matches returns `404 not_found`.\n\n**Price:** $0.02 per call.","operationId":"places_GET_ddg_local","parameters":[{"name":"bbox","in":"query","description":"Bounding box as lat_tl,lng_tl,lat_br,lng_br","schema":{"description":"Bounding box as lat_tl,lng_tl,lat_br,lng_br","maxLength":96,"type":"string"}},{"name":"lat","in":"query","description":"Latitude (must be paired with lon)","schema":{"description":"Latitude (must be paired with lon)","maxLength":32,"type":"string"}},{"name":"lon","in":"query","description":"Longitude (must be paired with lat)","schema":{"description":"Longitude (must be paired with lat)","maxLength":32,"type":"string"}},{"name":"q","in":"query","required":true,"description":"DuckDuckGo Maps search query (business or category)","schema":{"description":"DuckDuckGo Maps search query (business or category)","maxLength":400,"type":"string"},"example":"coffee"}],"responses":{"200":{"description":"Success.","content":{"application/json":{"schema":{"properties":{"queried_at":{"format":"date-time","type":"string"},"query":{"type":"string"},"results":{"items":{"properties":{"address":{"type":"string"},"gps_coordinates":{"properties":{"latitude":{"type":"number"},"longitude":{"type":"number"}},"type":"object"},"hours":{"description":"Opening hours, upstream shape passed through as-is","type":"object"},"phone":{"type":"string"},"position":{"description":"Rank in the result list","type":"integer"},"price":{"type":"string"},"rating":{"type":"number"},"reviews":{"type":"integer"},"title":{"type":"string"},"type":{"type":"string"},"types":{"items":{"type":"string"},"type":"array"},"website":{"type":"string"}},"required":["title"],"type":"object"},"type":"array"}},"required":["query","queried_at","results"],"type":"object"},"example":{"queried_at":"2026-07-11T12:00:00Z","query":"coffee","results":[{"address":"1 Ferry Building, San Francisco, CA","position":1,"rating":4.5,"reviews":812,"title":"Blue Bottle Coffee","type":"Coffee shop"}]}}}},"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":"DuckDuckGo Maps local business search (Apple Maps + Tripadvisor data) — find places by query and location, returning ratings, reviews, address, phone, website \u0026 hours as clean JSON.","tags":["Places \u0026 Local Business Search"],"x-payment-info":{"price":{"amount":"0.02","currency":"USD","mode":"fixed"},"protocols":[{"x402":{}}]},"x-x402":{"discoverable":true,"enabled":true,"paid":true,"price":"$0.02","service_name":"Places \u0026 Local Business Search"}}},"/local":{"get":{"description":"Google Maps local business search: pass a `q` query (required, e.g. \"coffee\" or \"plumber near me\") and an optional `ll` viewport (`@latitude,longitude,zoom`, e.g. `@40.7455,-74.0083,14z`) to bias results to an area. Returns `{ query, queried_at, results }`, where each result is a place with `title`, `place_id`, `data_id`, `gps_coordinates`, `rating`, `reviews`, `type`, `address`, `phone`, `website`, `price`, `hours`, `open_state` and `service_options`. Use `place_id`/`data_id` with `/place` to pull the full profile for one result. To search by a free-text place name instead of coordinates, use `/search`. Optional `hl` (language) and `gl` (country) localize the response. A query with no matches returns `200` with an empty `results` list.\n\n**Price:** $0.02 per call.","operationId":"places_GET_local","parameters":[{"name":"gl","in":"query","description":"Optional country code (e.g. us)","schema":{"description":"Optional country code (e.g. us)","maxLength":8,"type":"string"},"example":"us"},{"name":"hl","in":"query","description":"Optional language code (e.g. en)","schema":{"description":"Optional language code (e.g. en)","maxLength":8,"type":"string"},"example":"en"},{"name":"ll","in":"query","description":"Optional viewport to bias results: @latitude,longitude,zoom (e.g. @40.7455,-74.0083,14z)","schema":{"description":"Optional viewport to bias results: @latitude,longitude,zoom (e.g. @40.7455,-74.0083,14z)","maxLength":64,"type":"string"},"example":"@40.7455096,-74.0083012,14z"},{"name":"q","in":"query","required":true,"description":"Google Maps search query (business, category, or 'near me' phrase)","schema":{"description":"Google Maps search query (business, category, or 'near me' phrase)","maxLength":400,"type":"string"},"example":"coffee"}],"responses":{"200":{"description":"Success.","content":{"application/json":{"schema":{"properties":{"queried_at":{"format":"date-time","type":"string"},"query":{"type":"string"},"results":{"items":{"properties":{"address":{"type":"string"},"data_id":{"type":"string"},"gps_coordinates":{"properties":{"latitude":{"type":"number"},"longitude":{"type":"number"}},"type":"object"},"hours":{"description":"Opening hours, upstream shape passed through as-is","type":"object"},"open_state":{"type":"string"},"phone":{"type":"string"},"place_id":{"type":"string"},"position":{"description":"Rank in the result list","type":"integer"},"price":{"type":"string"},"rating":{"type":"number"},"reviews":{"type":"integer"},"service_options":{"description":"Dine-in/takeout/delivery flags, upstream shape passed through as-is","type":"object"},"title":{"type":"string"},"type":{"type":"string"},"website":{"type":"string"}},"required":["title"],"type":"object"},"type":"array"}},"required":["query","queried_at","results"],"type":"object"},"example":{"queried_at":"2026-07-10T12:00:00Z","query":"coffee","results":[{"address":"1 Rockefeller Plaza, New York, NY","gps_coordinates":{"latitude":40.7443,"longitude":-74.0034},"place_id":"ChIJN1t_tDeuEmsRUsoyG83frY4","position":1,"rating":4.5,"reviews":812,"title":"Blue Bottle Coffee","type":"Coffee shop"}]}}}},"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":"Google Maps local business search — find places by query and map location (coordinates viewport), returning ratings, reviews, address, phone, website, hours \u0026 service options as clean JSON.","tags":["Places \u0026 Local Business Search"],"x-payment-info":{"price":{"amount":"0.02","currency":"USD","mode":"fixed"},"protocols":[{"x402":{}}]},"x-x402":{"discoverable":true,"enabled":true,"paid":true,"price":"$0.02","service_name":"Places \u0026 Local Business Search"}}},"/place":{"get":{"description":"Google Maps place details: pass a `place_id` (required — the id returned by `/local`) to pull the full profile for one place. Returns `{ queried_at, place }`, where `place` carries `title`, `gps_coordinates`, `rating`, `reviews`, `type`, `address`, `phone`, `website`, `price`, `description`, `open_state`, `hours`, `service_options` (dine-in/takeout/delivery), `popular_times` and `plus_code`. Optional `hl` (language) and `gl` (country) localize the response. An unknown `place_id` returns `404 not_found`.\n\n**Price:** $0.02 per call.","operationId":"places_GET_place","parameters":[{"name":"gl","in":"query","description":"Optional country code (e.g. us)","schema":{"description":"Optional country code (e.g. us)","maxLength":8,"type":"string"},"example":"us"},{"name":"hl","in":"query","description":"Optional language code (e.g. en)","schema":{"description":"Optional language code (e.g. en)","maxLength":8,"type":"string"},"example":"en"},{"name":"place_id","in":"query","required":true,"description":"Google Maps place id (from /places/local results)","schema":{"description":"Google Maps place id (from /places/local results)","maxLength":512,"type":"string"},"example":"ChIJN1t_tDeuEmsRUsoyG83frY4"}],"responses":{"200":{"description":"Success.","content":{"application/json":{"schema":{"properties":{"place":{"properties":{"address":{"type":"string"},"description":{"type":"string"},"gps_coordinates":{"properties":{"latitude":{"type":"number"},"longitude":{"type":"number"}},"type":"object"},"hours":{"description":"Opening hours, upstream shape passed through as-is","type":"object"},"open_state":{"type":"string"},"phone":{"type":"string"},"place_id":{"type":"string"},"plus_code":{"type":"string"},"popular_times":{"description":"Busy-ness graph, upstream shape passed through as-is","type":"object"},"price":{"type":"string"},"rating":{"type":"number"},"reviews":{"type":"integer"},"service_options":{"description":"Dine-in/takeout/delivery flags, upstream shape passed through as-is","type":"object"},"title":{"type":"string"},"type":{"type":"string"},"website":{"type":"string"}},"required":["title"],"type":"object"},"queried_at":{"format":"date-time","type":"string"}},"required":["queried_at","place"],"type":"object"},"example":{"place":{"address":"1 Rockefeller Plaza, New York, NY","gps_coordinates":{"latitude":40.7443,"longitude":-74.0034},"phone":"+1 510-653-3394","place_id":"ChIJN1t_tDeuEmsRUsoyG83frY4","rating":4.5,"reviews":812,"title":"Blue Bottle Coffee","type":"Coffee shop","website":"https://bluebottlecoffee.com"},"queried_at":"2026-07-10T12:00:00Z"}}}},"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":"Google Maps place details — full profile for a single place_id: ratings, reviews, hours, phone, website, price, service options, popular times \u0026 plus code as clean JSON.","tags":["Places \u0026 Local Business Search"],"x-payment-info":{"price":{"amount":"0.02","currency":"USD","mode":"fixed"},"protocols":[{"x402":{}}]},"x-x402":{"discoverable":true,"enabled":true,"paid":true,"price":"$0.02","service_name":"Places \u0026 Local Business Search"}}},"/search":{"get":{"description":"Google Maps local business search by place name: pass a `q` query (required, e.g. \"coffee\" or \"plumber\") and an optional `location` as free text (e.g. \"Austin, Texas, United States\") — no latitude/longitude needed, so an agent doesn't have to geocode first. Returns Google's local-pack results as `{ query, queried_at, results }`, where each result is a place with `title`, `place_id`, `gps_coordinates`, `rating`, `reviews`, `type`, `address`, `hours`, `price` and `service_options`. Use `place_id` with `/place` to pull the full profile. Optional `hl` (language) and `gl` (country) localize the response. For a map-viewport search by coordinates use `/local` instead. A query with no matches returns `404 not_found`.\n\n**Price:** $0.02 per call.","operationId":"places_GET_search","parameters":[{"name":"gl","in":"query","description":"Optional country code (e.g. us)","schema":{"description":"Optional country code (e.g. us)","maxLength":8,"type":"string"},"example":"us"},{"name":"hl","in":"query","description":"Optional language code (e.g. en)","schema":{"description":"Optional language code (e.g. en)","maxLength":8,"type":"string"},"example":"en"},{"name":"location","in":"query","description":"Place to search in, as free text (e.g. 'Austin, Texas, United States') — no coordinates needed","schema":{"description":"Place to search in, as free text (e.g. 'Austin, Texas, United States') — no coordinates needed","maxLength":200,"type":"string"},"example":"Austin, Texas, United States"},{"name":"q","in":"query","required":true,"description":"Google Maps search query (business or category, e.g. 'coffee')","schema":{"description":"Google Maps search query (business or category, e.g. 'coffee')","maxLength":400,"type":"string"},"example":"coffee"}],"responses":{"200":{"description":"Success.","content":{"application/json":{"schema":{"properties":{"queried_at":{"format":"date-time","type":"string"},"query":{"type":"string"},"results":{"items":{"properties":{"address":{"type":"string"},"gps_coordinates":{"properties":{"latitude":{"type":"number"},"longitude":{"type":"number"}},"type":"object"},"hours":{"description":"Opening hours, upstream shape passed through as-is","type":"object"},"place_id":{"type":"string"},"position":{"description":"Rank in the result list","type":"integer"},"price":{"type":"string"},"rating":{"type":"number"},"reviews":{"type":"integer"},"service_options":{"description":"Dine-in/takeout/delivery flags, upstream shape passed through as-is","type":"object"},"title":{"type":"string"},"type":{"type":"string"}},"required":["title"],"type":"object"},"type":"array"}},"required":["query","queried_at","results"],"type":"object"},"example":{"queried_at":"2026-07-10T12:00:00Z","query":"coffee","results":[{"address":"1 Rockefeller Plaza, New York, NY","place_id":"ChIJN1t_tDeuEmsRUsoyG83frY4","position":1,"rating":4.5,"reviews":812,"title":"Blue Bottle Coffee","type":"Coffee shop"}]}}}},"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":"Google Maps local business search by place name — find places by query and a free-text location (e.g. 'Austin, Texas'), no coordinates needed; returns Google's local-pack results as clean JSON.","tags":["Places \u0026 Local Business Search"],"x-payment-info":{"price":{"amount":"0.02","currency":"USD","mode":"fixed"},"protocols":[{"x402":{}}]},"x-x402":{"discoverable":true,"enabled":true,"paid":true,"price":"$0.02","service_name":"Places \u0026 Local Business Search"}}}},"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"}}}}
