digitalpublic-com Discovery API
The Discovery API from digitalpublic-com — 5 operation(s) for discovery.
The Discovery API from digitalpublic-com — 5 operation(s) for discovery.
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-discovery-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 Discovery 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: Discovery
paths:
/api/mcp:
get:
summary: Read MCP transport status without constructing the operational catalog
description: With status=1 returns a credential-free observation of the serving process. Authentication and current entitlement are checked. The default GET remains the MCP event stream. Status is available without project selection and does not consume operational units.
tags:
- Discovery
parameters:
- name: status
in: query
required: true
schema:
type: string
enum:
- '1'
responses:
'200':
description: Catalog observation and safe recovery action
'401':
description: Credential invalid
'403':
description: Access denied
operationId: getApiMcp
x-operation-id-source: derived
/api/agent/discover:
post:
summary: Discover project capabilities
description: 'Master discovery endpoint for external agents. Project API keys (dpk_) return the linked project. Global agent tokens (dpa_) return accessible projects when projectId is omitted, or project discovery when projectId/X-DigitalPublic-Project-Id is provided. Answers in two levels: with no parameters it returns the map (identity, active and inactive services, credential usage and one `areas[]` entry per available area); with `area` it returns that chapter in full in `endpoints[]` (tools, parameters, examples and flows). A service that is not connected never ships its tool manual — `project.activeServices.inactive[]` still declares that it exists and how to request activation.'
tags:
- Discovery
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
projectId:
type: string
description: Required for global agent tokens (dpa_) that need project-specific discovery.
area:
type: string
description: Return the full chapter of a single area instead of the map. Valid values are listed in `areas[].area` of the default response, for example googleAds, seo, analytics, mailings, tasks or reports. `module` is accepted as an alias.
detail:
type: string
enum:
- summary
- full
description: '`summary` (default) returns the map. `full` returns every area at once and is discouraged: it is an order of magnitude larger and can consume a quarter of an agent context window.'
responses:
'200':
description: Project map by default, or the requested area chapter / the full catalog
'400':
description: UNKNOWN_DISCOVERY_AREA — the requested area does not exist; the response lists the valid ones
operationId: postApiAgentDiscover
x-operation-id-source: derived
/api/agent/projects:
get:
summary: List accessible projects
description: Lists the projects accessible with the presented credential, with per-project scopes. Project API keys (dpk_) return exactly their linked project; agent tokens (dpa_) return every project they can use (all current projects for global agents, or the explicit access list). Does not require projectId — call it first to learn which project ids you can use in the rest of the API.
tags:
- Discovery
responses:
'200':
description: Accessible projects with per-project scopes
operationId: getApiAgentProjects
x-operation-id-source: derived
post:
summary: List accessible projects
description: POST alias of GET /api/agent/projects for agents that send every request as POST.
tags:
- Discovery
responses:
'200':
description: Accessible projects with per-project scopes
operationId: postApiAgentProjects
x-operation-id-source: derived
/api/agent/onboarding-status:
get:
summary: Get DigitalPublic onboarding and entitlement status
description: Returns the effective plan, expiry, used and remaining operational units, provider-connection capacity, readable modules, effective supervised-write availability, and the stable next action.
tags:
- Discovery
responses:
'200':
description: Current onboarding status and effective limits
'401':
description: Invalid, expired, or revoked DigitalPublic credential
'403':
description: Credential scope or subscription does not allow access
operationId: getApiAgentOnboardingStatus
x-operation-id-source: derived
/api/agent/onboarding-diagnostic-completed:
post:
summary: Record verifiable first-diagnostic completion without storing the narrative
description: After the agent has delivered the diagnostic in its own conversation, stores only period, counts and internal evidence identifiers for the onboarding funnel. Prompts, conversations, provider payloads, tokens and OAuth URLs are forbidden.
tags:
- Discovery
responses:
'200':
description: Idempotent completion recorded
'400':
description: Evidence summary invalid
'409':
description: A live trial is required
operationId: postApiAgentOnboardingDiagnosticCompleted
x-operation-id-source: derived
components:
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