Google Business Performance API has a NEW API method that allows fetching multiple `DailyMetrics` in a single API request. Review the deprecation schedule and instructions to migrate over from v4 reportInsights API method to Google Business Profile Performance API.
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:
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.
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.
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.
Transfer to a location group
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.
[null,null,["Last updated 2025-08-28 UTC."],[[["\u003cp\u003eThe My Business Account Management API allows transferring business locations between different accounts or location groups, provided the caller has ownership and the recipient is at least a manager.\u003c/p\u003e\n"],["\u003cp\u003eTo transfer a location, you'll need the source and destination account details, along with OAuth2 tokens for both accounts to authorize the API calls.\u003c/p\u003e\n"],["\u003cp\u003eThe transfer process involves adding the destination account as an owner, then using the API to execute the transfer, ensuring the destination account becomes the primary owner.\u003c/p\u003e\n"],["\u003cp\u003eLocations can be transferred to location groups within an organization by inviting the location group as an admin and accepting the invitation.\u003c/p\u003e\n"],["\u003cp\u003eAfter a successful transfer, the location will be listed under the destination account and no longer accessible by the source account.\u003c/p\u003e\n"]]],[],null,["# Transfer locations\n\n\u003cbr /\u003e\n\nWith the My Business Account Management API, you can transfer locations to\ndifferent accounts or location groups. Follow the instructions in this\ndocumentation to learn how.\n| **Note:** In order to transfer a location, the caller must be an owner of the location and the destination account holder must be at least a manager of the location. For details on how to grant ownership of a listing, see [Manage admins for accounts and locations](/my-business/content/manage-admins).\n\nGet started\n-----------\n\nThe following items are required to transfer locations:\n\n**Source account:** The source account is the account that's an owner of the\nlocation. This account can be a personal account or a location group. After\nthe transfer is complete the source account no longer has access to the\nlocation. \n\n**Destination account:** The destination account is the account that the\nlocation should be transferred to. This account can be a personal account\nor a location group. After the transfer is complete, the destination account\nis the primary owner of the location. \n\n**OAuth2 refresh/access tokens:** The [OAuth2 refresh/access tokens](/identity/protocols/OAuth2)\nfor the source and destination accounts are needed for each account in order\nto call the API. \n\nTransfer Locations\n------------------\n\n| **Note:** Business Profiles have a probation period for location admins. Once a user is added to a profile as an owner or manager, they will be limited for a period of 7 days in what operations they can perform on the other location's users and the location itself. During this time, users in the probation period will not be able to transfer primary ownership of a profile to themselves or a third user.\n\nTo transfer locations, complete the following steps:\n\n1. If you're not an owner of the location, you must become one. Use the\n current business owner's OAuth credentials to call\n [`account.admins.create`](/my-business/reference/accountmanagement/rest/v1/accounts.admins/create)\n and invite a user to own the listing. Then, use the invited user's OAuth\n credentials to call [`accounts.invitations.list`](/my-business/reference/accountmanagement/rest/v1/accounts.invitations/list) to obtain the invitation id. Call\n [`accounts.invitations.accept`](/my-business/reference/accountmanagement/rest/v1/accounts.invitations/accept)\n to accept this invitation.\n\n | **Note:** The recipient can't be a member of an organization account or user group.\n2. Use the intended destination account's OAuth credentials to call\n [`accounts.list`](/my-business/reference/accountmanagement/rest/v1/accounts/list). Then, find\n 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.\n\n3. Use the account ID that you retrieved in step 2 as the destination account.\n This is the *destinationAccount* field in the request body, which you can use to call\n [`locations.transfer`](/my-business/reference/accountmanagement/rest/v1/locations/transfer).\n\n | **Note:** After the transfer is complete, the destination account is the primary account associated with the owner of the listing. If this isn't the intended outcome, repeat steps 1-3 with a new user. Then, transfer the location back to the original primary account. You can use the [`accounts.admins.patch`](/my-business/reference/accountmanagement/rest/v1/accounts.admins/patch) endpoint to downgrade the admin role of the original destination account.\n\nUse the destination account's OAuth credentials to call\n[`accounts.locations.list`](/my-business/reference/accountmanagement/rest/v1/accounts/list) and\nverify that the transferred location appears in the results. If you call the\n`accounts.locations.list` endpoint with the source account, the transferred\nlocation isn't included in the results.\n\nTransfer to a location group\n----------------------------\n\nTo transfer a location to a `location group` in the organization, call [`locations.admins.create`](/my-business/reference/accountmanagement/rest/v1/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`](/my-business/reference/accountmanagement/rest/v1/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`](/my-business/reference/accountmanagement/rest/v1/accounts.invitations/accept) to accept the correct invitation."]]