Attention: v4.7 of the API has released! See change log. Posts related to COVID-19 are still temporarily permitted for chains.

Manage Google Updates

To keep your business profile as accurate as possible, Google uses information from sources like user reports and licensed content. If the information provided by business owners is reported as incorrect, Google notifies the listing owners. Listing owners can then accept or reject the updates.

As a listing owner, the Google My Business API lets you review these updates to make sure that your business information is accurate. This guide describes how to accept or reject updates.

To manage your Google Updates, complete the following steps:

  1. Find locations with pending updates
  2. Review updated fields
  3. Accept or reject updates
  4. Review the results

Find locations with pending updates

Before you can accept or reject updates, you must find out which locations have Google Updates available. The best way to get Google Updates for locations is to Manage real-time notifications with Cloud Pub/Sub. If you receive a GOOGLE_UPDATE notification on your Pub/Sub topic, a change is ready for your review. The locationName field on the notification provides the resource name of the location with Google Updates.

Alternatively, you can see the call accounts.locations.get and inspect the LocationState for the presence of the isGoogleUpdated flag. If "isGoogleUpdated": true, the place ID associated with this location has updates.

Request

The following is an accounts.locations.get request example:

HTTP
GET
https://mybusiness.googleapis.com/v4/accounts/{accountId}/locations/{locationId}

Request

The following is an accounts.locations.get response example:

{
  "name": "accounts/{accountId}/locations/{locationId}",
  "locationName": "Test Business",
  "primaryPhone": "222 222 2222",
  ...
  "locationState": {
    "isGoogleUpdated": true,
    ...
  }
  ...
}

Review updates fields

To review the specific fields that have Google Updates, call accounts.locations.getGoogleUpdated. A diffMask that details the fields Google updated is in the response body.

Request

The following is an accounts.locations.getGoogleUpdated request example:

HTTP
GET
https://mybusiness.googleapis.com/v4/accounts/{accountId}/locations/{locationId}:googleUpdated

Response

The following is an accounts.locations.getGoogleUpdated response example. It shows an available update in the primaryPhone field. The value in this response is the suggested update value:

{
  "location": {
    "name": "accounts/{accountId}/locations/{locationId}",
    "locationName": "Test Business",
    "primaryPhone": "+1 111 111 1111",
    ...
  },
  "diffMask": "primaryPhone"
}

Accept or reject updates

To accept or reject an update, perform an accounts.locations.patch with the updateMask fields set the same as in the diffMask that you obtained earlier. Also, match the preferred values for each field as well.

Accept a request

The following is an accounts.locations.patch request example:

HTTP
PATCH
https://mybusiness.googleapis.com/v4/accounts/{accountId}/locations/
{locationId}?updateMask=primaryPhone
{
    "primaryPhone": "+1 111 111 1111"
}

Response

The following is an accounts.locations.patch response example:

{
    "name": "accounts/{accountId}/locations/{locationId}",
    "locationName": "Test Business",
    "primaryPhone": "111 111 1111",
    ...
}

Reject a request

The following is an accounts.locations.patch request example:

HTTP
PATCH
https://mybusiness.googleapis.com/v4/accounts/{accountId}/locations/
{locationId}?updateMask=primaryPhone
{
    "name": "accounts/{accountId}/locations/{locationId}",
    "locationName": "Test Business",
    "primaryPhone": "222 222 2222",
    ...
}

Response

The following is an accounts.locations.patch response example:

{
    "name": "accounts/{accountId}/locations/{locationId}",
    "locationName": "Test Business",
    "primaryPhone": "222 222 2222",
    ...
}

Review the results

If your location is patched successfully, the diffMask field in the accounts.locations.getGoogleUpdated response shows the values as "diffMask": "". Also, the flag "isGoogleUpdated" within LocationState shows the value as false, or no value is present.

If the field values aren't clear, reach out to our support team with the request and response for getGoogleUpdated. The request must include the response before the accounts.locations.patch call, the patch call, and the getGoogleUpdated call.