How to set up Google Business Profile API access and get OAuth 2 credentials

Updated:


August 31, 2026

๐Ÿ’ก Note that Google Business Profile uses the https://www.googleapis.com/auth/business.manage scope, which Google classifies as Sensitive. You need to contact Unified's Support to setup a CNAME for the API URL (US and EU regions) in order to get your App approved by Google.
Check How to set up a custom API URL.

โš ๏ธ Enabling the APIs is not enough. Until Google approves your Application for Basic API Access, your project's quota for the Business Profile APIs stays at 0 requests per minute and every call fails with a 429. Submit that form as early as possible โ€” Google's review can take several days to a few weeks.

  1. Prerequisites
    • A Google account with owner or manager access to the Business Profile(s) you want to connect.
    • A verified, active Business Profile. Google's review expects the profile to have been active for at least 60 days and to have a website listed on it.
    • Review Google's Prerequisites page before you apply.
  2. Create a Google Cloud project
    • Go to the Google Cloud Console and sign in with that Google account.
    • Click the Select a project dropdown at the top of the page and choose New Project.
    • Give your project a name and click Create.
    • Copy the Project number and Project ID from the Cloud Console dashboard โ€” you need them in the next step.
  3. Submit the Application for Basic API Access
    • Open the Application for Basic API Access form.
    • Fill in the requested information:
      • The Project ID and Project number from step 2
      • The email address of an owner or manager of the Business Profile
      • Your company name, website and a description of how you will use the API
    • Submit the form. Google sends a follow-up email once the request has been reviewed.
    • You do not have to wait for approval to continue โ€” steps 4 to 8 can be completed right away.
  4. Enable the Business Profile APIs
    • In the Google Cloud Console, make sure your project is selected.
    • Navigate to APIs & Services > Library and enable each of the following:
    • These four are the only APIs Unified calls. Google documents several others (Notifications, Verifications, Q&A, Place Actions, Lodging) โ€” you do not need them for a Unified connection.
    • The Google My Business API only becomes visible in the Library after your Basic API Access request is approved. If you cannot find it, come back to this step once you receive Google's approval email.
  5. Configure the OAuth Consent Screen
    • In the Google Cloud Console, go to Google Auth Platform.
    • Fill in what is asked and click Create.
    • Go to Auth Branding and fill in the required information, including your app name, support email, authorized domain and privacy policy URL.
  6. Scopes
    • Go to Auth Data Access.
    • Add https://www.googleapis.com/auth/business.manage, plus openid, userinfo.email and userinfo.profile.
    • The exact list of scopes used by Unified can always be found in the Google Business Profile integration in the Unified App.
    • Note that business.manage is a Sensitive scope, so you need to contact Unified's Support to setup a CNAME for the redirect URL (US and EU regions) in order to get your App approved by Google.
    • Review the information and click Save and Continue through the steps.
  7. Create OAuth 2.0 Credentials
    • Go to Auth Clients in the Google Cloud Console.
    • Click on + Create Client and select Web application.
    • Configure the authorized redirect URI. Get the correct value from the Google Business Profile integration in the Unified App.
    • Copy your Client ID and Client Secret.
  8. Publish your Application
    • Go to Auth Audience and click on Publish app.
    • Because you are using a Sensitive scope, Google will require verification of your app. Until it is verified, your consent screen will show the unified.to name, which is inferred from the redirect URL โ€” this is what the CNAME in step 1 solves.
  9. Configure your Unified integration
    • In the Google Business Profile integration in the Unified App, enter:
      • The OAuth client's Client ID
      • The OAuth client's Client Secret
    • Save the integration. You are now ready to authorize a Google Business Profile connection.
  10. Verify that your API access was approved
    • Go to IAM & Admin > Quotas in the Cloud Console and filter by one of the Business Profile services, for example mybusinessaccountmanagement.googleapis.com.
    • A Requests per minute limit of 0 means your Basic API Access request has not been approved yet.
    • A limit of 300 means you have been approved and your connection will work.

Troubleshooting

