{"openapi":"3.1.0","info":{"title":"Datos públicos de España para IA","version":"0.1.0","description":"BOE, subvenciones (BDNS) y calendario fiscal (AEAT) en JSON limpio, con fuente y fecha. También disponible por MCP en /mcp. Datos orientativos, sin valor oficial. Cada respuesta incluye `fuente`, `actualizado` y `atribucion`."},"servers":[{"url":"https://datos-publicos.iautopymes.com"}],"paths":{"/v1/boe":{"get":{"operationId":"buscar_boe","summary":"Buscar en el BOE","description":"Busca disposiciones y anuncios publicados en el Boletín Oficial del Estado (BOE) de España en los últimos ~45 días. Texto libre sobre título, departamento y epígrafe; filtros opcionales por fechas (AAAA-MM-DD), sección (1, 2A, 2B, 3, 4, 5A, 5B, 5C) y departamento. Devuelve identificador BOE, fecha, título y enlaces oficiales (HTML y PDF). Úsala para localizar normas, convocatorias, nombramientos o anuncios recientes. No cubre el histórico anterior a la ventana de cobertura indicada en la respuesta.","parameters":[{"name":"texto","in":"query","required":false,"description":"Palabras a buscar (todas deben aparecer). Ej: 'Seguridad Social real decreto-ley'","schema":{"type":"string","maxLength":200}},{"name":"desde","in":"query","required":false,"description":"Fecha de publicación mínima, AAAA-MM-DD","schema":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"}},{"name":"hasta","in":"query","required":false,"description":"Fecha de publicación máxima, AAAA-MM-DD","schema":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"}},{"name":"seccion","in":"query","required":false,"description":"Código de sección del BOE: 1, 2A, 2B, 3, 4, 5A, 5B, 5C","schema":{"type":"string","maxLength":3}},{"name":"departamento","in":"query","required":false,"description":"Parte del nombre del departamento/ministerio. Ej: 'HACIENDA'","schema":{"type":"string","maxLength":100}},{"name":"limite","in":"query","required":false,"description":"Máximo de resultados (por defecto 10)","schema":{"type":"integer","minimum":1,"maximum":50}}],"security":[{"bearerAuth":[]},{"apiKeyHeader":[]}],"x-price-usd":0,"responses":{"200":{"description":"JSON con los datos, `fuente`, `actualizado` y `atribucion`.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Parámetros inválidos"},"401":{"description":"Falta la clave de API o no es válida"},"402":{"description":"Pago requerido (solo si el cobro estuviera activo; hoy apagado). Con x402 el cuerpo es el desafío PaymentRequirements."},"404":{"description":"No existe en la fuente oficial"},"429":{"description":"Ritmo o tope diario superado (cabecera Retry-After)"},"502":{"description":"La fuente oficial no respondió"}}}},"/v1/subvenciones":{"get":{"operationId":"buscar_subvenciones","summary":"Buscar convocatorias de subvenciones","description":"Busca convocatorias de subvenciones y ayudas públicas de España en la Base de Datos Nacional de Subvenciones (BDNS/InfoSubvenciones). Por defecto solo convocatorias con solicitud abierta, ordenadas por fecha de publicación descendente. Filtros: texto libre, ámbito (estado, autonomica, local, otros) y rango de fechas de publicación. Devuelve código BDNS, título, órgano convocante y enlace oficial; para plazo, presupuesto y beneficiarios usa detalle_subvencion. No devuelve concesiones ni datos de beneficiarios.","parameters":[{"name":"texto","in":"query","required":false,"description":"Palabras clave en la descripción. Ej: 'digitalización pymes'","schema":{"type":"string","maxLength":200}},{"name":"solo_abiertas","in":"query","required":false,"description":"Solo convocatorias con plazo de solicitud abierto (por defecto true)","schema":{"type":"boolean"}},{"name":"ambito","in":"query","required":false,"description":"Nivel de la administración convocante","schema":{"type":"string","enum":["estado","autonomica","local","otros"]}},{"name":"desde","in":"query","required":false,"description":"Publicada en BDNS desde esta fecha, AAAA-MM-DD","schema":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"}},{"name":"hasta","in":"query","required":false,"description":"Publicada en BDNS hasta esta fecha, AAAA-MM-DD","schema":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"}},{"name":"limite","in":"query","required":false,"description":"Resultados por página (por defecto 10)","schema":{"type":"integer","minimum":1,"maximum":25}},{"name":"pagina","in":"query","required":false,"description":"Página, empezando en 0","schema":{"type":"integer","minimum":0,"maximum":1000}}],"security":[{"bearerAuth":[]},{"apiKeyHeader":[]}],"x-price-usd":0,"responses":{"200":{"description":"JSON con los datos, `fuente`, `actualizado` y `atribucion`.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Parámetros inválidos"},"401":{"description":"Falta la clave de API o no es válida"},"402":{"description":"Pago requerido (solo si el cobro estuviera activo; hoy apagado). Con x402 el cuerpo es el desafío PaymentRequirements."},"404":{"description":"No existe en la fuente oficial"},"429":{"description":"Ritmo o tope diario superado (cabecera Retry-After)"},"502":{"description":"La fuente oficial no respondió"}}}},"/v1/subvenciones/{codigo_bdns}":{"get":{"operationId":"detalle_subvencion","summary":"Detalle de una convocatoria de subvención","description":"Devuelve el detalle de una convocatoria de la BDNS a partir de su código BDNS (el que da buscar_subvenciones): órgano, tipo, presupuesto total, plazo de solicitud (inicio/fin y si está abierta), tipos de beneficiarios, sectores, regiones, finalidad, bases reguladoras y documentos asociados, con enlace oficial.","parameters":[{"name":"codigo_bdns","in":"path","required":true,"description":"Código numérico BDNS de la convocatoria. Ej: '936958'","schema":{"type":"string","pattern":"^\\d{1,12}$"}}],"security":[{"bearerAuth":[]},{"apiKeyHeader":[]}],"x-price-usd":0,"responses":{"200":{"description":"JSON con los datos, `fuente`, `actualizado` y `atribucion`.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Parámetros inválidos"},"401":{"description":"Falta la clave de API o no es válida"},"402":{"description":"Pago requerido (solo si el cobro estuviera activo; hoy apagado). Con x402 el cuerpo es el desafío PaymentRequirements."},"404":{"description":"No existe en la fuente oficial"},"429":{"description":"Ritmo o tope diario superado (cabecera Retry-After)"},"502":{"description":"La fuente oficial no respondió"}}}},"/v1/vencimientos":{"get":{"operationId":"proximos_vencimientos_fiscales","summary":"Próximos vencimientos del calendario fiscal (AEAT)","description":"Lista los vencimientos del Calendario del contribuyente de la Agencia Tributaria (AEAT) en una ventana de fechas: fecha límite, impuesto, descripción, periodo y modelos (303, 111, 130, 200...). Por defecto los próximos 30 días desde hoy. Filtra por modelo o por texto. Es el calendario general: no contempla domiciliación ni festivos locales y no es asesoramiento fiscal.","parameters":[{"name":"desde","in":"query","required":false,"description":"Inicio de la ventana, AAAA-MM-DD (por defecto hoy)","schema":{"type":"string","pattern":"^\\d{4}-\\d{2}-\\d{2}$"}},{"name":"dias","in":"query","required":false,"description":"Tamaño de la ventana en días (por defecto 30)","schema":{"type":"integer","minimum":1,"maximum":366}},{"name":"modelo","in":"query","required":false,"description":"Número de modelo tributario. Ej: '303'","schema":{"type":"string","maxLength":5}},{"name":"texto","in":"query","required":false,"description":"Texto a buscar en impuesto o descripción. Ej: 'IVA'","schema":{"type":"string","maxLength":80}},{"name":"limite","in":"query","required":false,"description":"Máximo de resultados (por defecto 50)","schema":{"type":"integer","minimum":1,"maximum":200}}],"security":[{"bearerAuth":[]},{"apiKeyHeader":[]}],"x-price-usd":0,"responses":{"200":{"description":"JSON con los datos, `fuente`, `actualizado` y `atribucion`.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Parámetros inválidos"},"401":{"description":"Falta la clave de API o no es válida"},"402":{"description":"Pago requerido (solo si el cobro estuviera activo; hoy apagado). Con x402 el cuerpo es el desafío PaymentRequirements."},"404":{"description":"No existe en la fuente oficial"},"429":{"description":"Ritmo o tope diario superado (cabecera Retry-After)"},"502":{"description":"La fuente oficial no respondió"}}}},"/v1/fuentes":{"get":{"operationId":"info_fuentes","summary":"Estado y condiciones de las fuentes de datos","description":"Informa de qué fuentes oficiales usa este servicio, su URL, condiciones de reutilización, cobertura y fecha de la última sincronización. Úsala para citar correctamente la procedencia de los datos o comprobar su frescura.","parameters":[],"security":[{"bearerAuth":[]},{"apiKeyHeader":[]}],"x-price-usd":0,"responses":{"200":{"description":"JSON con los datos, `fuente`, `actualizado` y `atribucion`.","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Parámetros inválidos"},"401":{"description":"Falta la clave de API o no es válida"},"402":{"description":"Pago requerido (solo si el cobro estuviera activo; hoy apagado). Con x402 el cuerpo es el desafío PaymentRequirements."},"404":{"description":"No existe en la fuente oficial"},"429":{"description":"Ritmo o tope diario superado (cabecera Retry-After)"},"502":{"description":"La fuente oficial no respondió"}}}}},"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer"},"apiKeyHeader":{"type":"apiKey","in":"header","name":"X-API-Key"}}}}