digitalpublic-com Google Business Profile API
The Google Business Profile API from digitalpublic-com — 2 operation(s) for google business profile.
The Google Business Profile API from digitalpublic-com — 2 operation(s) for google business profile.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/digitalpublic-com:digitalpublic-com-google-business-profile-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: DigitalPublic Agent Google Business Profile API
version: 2026-09-10-trial-active-projects-v1
description: API for external AI agents to interact with DigitalPublic projects. Provides discovery, project context, Google Ads, Meta Ads, LinkedIn organic and LinkedIn Ads, Merchant Center, SEO, AEO, Search Console, WordPress, Analytics, Tag Manager, Business Profile, mailings, CRM, comments, reports, and scheduling.
contact:
email: soporte@digitalpublic.com
servers:
- url: https://platform.digitalpublic.com
description: Production
security:
- bearerAuth: []
tags:
- name: Google Business Profile
paths:
/api/google-business/agent-query:
post:
summary: Google Business Profile data
description: Read Google Business Profile connection state, locations, posts, reviews, media and approved mutation results without exposing OAuth credentials.
tags:
- Google Business Profile
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/AgentRequest'
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/AgentResponse'
x-tools:
- name: get_business_profile_connection_status
description: Check whether OAuth and a Business Profile location are configured for the project. Safe to call before configuration.
params: {}
x-mcp:
channel: google_business
effect: read
requiredScope: read
approval: none
requestShape: tool_params
processEligible: true
workload:
executionMode: INLINE
resourceClass: LIGHT
priority: INTERACTIVE
costModel: FIXED
idempotencyMode: READ_BEFORE_WRITE
- name: list_business_accounts
description: List accessible Google Business accounts.
params: {}
x-mcp:
channel: google_business
effect: read
requiredScope: read
approval: none
requestShape: tool_params
workload:
executionMode: INLINE
resourceClass: LIGHT
priority: INTERACTIVE
costModel: FIXED
idempotencyMode: READ_BEFORE_WRITE
- name: list_business_locations
description: List only Business Profile locations assigned to the authenticated project.
params: {}
x-mcp:
channel: google_business
effect: read
requiredScope: read
approval: none
requestShape: tool_params
workload:
executionMode: INLINE
resourceClass: LIGHT
priority: INTERACTIVE
costModel: FIXED
idempotencyMode: READ_BEFORE_WRITE
- name: get_business_location
description: Get an assigned Business Profile location. locationId selects among multiple assignments.
params:
locationId:
type: string
optional: true
x-mcp:
channel: google_business
effect: read
requiredScope: read
approval: none
requestShape: tool_params
workload:
executionMode: INLINE
resourceClass: LIGHT
priority: INTERACTIVE
costModel: FIXED
idempotencyMode: READ_BEFORE_WRITE
- name: get_business_profile_summary
description: 'Summary of the location: title, primary category, phone, website, store code, account name, and location name.'
params: {}
x-mcp:
channel: google_business
effect: read
requiredScope: read
approval: none
requestShape: tool_params
processEligible: true
workload:
executionMode: INLINE
resourceClass: LIGHT
priority: INTERACTIVE
costModel: FIXED
idempotencyMode: READ_BEFORE_WRITE
- name: get_business_profile_location
description: Full Google Business Profile location payload.
params: {}
x-mcp:
channel: google_business
effect: read
requiredScope: read
approval: none
requestShape: tool_params
processEligible: true
workload:
executionMode: INLINE
resourceClass: LIGHT
priority: INTERACTIVE
costModel: FIXED
idempotencyMode: READ_BEFORE_WRITE
- name: get_business_profile_attributes
description: Current location attributes and available attribute definitions.
params: {}
x-mcp:
channel: google_business
effect: read
requiredScope: read
approval: none
requestShape: tool_params
workload:
executionMode: INLINE
resourceClass: LIGHT
priority: INTERACTIVE
costModel: FIXED
idempotencyMode: READ_BEFORE_WRITE
- name: get_business_profile_performance
description: Performance summary for website clicks, calls, direction requests, and views.
params:
days:
type: number
default: 28
x-mcp:
channel: google_business
effect: read
requiredScope: read
approval: none
requestShape: tool_params
workload:
executionMode: INLINE
resourceClass: LIGHT
priority: INTERACTIVE
costModel: FIXED
idempotencyMode: READ_BEFORE_WRITE
- name: list_business_profile_posts
description: List local posts for the assigned location.
params: {}
x-mcp:
channel: google_business
effect: read
requiredScope: read
approval: none
requestShape: tool_params
workload:
executionMode: INLINE
resourceClass: LIGHT
priority: INTERACTIVE
costModel: FIXED
idempotencyMode: READ_BEFORE_WRITE
- name: list_business_posts
description: List local posts for an assigned location.
params:
locationId:
type: string
optional: true
x-mcp:
channel: google_business
effect: read
requiredScope: read
approval: none
requestShape: tool_params
processEligible: true
workload:
executionMode: INLINE
resourceClass: LIGHT
priority: INTERACTIVE
costModel: FIXED
idempotencyMode: READ_BEFORE_WRITE
- name: list_business_reviews
description: List recent reviews for an assigned location without exposing OAuth credentials.
params:
locationId:
type: string
optional: true
x-mcp:
channel: google_business
effect: read
requiredScope: read
approval: none
requestShape: tool_params
workload:
executionMode: INLINE
resourceClass: LIGHT
priority: INTERACTIVE
costModel: FIXED
idempotencyMode: READ_BEFORE_WRITE
- name: list_business_media
description: List media attached to an assigned Business Profile.
params:
locationId:
type: string
optional: true
x-mcp:
channel: google_business
effect: read
requiredScope: read
approval: none
requestShape: tool_params
workload:
executionMode: INLINE
resourceClass: LIGHT
priority: INTERACTIVE
costModel: FIXED
idempotencyMode: READ_BEFORE_WRITE
- name: check_mutation_status
description: Check a Google Business mutation and its execution result.
params:
mutationId:
type: string
required: true
x-mcp:
channel: google_business
effect: read
requiredScope: read
approval: none
requestShape: tool_params
processEligible: true
workload:
executionMode: INLINE
resourceClass: LIGHT
priority: INTERACTIVE
costModel: FIXED
idempotencyMode: READ_BEFORE_WRITE
- name: list_pending_mutations
description: List Google Business changes pending human approval.
params:
limit:
type: number
default: 20
x-mcp:
channel: google_business
effect: read
requiredScope: read
approval: none
requestShape: tool_params
workload:
executionMode: INLINE
resourceClass: LIGHT
priority: INTERACTIVE
costModel: FIXED
idempotencyMode: READ_BEFORE_WRITE
- name: list_mutation_history
description: List Google Business mutation history.
params:
status:
type: string
default: all
limit:
type: number
default: 20
x-mcp:
channel: google_business
effect: read
requiredScope: read
approval: none
requestShape: tool_params
workload:
executionMode: INLINE
resourceClass: LIGHT
priority: INTERACTIVE
costModel: FIXED
idempotencyMode: READ_BEFORE_WRITE
operationId: postApiGoogleBusinessAgentQuery
x-operation-id-source: derived
/api/google-business/agent-mutate:
post:
summary: Google Business Profile mutations
description: Prepare Google Business Profile changes for mandatory human approval. Requires write scope; this endpoint never executes provider writes directly.
tags:
- Google Business Profile
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/AgentRequest'
responses:
'200':
description: Pending human approval
content:
application/json:
schema:
$ref: '#/components/schemas/AgentResponse'
x-tools:
- name: create_business_post
description: Prepare a local post with optional image for human approval.
params:
locationId:
type: string
optional: true
summary:
type: string
required: true
imageUrl:
type: string
format: uri
optional: true
description: Public HTTPS image URL. Mutually exclusive with mediaMutationId.
mediaMutationId:
type: string
optional: true
description: Prepared upload_business_media mutation for the same project and location. Mutually exclusive with imageUrl.
callToAction:
type: object
optional: true
agentNote:
type: string
optional: true
idempotencyKey:
type: string
optional: true
description: Stable project-scoped key for retry-safe process occurrences.
x-mcp:
channel: google_business
effect: write
requiredScope: write
approval: human
requestShape: tool_params
processEligible: true
workload:
executionMode: AUTO
resourceClass: STANDARD
priority: NORMAL
costModel: ITEMS
idempotencyMode: READ_BEFORE_WRITE
- name: update_business_location
description: Prepare an allowlisted location patch for human approval.
params:
locationId:
type: string
optional: true
payload:
type: object
required: true
updateMask:
type: array
required: true
agentNote:
type: string
optional: true
x-mcp:
channel: google_business
effect: write
requiredScope: write
approval: human
requestShape: tool_params
workload:
executionMode: AUTO
resourceClass: STANDARD
priority: NORMAL
costModel: ITEMS
idempotencyMode: READ_BEFORE_WRITE
- name: upload_business_media
description: Prepare media creation from a public HTTPS source URL for human approval.
params:
locationId:
type: string
optional: true
sourceUrl:
type: string
required: true
mediaFormat:
type: string
enum:
- PHOTO
- VIDEO
default: PHOTO
category:
type: string
optional: true
agentNote:
type: string
optional: true
x-mcp:
channel: google_business
effect: write
requiredScope: write
approval: human
requestShape: tool_params
workload:
executionMode: AUTO
resourceClass: STANDARD
priority: NORMAL
costModel: ITEMS
idempotencyMode: READ_BEFORE_WRITE
- name: update_business_profile_description
description: Prepare a profile description change for human approval.
params:
locationId:
type: string
optional: true
description:
type: string
required: true
x-mcp:
channel: google_business
effect: write
requiredScope: write
approval: human
requestShape: tool_params
workload:
executionMode: AUTO
resourceClass: STANDARD
priority: NORMAL
costModel: ITEMS
idempotencyMode: READ_BEFORE_WRITE
- name: update_business_profile_basic_info
description: Prepare a primaryPhone and/or websiteUri change for human approval.
params:
locationId:
type: string
optional: true
primaryPhone:
type: string
optional: true
websiteUri:
type: string
optional: true
x-mcp:
channel: google_business
effect: write
requiredScope: write
approval: human
requestShape: tool_params
workload:
executionMode: AUTO
resourceClass: STANDARD
priority: NORMAL
costModel: ITEMS
idempotencyMode: READ_BEFORE_WRITE
- name: update_business_profile_hours
description: Prepare regularHours and/or specialHours changes for human approval.
params:
locationId:
type: string
optional: true
regularHours:
type: object
optional: true
specialHours:
type: object
optional: true
x-mcp:
channel: google_business
effect: write
requiredScope: write
approval: human
requestShape: tool_params
workload:
executionMode: AUTO
resourceClass: STANDARD
priority: NORMAL
costModel: ITEMS
idempotencyMode: READ_BEFORE_WRITE
- name: update_business_profile_attributes
description: Prepare attribute changes for human approval.
params:
locationId:
type: string
optional: true
attributes:
type: array
required: true
attributeMask:
type: array
required: true
x-mcp:
channel: google_business
effect: write
requiredScope: write
approval: human
requestShape: tool_params
workload:
executionMode: AUTO
resourceClass: STANDARD
priority: NORMAL
costModel: ITEMS
idempotencyMode: READ_BEFORE_WRITE
- name: create_business_profile_post
description: Prepare a local post for human approval (legacy alias).
params:
locationId:
type: string
optional: true
summary:
type: string
required: true
callToAction:
type: object
optional: true
x-mcp:
channel: google_business
effect: write
requiredScope: write
approval: human
requestShape: tool_params
workload:
executionMode: AUTO
resourceClass: STANDARD
priority: NORMAL
costModel: ITEMS
idempotencyMode: READ_BEFORE_WRITE
- name: update_business_profile_post
description: Prepare an existing local post update for human approval.
params:
locationId:
type: string
optional: true
postName:
type: string
required: true
summary:
type: string
required: true
callToAction:
type: object
optional: true
x-mcp:
channel: google_business
effect: write
requiredScope: write
approval: human
requestShape: tool_params
workload:
executionMode: AUTO
resourceClass: STANDARD
priority: NORMAL
costModel: ITEMS
idempotencyMode: READ_BEFORE_WRITE
- name: delete_business_profile_post
description: Prepare a local post deletion for human approval.
params:
locationId:
type: string
optional: true
postName:
type: string
required: true
x-mcp:
channel: google_business
effect: write
requiredScope: write
approval: human
requestShape: tool_params
workload:
executionMode: AUTO
resourceClass: STANDARD
priority: NORMAL
costModel: ITEMS
idempotencyMode: READ_BEFORE_WRITE
operationId: postApiGoogleBusinessAgentMutate
x-operation-id-source: derived
components:
schemas:
AgentRequest:
type: object
required:
- tool
properties:
tool:
type: string
description: Tool name to execute
params:
type: object
description: Tool-specific parameters
default: {}
projectId:
type: string
description: Required when using a dpa_ global agent token. dpk_ project API keys infer the project automatically.
AgentResponse:
type: object
properties:
ok:
type: boolean
status:
type: string
description: executed, queued, pending_approval, or a domain-specific status
operationId:
type: string
description: Persistent operation id when work continues in the background.
resourceClass:
type: string
enum:
- LIGHT
- STANDARD
- HEAVY
retryAfterSeconds:
type: integer
data:
type: object
error:
type: string
securitySchemes:
bearerAuth:
type: http
scheme: bearer
description: Project API key starting with dpk_ or global agent token starting with dpa_. dpa_ requests must include projectId or X-DigitalPublic-Project-Id for project-scoped endpoints.
x-commercial-channels:
- key: google_ads
label:
es: Google Ads
en: Google Ads
commercialModule: google_ads
services:
- googleAds
mcpChannels:
- google_ads
public: true
availability: generally_available
access: read_write
requiresConnection: true
acceptedAliases:
- google-ads
- key: wordpress
label:
es: WordPress
en: WordPress
commercialModule: seo_aeo
services:
- wordpressSeo
mcpChannels:
- wordpress
public: true
availability: generally_available
access: read_write
requiresConnection: true
acceptedAliases:
- wordpress-seo
- key: crm
label:
es: CRM
en: CRM
commercialModule: crm
services:
- crm
mcpChannels:
- crm
public: true
availability: generally_available
access: read_write
requiresConnection: true
acceptedAliases: []
- key: websites
label:
es: Sitios web
en: Websites
commercialModule: content_web
services:
- landingPages
mcpChannels:
- landing_pages
public: true
availability: generally_available
access: read_write
requiresConnection: true
acceptedAliases:
- landing-pages
- landing_pages
- sites-web
- sites_web
- key: social
label:
es: Redes sociales
en: Social media
commercialModule: social
services:
- socialOrganic
- socialX
- socialLinkedIn
mcpChannels:
- social
public: true
availability: generally_available
access: read_write
requiresConnection: true
acceptedAliases: []
- key: blog
label:
es: Blog
en: Blog
commercialModule: content_web
services:
- blog
mcpChannels:
- blog
public: true
availability: generally_available
access: read_write
requiresConnection: true
acceptedAliases: []
- key: meta_ads
label:
es: Meta Ads
en: Meta Ads
commercialModule: meta_ads
services:
- metaAds
mcpChannels:
- meta_ads
public: true
availability: limited
access: read_write
requiresConnection: true
acceptedAliases:
- meta-ads
- meta
- key: linkedin_ads
label:
es: LinkedIn Ads
en: LinkedIn Ads
commercialModule: linkedin_ads
services:
- linkedinAds
mcpChannels:
- linkedin_ads
public: true
availability: limited
access: read_write
requiresConnection: true
acceptedAliases:
- linkedin-ads
- linkedin
- key: seo
label:
es: SEO y AEO
en: SEO and AEO
commercialModule: seo_aeo
services:
- seo
- aeo
mcpChannels:
- seo_tools
- aeo
public: true
availability: limited
access: read_write
requiresConnection: false
acceptedAliases: []
- key: analytics
label:
es: Analítica
en: Analytics
commercialModule: analytics
services:
- analytics
mcpChannels:
- analytics
public: true
availability: limited
access: read
requiresConnection: true
acceptedAliases: []
- key: search_console
label:
es: Search Console
en: Search Console
commercialModule: search_console
services:
- searchConsole
mcpChannels:
- search_console
public: true
availability: limited
access: read_write
requiresConnection: true
acceptedAliases:
- search-console
- key: email
label:
es: Email y newsletters
en: Email and newsletters
commercialModule: email_marketing
services:
- mailings
mcpChannels:
- mailings
public: true
availability: limited
access: read_write
requiresConnection: true
acceptedAliases:
- brevo