SymptomCause and fix
429 RATE_LIMIT_EXCEEDED โ€” Quota exceeded for quota metric 'Requests' and limit 'Requests per minute'Either your Basic API Access request is still pending (quota is 0 QPM), or you are exceeding the default 300 QPM. Check the quota as described in step 10, and request a quota increase from the same Quotas page if you legitimately need more.
invalid_client when authorizing a connectionThe Client ID or Client Secret in the Unified integration does not match the OAuth client, or the redirect URI in Google does not match the one shown in the integration. Re-copy all three values.
403 PERMISSION_DENIED or an empty list of accountsThe Google account used to authorize does not have owner or manager access to the Business Profile, or the required API from step 4 is not enabled on the project.
The consent screen shows unified.to instead of your app nameYour app has not been verified by Google yet. Contact Unified's Support to setup a CNAME for the API URL (US and EU regions), then submit your app for verification. See How to set up a custom API URL.
An API cannot be found in the Cloud Console LibraryThe Google My Business API is only exposed once Google approves your Basic API Access request. Wait for the approval email and enable it then.
Share
All guidesEmbedded Authorization/Sign-inAuthentication/Sign-in APIsAdvertising Report Metrics by IntegrationATS to Vector DB: How to Power Talent Intelligence with Real-Time DataBuilding AI applications with Unified and LangbaseConcur & Concur (Company) โ€” Connection GuideConfigure Greenhouse Native Candidate WebhooksConnect Amazon Seller Central to Unified.toConnecting BambooHR via OAuth 2Connecting Google Workspace Integrations with a Service AccountCorrect WelcomeKit Scopes for Jungle IntegrationCreating Ads using the Unified Ads APICreating Walmart Items via UnifiedEnd-Users, Integrations, and ConnectionsEnriching Unified Objects with Custom MetadataEnterprise-managed authorization (EMA) with a static keyEnterprise-managed authorization (EMA) with a workspace secretEnterprise-managed authorization (EMA) with Microsoft Entra IDExtended observability โ€” pushing API logs to ClickHouseExtended observability โ€” pushing API logs to Grafana / LokiExtended Observability - Pushing API Logs to your Datadog InstanceFacebook Messenger Webhook SetupFireflies Integration GuideGetting started with WorkableHandling Delegated vs. Application Scopes in Microsoft IntegrationsHiBob & Unified: connection and time off guideHow long are logs retainedHow to access employees and usersHow to add API support for the Create Activity in CrelateHow to Associate a Connection ID with Your End-UserHow to build a Candidate Assessment product with Unified.toHow to build a candidate sourcing or job board app with Unified.toHow to build a Discord support bot with Unified.to and LangbaseHow to Build a Fintech Application with Unified's Payments APIHow to Build an E-Commerce Product Integration with UnifiedHow to build an invoicing system with Unified.toHow to build Enterprise Search using RAGHow to configure Bullhorn Redirect URI for creating a connectionHow to configure webhooks in HubSpotHow to configure webhooks in Thrive LearningHow to configure webhooks in Toast for UnifiedHow to Connect Anthropic to Real-Time SaaS Data with Unified.to MCP ServerHow to Connect Cohere to Real-Time SaaS Data with Unified.to MCP ServerHow to Connect Google Gemini to Real-Time SaaS Data with Unified.to MCP ServerHow to Connect LLMs to Real-Time SaaS Data with Unified.to MCP ServerHow to Connect OpenAI to Real-Time SaaS Data with Unified.to MCP ServerHow to Connect Zoom and Zoom PhoneHow to create a Connection In Microsoft TeamsHow to create a token-based connection in HighlevelHow to Create a Unified.to Connection to HighLevelHow to Create a Xero Connection in Unified.toHow to create and configure webhooksHow to create Connection with HubspotHow to customize portal URLs for Stripe and GoCardlessHow to filter webhook eventsHow-to Get a Private Support Channel for Your Unified IntegrationHow to get your 8x8 Connect API Key and Account ID: Step-by-step guideHow to get your ADP Workforce Now Oauth2 client ID, Oauth2 client secret, Oauth2 PEM certificate and Oauth2 private key: Step-by-step guideHow to get your Amazon S3 AWS Region, AWS S3 Key and AWS S3 Secret: Step-by-step guideHow to get your Ashby API Key: Step-by-step guideHow to get your Brex API token: Step-by-step guideHow to get your Bullhorn OAuth2 Client ID, OAuth2 Client Secret, API Username and API Password: Step-by-step guideHow to get your Ceridian Dayforce Username, Password and Client Namespace: Step-by-step guideHow to get your Crelate API key: Step-by-step guideHow to get your Dashlane API Key: Step-by-step guideHow to get your Deel Access Token: Step-by-step guideHow to get your Dialpad API Key: Step-by-step guideHow to get your Discord OAuth 2 credentials and bot tokenHow to get your ELMO client ID and client secret: Step-by-step guideHow to get your Gainsight Client ID, Client Secret and Gainsight API Domain: Step-by-step guideHow to get your Greenhouse API Key and Job board token: Step-by-step guideHow to get your Helpscout API Key: Step-by-step guideHow to get your HiBob Service User ID and Service User Token: Step-by-step guideHow to get your HighLevel API Key and Location ID: Step-by-step guideHow to get your HubSpot developer key and OAuth 2 credentials (Legacy Apps)How to get your Humaans API Key: Step-by-step guideHow to get your iCIMS API Username, API Password and Customer ID: Step-by-step guideHow to get your JobDiva Client ID, Username/email and Password: Step-by-step guideHow to get your Jobvite API Key, API Key Secret and Email: Step-by-step guideHow to get your Lever API Key: Step-by-step guideHow to get your Loxo Agency slug, API Key and Agency ID: Step-by-step guideHow to get your Microsoft Active Directory / Entra ID Client ID, Client Secret and Tenant ID: Step-by-step guideHow to get your Microsoft Azure AD OAuth 2 credentialsHow to get your OAuth 2 credentials for GmailHow to get your OAuth 2 credentials for Microsoft Dynamics 365How to get your OAuth 2 credentials in PipeDriveHow to get your OpenAI API Key: Step-by-step guideHow to get your Paycom SID/Username and Token/Password: Step-by-step guideHow to get your PCRecruiter Username, Password, Database ID, App Key and App ID: Step-by-step guideHow to get your SAP SuccessFactors (OpenID Connect) Username, Password, Client ID, Client Secret, Dependency Name, IAS Host and API URL: Step-by-step guideHow to get your SAP SuccessFactors Username, Company ID, Password and API URL: Step-by-step guideHow to get your Shopify Admin API access token and Store ID: Step-by-step guideHow to get your Wayfair Client ID, Client Secret and Vendor Encrypted Key: Step-by-step guideHow to get your Workable API Token and Subdomain: Step-by-step guideHow to get your yotpo APP Key / Store ID and Secret Key: Step-by-step guideHow to Handle Attachments in Invoice, Bill and Credit MemoHow to migrate or import your integrations into Unified.toHow to obtain your GitHub OAuth2 credentialsHow to Power Claude with Live Customer Data Using Unified MCPHow to register a Google developer app and get OAuth 2 credentialsHow to register a Salesforce developer app and get OAuth 2 credentialsHow to register a Slack developer account and get OAuth 2 credentialsHow to Register a Workday Developer App and Get OAUTH2 CredentialsHow to Register a Workday Developer App and Get OAUTH2/ SOAP CredentialsHow to Register a ZendeskSell Developer App and Get OAUTH2 CredentialsHow to Register a Zoho Developer App and Get OAUTH2 CredentialsHow to Register an ADP Developer App and Get OAUTH2 CredentialsHow to Register an Atlassian Developer App and Get OAUTH2 CredentialsHow to Register your Facebook OAuth2 ApplicationHow to Register your Google Ads OAuth2 ApplicationHow to Register your MetaAds OAuth2 applicationHow To Request & Write Raw Integration DataHow to Retrieve Microsoft Dynamics 365 Business Central CredentialsHow to set up a custom API URL with a CNAMEHow to Set Up a Microsoft Teams Bot with UnifiedHow to set up and configure NotionHow to Set Up LinkedIn Webhooks with UnifiedHow to set up native webhooks for QuickBooks Online with UnifiedHow to set up Slack webhooks using event subscriptionsHow to set up Telegram (bot) with Unified.toHow to set up your scopes in HubSpotHow to setup a Freshbooks developer appHow to setup a TikTok Shop applicationHow to Setup AWS Assume Role for AWS Secret ManagerHow to setup Oracle JD EdwardsHow to Setup Quickbooks DesktopHow to setup Sage 100 with Unified.toHow to troubleshoot unhealthy connectionsHow to troubleshoot unhealthy webhooksHow to use SCIM with the Unified APIHow to use the Passthrough APIHow to Use Unified.to's Generative AI API with OpenAI and ClaudeHow to use User Provisioning and Verification with UnifiedHow virtual webhook retry and recovery worksIntegration set-up guide for LeverManaging custom validation rules in SalesforceNetSuite Authentication Setup for UnifiedNotice of Deprecation of Fields and Objects (Nov 2025)Oracle HCM / Taleo OAuth Credentials GuideRetrieval-Augmented Generation (RAG)SalesForce (External Client Apps) on Multiple OrganizationsSAML Single-Sign-OnScaling MCP Tools with Anthropic's (& OpenAI's) Defer LoadingSet Environments for your Unified.to WorkspaceSetting up a Slack Bot Connection with Unified.toSetting up OAuth 2 Credentials for Greenhouse's APIsTrello Connection Guide in UnifiedUnderstanding OAuth2 Authorization flowsUnderstanding Response Time Headers in the Unified APIUnified Assessment API: Embed Assessments Inside ATS PlatformsUnified's MCP ServerUnified MCP Server with LangChain and LangGraphUnlock real-time data with virtual webhooksUse Unified to sign in your users into your applicationWorkable: Creating candidates and attaching them to jobsWorkday vs Workday Legacy โ€” Why Unified.to Supports BothWorking with hierarchical tree data in Storage, Messaging, and KMS APIs
Are we missing anything? Let us know
Was this page helpful?