{"name":"partners/123456789/merchants/001/status","merchantName":"Foo Bar Restaurant","inputGeoInfo":{"unstructured_address":"123 Foo Bar Street, Mountain View"},"processingStatus":"COMPLETED","bookingStatus":{"hasValidFutureInventory":true},"waitlistStatus":{"hasValidWaitlistService":true}"geoMatch":{"name":"Foo Bar Restaurant","formattedAddress":"123 Foo Bar St, Mountain View, CA 94043","placeId":"ChIAAAAAAAAABBBBBBBB"},"directUrls":[{"type":"BOOKING","url":"https://reserve-partnerdev.sandbox.google.com/maps/reserve/v/dine/m/Nwaaaaa"},{"type":"WAITLIST","url":"https://reserve-partnerdev.sandbox.google.com/maps/reserve/v/wait/c/iDbbbbb"}]}
GET https://mapsbooking.googleapis.com/v1alpha/inventory/partners/{partnerId}/merchants/status?pageSize=50&bookingInventoryStatusRestrict=HAS_VALID_FUTURE_INVENTORY&geoMatchRestrict=GEO_UNMATCHED
[[["เข้าใจง่าย","easyToUnderstand","thumb-up"],["แก้ปัญหาของฉันได้","solvedMyProblem","thumb-up"],["อื่นๆ","otherUp","thumb-up"]],[["ไม่มีข้อมูลที่ฉันต้องการ","missingTheInformationINeed","thumb-down"],["ซับซ้อนเกินไป/มีหลายขั้นตอนมากเกินไป","tooComplicatedTooManySteps","thumb-down"],["ล้าสมัย","outOfDate","thumb-down"],["ปัญหาเกี่ยวกับการแปล","translationIssue","thumb-down"],["ตัวอย่าง/ปัญหาเกี่ยวกับโค้ด","samplesCodeIssue","thumb-down"],["อื่นๆ","otherDown","thumb-down"]],["อัปเดตล่าสุด 2025-07-26 UTC"],[[["\u003cp\u003eThe Google Maps Booking API's Merchant Status API allows programmatic retrieval of individual merchant statuses for integrations and Local Services Ads inventory.\u003c/p\u003e\n"],["\u003cp\u003eUse this API to enhance customer relationship management tools, build inventory tracking dashboards, and improve data quality by fixing incorrect merchant information.\u003c/p\u003e\n"],["\u003cp\u003eMerchant status data includes inventory status, matching status, Local Services Ads details (if applicable), and URLs showcasing the merchant's Google presence.\u003c/p\u003e\n"],["\u003cp\u003eDevelopers can look up individual merchant status or retrieve statuses in bulk with filtering options, receiving responses containing relevant merchant data.\u003c/p\u003e\n"],["\u003cp\u003eCaching retrieved results and periodic refreshing are recommended to avoid excessive API requests and potential throttling.\u003c/p\u003e\n"]]],["The Merchant Status API provides methods to retrieve merchant inventory and matching status for Google Maps and Local Services Ads. Key actions include: retrieving a single merchant's status via a `GET` request using their `partnerId` and `merchantId`, and fetching multiple merchants' statuses with filtering options like `bookingInventoryStatusRestrict` and `geoMatchRestrict`. The API's response includes details such as inventory and matching statuses, and URLs showing the merchant's visibility on Google. Results should be cached to avoid excessive queries.\n"],null,["# Local Services Ads End-to-End Querying Merchant Status via the API\n\nUse cases\n---------\n\n\n[Google Maps Booking API](/maps-booking/reference/maps-booking-api/rest) provides two methods, which can be used\nto programmatically retrieve a status of the individual merchants for\nvarious integrations or\n[Local Services Ads](https://ads.google.com/local-services-ads)\ninventory.\n\nUse cases for Merchant Status API:\n\n- Enhance existing customer relation management tools to demonstrate your customers how their inventory is surfaced on Google.\n- Build a dashboard to track the inventory status and matching status of your merchants.\n- Programmatically retrieve matching and bookable statuses of your merchants and fix any incorrect information to improve data quality.\n\nWhat does the merchant status contain\n-------------------------------------\n\nThe\n[MerchantStatus](/maps-booking/reference/maps-booking-api/rest/v1alpha/MerchantStatus) contains the following information:\n\n- Merchant inventory status: applies to both booking and/or waitlist merchants.\n- Merchant matching status: includes details on the matched business listing\n- For [Google Local Services Ads](https://ads.google.com/local-services-ads) only) Matched merchant service provider: includes the customer ID and service categories.\n- The URLs to demonstrate how the merchant is surfaced on Google.\n\nLook up a single merchant status\n--------------------------------\n\nYou can get the status of a single merchant using\n[inventory.partners.merchants.getStatus](/maps-booking/reference/maps-booking-api/rest/v1alpha/inventory.partners.merchants/getStatus): \n\n```text\nGET https://mapsbooking.googleapis.com/v1alpha/inventory/partners/{partnerId}/merchants/{merchantId}/status\n```\n\nHere is a Python code sample (see examples in more languages\n[here](/actions-center/verticals/local-services/e2e/reference/real-time-updates-rest/code-samples)): \n\n```python\nfrom google.auth.transport.requests import AuthorizedSession\nfrom google.oauth2 import service_account\n\ncredentials = service_account.Credentials.from_service_account_file(\n './your_key.json')\nscoped_credentials = credentials.with_scopes(\n ['https://www.googleapis.com/auth/mapsbooking'])\nauthed_session = AuthorizedSession(scoped_credentials)\n\nresponse = authed_session.get('https://partnerdev-mapsbooking.googleapis.com' +\n '/v1alpha/inventory/partners/123456789/merchants/001/status')\n```\n\nAn example\n[MerchantStatus](/maps-booking/reference/maps-booking-api/rest/v1alpha/MerchantStatus) response looks like: \n\n```carbon\n {\n \"name\": \"partners/123456789/merchants/001/status\",\n \"merchantName\": \"Foo Bar Restaurant\",\n \"inputGeoInfo\": {\n \"unstructured_address\": \"123 Foo Bar Street, Mountain View\"\n },\n \"processingStatus\": \"COMPLETED\",\n \"bookingStatus\": {\n \"hasValidFutureInventory\": true\n },\n \"waitlistStatus\": {\n \"hasValidWaitlistService\": true\n }\n \"geoMatch\": {\n \"name\": \"Foo Bar Restaurant\",\n \"formattedAddress\": \"123 Foo Bar St, Mountain View, CA 94043\",\n \"placeId\": \"ChIAAAAAAAAABBBBBBBB\"\n },\n \"directUrls\": [\n {\n \"type\": \"BOOKING\",\n \"url\": \"https://reserve-partnerdev.sandbox.google.com/maps/reserve/v/dine/m/Nwaaaaa\"\n },\n {\n \"type\": \"WAITLIST\",\n \"url\": \"https://reserve-partnerdev.sandbox.google.com/maps/reserve/v/wait/c/iDbbbbb\"\n }\n ]\n }\n```\n\nRetrieve merchant statuses in bulk\n----------------------------------\n\nYou can retrieve statuses of all merchants, or a group of merchants\nsatisfying certain inventory/matching conditions, using\n[inventory.partners.merchants.status.list](/maps-booking/reference/maps-booking-api/rest/v1alpha/inventory.partners.merchants.status/list). For example, you can make\nthis call to get all unmatched merchants with valid future-dated booking\ninventory: \n\n```scdoc\nGET https://mapsbooking.googleapis.com/v1alpha/inventory/partners/{partnerId}/merchants/status?pageSize=50&bookingInventoryStatusRestrict=HAS_VALID_FUTURE_INVENTORY&geoMatchRestrict=GEO_UNMATCHED\n```\n\nA sample response would look like this: \n\n```carbon\n {\n \"merchantStatuses\": [\n {\n \"name\": \"partners/123456789/merchants/002/status\",\n \"merchantName\": \"Bar Foo Restaurant\",\n \"inputGeoInfo\": {\n \"unstructured_address\": \"234 Bar Foo Street, Mountain View\"\n },\n \"processingStatus\": \"COMPLETED\",\n \"bookingStatus\": {\n \"hasValidFutureInventory\": true\n },\n \"waitlistStatus\": {},\n },\n ...\n {\n \"name\": \"partners/123456789/merchants/080/status\",\n \"merchantName\": \"Baz Restaurant\",\n \"inputGeoInfo\": {\n \"unstructured_address\": \"345 Baz Street, Mountain View\"\n },\n \"processingStatus\": \"COMPLETED\",\n \"bookingStatus\": {\n \"hasValidFutureInventory\": true\n },\n \"waitlistStatus\": {\n \"hasValidWaitlistService\": true\n },\n },\n ],\n \"nextPageToken\": \"AAABBBB\"\n }\n```\n\nThis response will contain 50\n[MerchantStatus](/maps-booking/reference/maps-booking-api/rest/v1alpha/MerchantStatus) that satisfy the filtering conditions and ordered by\n`merchant_id`. The response also contains a page token (if it is\nnot the last page) to query the next page.\n\nPlease note: the filtering conditions should be consistent across all\npages.\n\nBest Practices\n--------------\n\nSince merchant statuses do not change frequently in most times, it is\nencouraged to cache the retrieved results and periodically (e.g. every few\nhours) retrieve them via new queries. The Actions Center may throttle your\nqueries if the number of requests per second deem to be excessively high."]]