The Business Profile Performance API is now launched! Migration work is required.
Review the deprecation schedule and instructions to migrate over to new v1 APIs from older deprecated v4 API.
Help us improve the food menu experience by filling in this survey to better understand what place, menu, and dish attributes you can provide about the merchants you support

Transfer locations

Stay organized with collections Save and categorize content based on your preferences.

With the My Business Account Management API, you can transfer locations to different accounts or location groups. Follow the instructions in this documentation to learn how.

Get started

The following items are required to transfer locations:

Source account: The source account is the account that's an owner of the location. This account can be a personal account or a location group. After the transfer is complete the source account no longer has access to the location.
Destination account: The destination account is the account that the location should be transferred to. This account can be a personal account or a location group. After the transfer is complete, the destination account is the primary owner of the location.
OAuth2 refresh/access tokens: The OAuth2 refresh/access tokens for the source and destination accounts are needed for each account in order to call the API.

Transfer Locations

To transfer locations, complete the following steps:

  1. If you're not an owner of the location, you must become one. Use the current business owner’s OAuth credentials to call account.admins.create and invite a user to own the listing. Then, use the invited user’s OAuth credentials to call accounts.invitations.list to obtain the invitation id. Call accounts.invitations.accept to accept this invitation.

  2. Use the intended destination account’s OAuth credentials to call accounts.list. Then, find the account ID in the list that you want to transfer the location to. The admin ID in the response to the account.admins.create call or the accounts.invitations.list call in step 1 can also be used as the account ID. This account ID can refer to a personal account or a location group.

  3. Use the account ID that you retrieved in step 2 as the destination account. This is the destinationAccount field in the request body, which you can use to call locations.transfer.

Use the destination account’s OAuth credentials to call accounts.locations.list and verify that the transferred location appears in the results. If you call the accounts.locations.list endpoint with the source account, the transferred location isn't included in the results.

To transfer a location to a location group in the organization, call locations.admins.create using the merchant OAuth credentials. Use the account field in the Admin resource to pass the location group account ID along with the appropriate role. You should use the location group admin credentials to call accounts.invitations.list using the location group's account ID as the parent argument to retrieve invitations related to the location group. Find the invitation that has the correct target location, and then call accounts.invitations.accept to accept the correct invitation.