Updated Oct 2026
Google My Business API Migration: Map Every v4 Endpoint to the New Business Profile APIs
The Google My Business API v4 wasn’t switched off in one go. Google split it into separate Business Profile APIs: accounts moved to the Account Management API, locations to the Business Information API, verifications and notifications to their own APIs, and insights to the Performance API. Reviews, local posts and media still run on mybusiness.googleapis.com/v4. A Google My Business API migration is mostly a matter of moving account and location calls, adding readMask, and deleting features Google discontinued, such as Q&A and Business Calls.
New to the naming? Start with the Google My Business API and the Google Business Profile API overviews.
What “deprecated” means in the Google My Business API
Google uses two states on its sunset dates page:
- Support ended: the method still works, but gets no new features or bug fixes.
- Discontinued: the method returns errors and is about to be shut down.
If your code still calls a discontinued v4 method, you’re not looking at a warning. You’re looking at errors in production.
Google My Business API migration map: old → new
v4 method (mybusiness.googleapis.com/v4) | Replacement | Notes |
|---|---|---|
accounts.list, accounts.get | Account Management API v1 accounts.list, accounts.get | pageSize default and max are 20 |
accounts.admins.*, accounts.invitations.* | Account Management API v1 accounts.admins.*, accounts.invitations.* | v4 versions deprecated (change log) |
accounts.locations.admins.* | Account Management API v1 locations.admins.* | Location name format changes |
accounts.locations.list | Business Information API v1 accounts.locations.list | readMask is required; pageSize up to 100 |
accounts.locations.get / patch / delete | Business Information API v1 locations.get / patch / delete | patch needs updateMask |
accounts.locations.create | Business Information API v1 accounts.locations.create | 300 creates per day |
categories.*, chains.*, googleLocations.search | Business Information API v1, same resource names | |
Verification methods (fetchVerificationOptions, verify, verifications.*) | Verifications API v1 | |
accounts.updateNotifications / getNotifications | Notifications API v1 accounts.updateNotificationSetting / getNotificationSetting | Pub/Sub topic per account |
accounts.locations.reportInsights | Performance API v1 locations.fetchMultiDailyMetricsTimeSeries | v4 discontinued 2023-03-30 |
ACTIONS_WEBSITE, ACTIONS_PHONE, ACTIONS_DRIVING_DIRECTIONS | WEBSITE_CLICKS, CALL_CLICKS, BUSINESS_DIRECTION_REQUESTS | Performance API v1 |
VIEWS_MAPS, VIEWS_SEARCH | BUSINESS_IMPRESSIONS_DESKTOP_MAPS / _MOBILE_MAPS, BUSINESS_IMPRESSIONS_DESKTOP_SEARCH / _MOBILE_SEARCH | Performance API v1 |
accounts.locations.localPosts.reportInsights | None | Discontinued 2023-02-20 |
| Q&A (questions and answers) | None | Q&A API discontinued 2025-11-03 |
| Business Calls API | None | Discontinued 2023-05-30 |
| Health provider attributes, insurance networks | None | Discontinued 2024-07-01 |
Dates come from Google’s sunset dates page. The original split of v4 into separate APIs happened earlier and isn’t listed there.
What still lives in v4
These resources remain documented on v4.9 and keep getting features (see the change log):
| Resource | Methods | Recent changes |
|---|---|---|
accounts.locations.reviews | list, get, updateReply, deleteReply | ReviewReplyState (2026-04-01), review media (2026-04-20), PolicyViolation (2026-07-01), reviewReplyUrl (2026-07-24) |
accounts.locations (reviews) | batchGetReviews | Multi-location reads |
accounts.locations.localPosts | create, list, get, patch, delete | Recurring posts with RecurrenceInfo (2026-04-07) |
accounts.locations.media | create, list, get, patch, delete | MediaInsights removed |
| Food menus | updateFoodMenus | Up to 200 dish photos (2026-04-07) |
Reviews still use the v4 name format accounts/{accountId}/locations/{locationId}. The new APIs use locations/{locationId}. Keep a helper that converts between both. For the reviews side, see our guide to replying to reviews by API.
How to migrate, step by step
Step 1 — Inventory every v4 call
Search your codebase for mybusiness.googleapis.com/v4 and for client library classes such as Mybusiness.Accounts. Tag each call as “move”, “keep on v4” or “delete” using the tables above.
Step 2 — Enable the new APIs in your Cloud project
Enable My Business Account Management API, My Business Business Information API, My Business Verifications API, My Business Notifications API and the Business Profile Performance API. Each has its own default quota of 300 QPM.
Step 3 — Move account calls
# Before (v4, deprecated)
curl -H "Authorization: Bearer ACCESS_TOKEN" "https://mybusiness.googleapis.com/v4/accounts"
# After (Account Management API v1)
curl -H "Authorization: Bearer ACCESS_TOKEN" "https://mybusinessaccountmanagement.googleapis.com/v1/accounts"Step 4 — Move location calls and add readMask
The Business Information API returns only the fields you ask for. Omit readMask and the call fails (locations.list reference).
// Node 18+ — after migration
const res = await fetch(
`https://mybusinessbusinessinformation.googleapis.com/v1/accounts/${accountId}/locations` +
`?readMask=name,title,storefrontAddress,websiteUri&pageSize=100`,
{ headers: { Authorization: `Bearer ${token}` } }
);
const { locations = [], nextPageToken } = await res.json();
// location.name is "locations/123..." — build "accounts/{accountId}/locations/123..." for v4 reviews# Python 3 — after migration
import requests
r = requests.get(
f"https://mybusinessbusinessinformation.googleapis.com/v1/accounts/{account_id}/locations",
params={"readMask": "name,title,storefrontAddress,websiteUri", "pageSize": 100},
headers={"Authorization": f"Bearer {token}"},
)
r.raise_for_status()
for loc in r.json().get("locations", []):
location_id = loc["name"].split("/")[-1]
reviews_parent = f"accounts/{account_id}/locations/{location_id}"Field names changed too: for example, the business name is title and the address is storefrontAddress in the new API. Map them in one place, not across your codebase.
Step 5 — Move insights and notifications
Replace reportInsights with locations.fetchMultiDailyMetricsTimeSeries and translate the metric names. Replace notification settings with PATCH https://mybusinessnotifications.googleapis.com/v1/accounts/{accountId}/notificationSetting. The NEW_REVIEW and UPDATED_REVIEW types are still available; the Q&A types are deprecated.
Step 6 — Delete what Google shut down
Remove Q&A, Business Calls, photo and post insights, and health provider attributes. There’s no replacement, so these become product decisions, not code changes.
Step 7 — Test and watch the logs
Run both paths side by side for a few days and compare location counts and review counts. Watch for 400 (missing readMask or updateMask), 403 (API not enabled in the project) and 429 (new API, new quota).
Common migration errors
| Error | Cause | Fix |
|---|---|---|
400 on locations.list | No readMask | Pass the fields you need |
404 on review calls | New locations/{id} name sent to v4 | Rebuild accounts/{a}/locations/{l} |
| Empty or short account list | pageSize above 20 or wrong parent | Paginate with pageToken |
403 on a new API | API not enabled in the Cloud project | Enable it in API Library |
| Metrics missing after switch | v4 metric names reused | Map to Performance API metric names |
FAQ
Is the Google My Business API deprecated?
Partly. Accounts, locations, verifications, notifications and insights moved to new Business Profile APIs. Reviews, local posts and media are still served by the v4 endpoints.
Where are reviews in the new Business Profile APIs?
Reviews remain on mybusiness.googleapis.com/v4: reviews.list, reviews.get, updateReply, deleteReply and locations:batchGetReviews. See our Google reviews API page.
Do I need to apply for access again to use the new APIs?
Access is granted per Google Cloud project, so you enable the new APIs in the project you already use. New projects follow the access process first.
What replaced reportInsights?
locations.fetchMultiDailyMetricsTimeSeries in the Business Profile Performance API v1. reportInsights was discontinued on 2023-03-30.
Is the Q&A API still available?
No. Google ended support for the My Business Q&A API on 2025-09-15 and discontinued it on 2025-11-03, with no replacement.
Skip all this with Prisma
Google changes these APIs every few months: four review-related changes landed in 2026 alone. Prisma absorbs them. Your code calls one stable endpoint and gets the same JSON for Google, Trustpilot, App Store and Google Play.
curl "https://api.prismareviews.com/v1/locations" \
-H "Authorization: Bearer $PRISMA_API_KEY"Check the API reference and the changelog. Your first 2 locations are free, then plans from €49 a month: see pricing.
One stable API instead of seven. First 2 locations free.