At a glance
Capabilities
An unsupported call returns501 resource.not_supported.
The cross-platform matrix is on Platforms.
Connect an account
Connect withPOST /v1/accounts/connect and "platform": "google". The shared flow, request fields, and result are in Connect accounts, and the redirect parameters are in Redirect parameters.
- One location per account. Each connected
googleaccount is 1 Business Profile location. - A choice when the login manages more than 1 location. The redirect carries
status=selection_requiredand aconnection_idinstead of anaccount_id. You choose exactly 1 location: see Choose a Google Business Profile. A login with 1 location connects at once. A login with none ends withstatus=erroranderror=platform.google.no_locationson yourredirect_uri. - One Google Business Profile per brand. Connecting a second location to the same brand ends with
status=erroranderror=account.already_linkedon yourredirect_uri, or returns409 account.already_linkedfrom the select call. Assigning a second location with the assign call returns409 platform.google.brand_has_account. Assigning a location that another brand already holds with the assign call returns400 validation.location_already_assigned. - More locations later, without a new consent screen. The login stays. Assign its other locations to your other brands with
POST /v1/platforms/google/logins/{loginId}/locations/{locationId}/assign. - Reconnect. When Google no longer accepts the saved connection, calls return
401 platform.google.auth. See Reconnect an account.
Comments and Q&A
Google Business Profile has no comments or Q&A API. Google discontinued the Business Profile Q&A API on November 3, 2025, with no replacement, and local posts never had comments. Comment, reply, hide, delete, and private-reply calls on a Google account return501 resource.not_supported. Customer feedback arrives as reviews.
Performance metrics
GET /v1/platforms/google/accounts/{account_id}/insights returns how a location performed day by day: how many people saw it on Google Search and Maps, and how many then called, asked for directions, messaged, booked, ordered, or clicked through to the website. For the metrics of other platforms, see Analytics.
Response (HTTP 200):
0, not a gap. Google publishes no retention window and no freshness lag for this data.
Search keywords
GET /v1/platforms/google/accounts/{account_id}/search-keywords returns the searches people made before seeing the location, aggregated by month over an inclusive YYYY-MM range:
Webhook events
Google Business Profile events arrive as ordinary SocialAPI webhooks. You set nothing up on Google’s side: the events start when you connect a location.
Every
post.* event in Webhook events is emitted for this platform. The payloads are in Webhook events. Google can miss a notification and does not replay it, so a gap is permanent. Read reviews on a schedule to backfill: Reviews.
Limits
Scopes
SocialAPI’s Google app requests these scopes at connect. You apply for no Google app review. The consent screen is the same whichever permissions you select.
Google Business Profile asks for 3 identity scopes and 1 scope,
business.manage, that covers all of its permissions, so the consent screen shows the same scopes whatever you select. The account is still limited to the permissions you selected: an account connected with reviews.read alone cannot reply to reviews. Editing the location’s details and photos does not depend on the account’s permissions.
Related
- Google Business Profile publishing: fields, media rules, and quirks for local posts
- Locations: read and update locations, and manage profile photos and videos
- Reviews: list and reply to reviews, and the review events
- Connect accounts: choose a location when a login manages more than 1
- Platforms: the capability matrix
- Errors: every error code