digitalpublic-com Google Business Profile API

The Google Business Profile API from digitalpublic-com — 2 operation(s) for google business profile.

Operations 2

POST /api/google-business/agent-query Google Business Profile data #
POST /api/google-business/agent-mutate Google Business Profile mutations #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • 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.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/digitalpublic-com:digitalpublic-com-google-business-profile-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

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 Specification

digitalpublic-com-google-business-profile-api-openapi.yml Raw ↑
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