{"openapi":"3.1.0","info":{"title":"Places — Google Business Profiles & Local Business Search","version":"0.1.0","description":"Google Business Data: look up a business's full profile (rating, hours, categories, place_id, coordinates) by name, or search the local-business directory within a radius by category and name.","x-guidance":"Google Business Data: look up a business's full profile (rating, hours, categories, place_id, coordinates) by name, or search the local-business directory within a radius by category and name. Each operation is an HTTP POST to its /v1/<operation> path with a JSON request body (see each operation's requestBody schema) and returns a JSON response. Endpoints are paid per successful call via x402 or MPP (USDC on Base); an unpaid request returns 402 with payment metadata in the WWW-Authenticate header.","contact":{"email":"hello@openverbs.com"}},"x-discovery":{"ownershipProofs":["0xb1401a71756f51464a9962db12f1eb3e9522490cd20010b06d00cf7b7770acfd5f79721f9dfdf2643f8cecd29af3bde9ec133941a386042b32d9886053a70de61b","0xc1c1f11793e18a00fcb7072421f26e89fb75b6aa517fa84370564991f4b10efa024f6f57e4e67eefd20cf46cc01fc5a62d793fa8fbcda04f26c946a3433d73f91b","0x676b474af0ef9ed4809b5d12d2e789b36e52d56215b21f601d71f76620e36ec630347116a7b2b349a3c3681e5db0fbfa76c4169a676b6d6f27864d0e5017284a1c","0xc2ab96522515ed9e9bc4f1a241b774bd48df42e951ddbf7f6aa8fc76f5a96a20421703e1ec402ce7eb1e4eabea3b6e4e4129cf39d56ea91cf4fcf38561fc94fc1c"]},"servers":[{"url":"https://places.openverbs.com"}],"paths":{"/health":{"get":{"summary":"Health check","security":[],"responses":{"200":{"description":"Healthy","content":{"application/json":{"schema":{"type":"object","properties":{"ok":{"type":"boolean"},"service":{"type":"string"},"version":{"type":"string"}}}}}}}}},"/v1/place-details":{"post":{"summary":"Google Business Profile / place details lookup","description":"Look up a business's full Google Business Profile by name and location. Returns name, category, star rating and review count, address, phone, website, opening hours by day, Google place_id and CID, coordinates and claimed status. For place enrichment, store-hours and business lookups. Unknown business returns found=false. Paid endpoint (x402 + MPP). Price: $0.020000 USDC per successful payment.","tags":["place details","google business profile","business details","business hours","opening hours","google places api","place lookup","business info","store hours","place profile","business enrichment","gmb"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":300,"description":"Business name (optionally with city), e.g. \"Blue Bottle Coffee San Francisco\"."},"location":{"type":"string","minLength":2,"maxLength":120,"description":"Location name, e.g. \"United States\" or \"London,England,United Kingdom\". Defaults to United States."},"language":{"type":"string","pattern":"^[A-Za-z]{2}$","description":"Language code (2-letter). Defaults to en."}},"required":["name"],"additionalProperties":false}}}},"responses":{"200":{"description":"`found` plus the profile: `name`, `category`, `categories`, `rating`, `reviewsCount`, `address`, `phone`, `website`, `domain`, `placeId`, `cid`, `latitude`, `longitude`, `claimed`, `bookingUrl` and `hours` (day → [{open,close}] in HH:MM). No match → `found:false`.","content":{"application/json":{"schema":{"type":"object","properties":{"found":{"type":"boolean"},"name":{"type":"string"},"category":{"type":"string"},"categories":{"type":"array","items":{"type":"string"}},"rating":{"type":"number"},"reviewsCount":{"type":"integer"},"address":{"type":"string"},"phone":{"type":"string"},"website":{"type":"string"},"domain":{"type":"string"},"placeId":{"type":"string"},"cid":{"type":"string"},"latitude":{"type":"number"},"longitude":{"type":"number"},"claimed":{"type":"boolean"},"hours":{"type":"object","properties":{"monday":{"type":"array","items":{"type":"object","properties":{"open":{"type":"string"},"close":{"type":"string"}}}},"sunday":{"type":"array","items":{"type":"object","properties":{"open":{"type":"string"},"close":{"type":"string"}}}}}},"source":{"type":"string"}},"description":"`found` plus the profile: `name`, `category`, `categories`, `rating`, `reviewsCount`, `address`, `phone`, `website`, `domain`, `placeId`, `cid`, `latitude`, `longitude`, `claimed`, `bookingUrl` and `hours` (day → [{open,close}] in HH:MM). No match → `found:false`."}}}},"400":{"description":"Invalid request; no payment is attempted"},"402":{"description":"Payment required; x402/MPP metadata returned in headers"},"502":{"description":"Upstream provider error after payment verification"}},"x-payment-info":{"amount":"20000","currency":"0x20c000000000000000000000b9537d11c60e8b50","description":"Look up a business's full Google Business Profile by name and location. Returns name, category, star rating and review count, address, phone, website, opening hours by day, Google place_id and CID, coordinates and claimed status. For place enrichment, store-hours and business lookups. Unknown business returns found=false.","method":"tempo","preferredOffer":"mpp-tempo","price":{"mode":"fixed","currency":"USD","amount":"0.020000"},"protocols":[{"x402":{"scheme":"exact","network":"eip155:8453","currency":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","recipient":"0xb3f4de103F34b99f0Da19B4F16D6B53a14C2194A"}},{"mpp":{"method":"evm","intent":"charge","network":"8453","currency":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","recipient":"0xb3f4de103F34b99f0Da19B4F16D6B53a14C2194A"}},{"mpp":{"method":"tempo","intent":"charge","network":"4217","currency":"0x20c000000000000000000000b9537d11c60e8b50","recipient":"0xb3f4de103F34b99f0Da19B4F16D6B53a14C2194A"}}],"network":"4217","recipient":"0xb3f4de103F34b99f0Da19B4F16D6B53a14C2194A","offers":[{"amount":"20000","currency":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","description":"Look up a business's full Google Business Profile by name and location. Returns name, category, star rating and review count, address, phone, website, opening hours by day, Google place_id and CID, coordinates and claimed status. For place enrichment, store-hours and business lookups. Unknown business returns found=false.","intent":"charge","method":"evm","recipient":"0xb3f4de103F34b99f0Da19B4F16D6B53a14C2194A"},{"amount":"20000","currency":"0x20c000000000000000000000b9537d11c60e8b50","description":"Look up a business's full Google Business Profile by name and location. Returns name, category, star rating and review count, address, phone, website, opening hours by day, Google place_id and CID, coordinates and claimed status. For place enrichment, store-hours and business lookups. Unknown business returns found=false.","intent":"charge","method":"tempo","recipient":"0xb3f4de103F34b99f0Da19B4F16D6B53a14C2194A"}]}}},"/v1/business-search":{"post":{"summary":"Local business directory search","description":"Google Business Profile and Google Maps local business search API: find businesses within a radius of a coordinate, filtered by category and/or name. Returns ranked businesses with name, category, star rating and review count, address, phone, website domain, place_id/CID and coordinates. For local SEO, lead lists and competitor research. No match → empty results. Paid endpoint (x402 + MPP). Price: $0.030000 USDC per successful payment.","tags":["find local business","local business search","business directory","google maps","places search","nearby businesses","local listings","business finder","map search","poi search","google places","business data","google-business-profile","google-maps","local-seo","places","leads","reviews"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"categories":{"type":"array","items":{"type":"string","minLength":1,"maxLength":80},"minItems":1,"maxItems":10,"description":"Google business categories to match, e.g. [\"coffee_shop\"]. Provide categories and/or query."},"query":{"type":"string","minLength":1,"maxLength":200,"description":"Name text to match, e.g. \"coffee\". Provide categories and/or query."},"locationCoordinate":{"type":"string","pattern":"^-?\\d{1,2}(\\.\\d+)?,-?\\d{1,3}(\\.\\d+)?,\\d{1,4}(\\.\\d+)?$","description":"\"lat,lng,radiusKm\", e.g. \"37.7749,-122.4194,10\". Use the geocode verb to turn a place name into coordinates."},"limit":{"type":"integer","minimum":1,"maximum":100,"description":"Maximum results. Defaults to 10."}},"required":["locationCoordinate"],"additionalProperties":false},"example":{"query":"coffee","locationCoordinate":"37.7749,-122.4194,10","limit":5}}}},"responses":{"200":{"description":"`total`, `count` and ranked `results`, each with `rank`, `name` and (where present) `category`, `categories`, `rating`, `reviewsCount`, `address`, `phone`, `domain`, `website`, `placeId`, `cid`, `latitude`, `longitude`, `claimed`. No match → empty `results`.","content":{"application/json":{"schema":{"type":"object","properties":{"total":{"type":"integer"},"count":{"type":"integer"},"results":{"type":"array","items":{"type":"object","properties":{"rank":{"type":"integer"},"name":{"type":"string"},"category":{"type":"string"},"rating":{"type":"number"},"reviewsCount":{"type":"integer"},"address":{"type":"string"},"phone":{"type":"string"},"domain":{"type":"string"},"website":{"type":"string"},"placeId":{"type":"string"},"cid":{"type":"string"},"latitude":{"type":"number"},"longitude":{"type":"number"},"claimed":{"type":"boolean"}}}}},"description":"`total`, `count` and ranked `results`, each with `rank`, `name` and (where present) `category`, `categories`, `rating`, `reviewsCount`, `address`, `phone`, `domain`, `website`, `placeId`, `cid`, `latitude`, `longitude`, `claimed`. No match → empty `results`."}}}},"400":{"description":"Invalid request; no payment is attempted"},"402":{"description":"Payment required; x402/MPP metadata returned in headers"},"502":{"description":"Upstream provider error after payment verification"}},"x-payment-info":{"amount":"30000","currency":"0x20c000000000000000000000b9537d11c60e8b50","description":"Google Business Profile and Google Maps local business search API: find businesses within a radius of a coordinate, filtered by category and/or name. Returns ranked businesses with name, category, star rating and review count, address, phone, website domain, place_id/CID and coordinates. For local SEO, lead lists and competitor research. No match → empty results.","method":"tempo","preferredOffer":"mpp-tempo","price":{"mode":"fixed","currency":"USD","amount":"0.030000"},"protocols":[{"x402":{"scheme":"exact","network":"eip155:8453","currency":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","recipient":"0xb3f4de103F34b99f0Da19B4F16D6B53a14C2194A"}},{"mpp":{"method":"evm","intent":"charge","network":"8453","currency":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","recipient":"0xb3f4de103F34b99f0Da19B4F16D6B53a14C2194A"}},{"mpp":{"method":"tempo","intent":"charge","network":"4217","currency":"0x20c000000000000000000000b9537d11c60e8b50","recipient":"0xb3f4de103F34b99f0Da19B4F16D6B53a14C2194A"}}],"network":"4217","recipient":"0xb3f4de103F34b99f0Da19B4F16D6B53a14C2194A","offers":[{"amount":"30000","currency":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","description":"Google Business Profile and Google Maps local business search API: find businesses within a radius of a coordinate, filtered by category and/or name. Returns ranked businesses with name, category, star rating and review count, address, phone, website domain, place_id/CID and coordinates. For local SEO, lead lists and competitor research. No match → empty results.","intent":"charge","method":"evm","recipient":"0xb3f4de103F34b99f0Da19B4F16D6B53a14C2194A"},{"amount":"30000","currency":"0x20c000000000000000000000b9537d11c60e8b50","description":"Google Business Profile and Google Maps local business search API: find businesses within a radius of a coordinate, filtered by category and/or name. Returns ranked businesses with name, category, star rating and review count, address, phone, website domain, place_id/CID and coordinates. For local SEO, lead lists and competitor research. No match → empty results.","intent":"charge","method":"tempo","recipient":"0xb3f4de103F34b99f0Da19B4F16D6B53a14C2194A"}]}}},"/v1/business-categories":{"post":{"summary":"Local business category counts","description":"Count how many Google businesses fall under each category within a radius of a coordinate, optionally filtered by category or name. Returns categories ranked by business count - for local market sizing, competitor-density analysis and site-selection research. No match → empty results. Paid endpoint (x402 + MPP). Price: $0.040000 USDC per successful payment.","tags":["business categories","category aggregation","local market research","business density","market sizing","competitor density","google business categories","local business counts","area analysis","business data"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"locationCoordinate":{"type":"string","pattern":"^-?\\d{1,2}(\\.\\d+)?,-?\\d{1,3}(\\.\\d+)?,\\d{1,4}(\\.\\d+)?$","description":"\"lat,lng,radiusKm\", e.g. \"37.7749,-122.4194,10\". Use the geocode verb to turn a place name into coordinates."},"categories":{"type":"array","items":{"type":"string","minLength":1,"maxLength":80},"minItems":1,"maxItems":10,"description":"Optional Google business categories to restrict the aggregation, e.g. [\"restaurant\"]."},"query":{"type":"string","minLength":1,"maxLength":200,"description":"Optional name text to restrict the aggregation."},"limit":{"type":"integer","minimum":1,"maximum":100,"description":"Maximum category buckets. Defaults to 20."}},"required":["locationCoordinate"],"additionalProperties":false},"example":{"categories":["coffee_shop"],"locationCoordinate":"37.7749,-122.4194,10","limit":5}}}},"responses":{"200":{"description":"`total`, `count` and `results`, each with `category` and `count` (number of businesses in that category). No match → empty `results`.","content":{"application/json":{"schema":{"type":"object","properties":{"total":{"type":"integer"},"count":{"type":"integer"},"results":{"type":"array","items":{"type":"object","properties":{"category":{"type":"string"},"count":{"type":"integer"}}}}},"description":"`total`, `count` and `results`, each with `category` and `count` (number of businesses in that category). No match → empty `results`."}}}},"400":{"description":"Invalid request; no payment is attempted"},"402":{"description":"Payment required; x402/MPP metadata returned in headers"},"502":{"description":"Upstream provider error after payment verification"}},"x-payment-info":{"amount":"40000","currency":"0x20c000000000000000000000b9537d11c60e8b50","description":"Count how many Google businesses fall under each category within a radius of a coordinate, optionally filtered by category or name. Returns categories ranked by business count - for local market sizing, competitor-density analysis and site-selection research. No match → empty results.","method":"tempo","preferredOffer":"mpp-tempo","price":{"mode":"fixed","currency":"USD","amount":"0.040000"},"protocols":[{"x402":{"scheme":"exact","network":"eip155:8453","currency":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","recipient":"0xb3f4de103F34b99f0Da19B4F16D6B53a14C2194A"}},{"mpp":{"method":"evm","intent":"charge","network":"8453","currency":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","recipient":"0xb3f4de103F34b99f0Da19B4F16D6B53a14C2194A"}},{"mpp":{"method":"tempo","intent":"charge","network":"4217","currency":"0x20c000000000000000000000b9537d11c60e8b50","recipient":"0xb3f4de103F34b99f0Da19B4F16D6B53a14C2194A"}}],"network":"4217","recipient":"0xb3f4de103F34b99f0Da19B4F16D6B53a14C2194A","offers":[{"amount":"40000","currency":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","description":"Count how many Google businesses fall under each category within a radius of a coordinate, optionally filtered by category or name. Returns categories ranked by business count - for local market sizing, competitor-density analysis and site-selection research. No match → empty results.","intent":"charge","method":"evm","recipient":"0xb3f4de103F34b99f0Da19B4F16D6B53a14C2194A"},{"amount":"40000","currency":"0x20c000000000000000000000b9537d11c60e8b50","description":"Count how many Google businesses fall under each category within a radius of a coordinate, optionally filtered by category or name. Returns categories ranked by business count - for local market sizing, competitor-density analysis and site-selection research. No match → empty results.","intent":"charge","method":"tempo","recipient":"0xb3f4de103F34b99f0Da19B4F16D6B53a14C2194A"}]}}}},"x-service-info":{"categories":["web"],"docs":{"homepage":"https://places.openverbs.com","apiReference":"https://places.openverbs.com/openapi.json"}}}