Boletín Claro Referencia API

The Referencia API from Boletín Claro — 6 operation(s) for referencia.

Operations 6

GET / Referencia de la API #
GET /assets/redoc-2.5.4.js El script de la referencia interactiva #
GET /errores Catálogo de errores #
GET /errores/{codigo} Un error del catálogo #
GET /openapi.json Especificación OpenAPI 3.1 de esta API #
GET /referencia Referencia interactiva (este documento, dibujado) #

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/boletinclaro-es:boletinclaro-es-referencia-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

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

boletinclaro-es-referencia-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  contact:
    email: hola@boletinclaro.es
    name: Boletín Claro
    url: https://boletinclaro.es/v1
  description: 'API REST de solo lectura sobre las fuentes oficiales que vigila Boletín Claro: la BDNS y EUFUNDING para subvenciones, la PLACSP y TED para licitaciones, y los boletines oficiales del Estado, las comunidades autónomas, las provincias forales y la Unión Europea.


    La búsqueda es **semántica**: se describe en una frase lo que se busca, no se pasan palabras clave sueltas.


    Clave obligatoria en datos; documentación pública. Gratis 100, Individual 500, Pro 2.000, Mega 15.000 créditos/mes (en Gratis, Individual y Pro compartidos con MCP y la web; en Mega la API tiene un saldo propio, independiente del de la aplicación). Coste: búsquedas sencillas 1, empresas 5. Gratis 5 perfiles/mes. Los límites de uso.


    Referencia escrita: https://boletinclaro.es/v1


    Referencia interactiva: https://boletinclaro.es/v1/referencia'
  license:
    name: Condiciones de uso de Boletín Claro
    url: https://boletinclaro.es/terminos
  summary: Subvenciones, licitaciones y boletines oficiales de España y Europa, en JSON.
  termsOfService: https://boletinclaro.es/terminos
  title: de Boletín Claro Referencia API
  version: 1.0.0
servers:
- description: Producción
  url: https://boletinclaro.es/v1
security:
- claveAPI: []
- claveCabecera: []
tags:
- name: Referencia
paths:
  /:
    get:
      description: 'Devuelve la página de referencia en HTML, o un índice de endpoints en JSON si la petición envía `Accept: application/json`.'
      operationId: referencia
      responses:
        '200':
          content:
            application/json:
              schema:
                type: object
            text/html:
              schema:
                type: string
          description: La referencia, en HTML o en JSON según `Accept`.
        '429':
          $ref: '#/components/responses/Error429'
      security: []
      summary: Referencia de la API
      tags:
      - Referencia
  /assets/redoc-2.5.4.js:
    get:
      description: 'Redoc 2.5.4 (MIT), servido desde nuestro propio origen en vez de desde un CDN porque la política de seguridad del dominio solo admite scripts propios. No forma parte del contrato de datos: está documentado porque está montado bajo `/v1`.'
      operationId: referenciaScript
      responses:
        '200':
          content:
            application/javascript:
              schema:
                type: string
          description: El script.
        '429':
          $ref: '#/components/responses/Error429'
      security: []
      summary: El script de la referencia interactiva
      tags:
      - Referencia
  /errores:
    get:
      description: 'Todos los errores que puede devolver esta API: qué significa cada uno, si merece la pena reintentar y cuándo. Es la documentación a la que apunta el campo `type` de cualquier respuesta de error.


        HTML en el navegador; con `Accept: application/json`, la misma lista en JSON (`{base, total, errores[]}`, cada error con `codigo`, `tipo`, `estado`, `titulo`, `significado`, `reintento` y `reintentable`).'
      operationId: catalogoDeErrores
      responses:
        '200':
          content:
            application/json:
              schema:
                type: object
            text/html:
              schema:
                type: string
          description: El catálogo, en HTML o en JSON según `Accept`.
        '429':
          $ref: '#/components/responses/Error429'
      security: []
      summary: Catálogo de errores
      tags:
      - Referencia
  /errores/{codigo}:
    get:
      description: 'La página a la que dereferencia el `type` de una respuesta de error: qué significa, si merece la pena reintentar y cuándo.'
      operationId: detalleDeError
      parameters:
      - description: El código del error, es decir el último segmento de su `type`. Se acepta en minúsculas, y el slug en español con el que se publicó este catálogo el 10-09-2026 redirige de forma permanente a su código.
        example: BC-4003
        in: path
        name: codigo
        required: true
        schema:
          enum:
          - BC-1001
          - BC-1002
          - BC-1003
          - BC-2001
          - BC-2002
          - BC-3001
          - BC-3002
          - BC-4001
          - BC-4002
          - BC-4003
          - BC-4004
          - BC-4005
          - BC-4006
          - BC-4007
          - BC-5001
          - BC-5002
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                type: object
            text/html:
              schema:
                type: string
          description: La entrada del catálogo, en HTML o en JSON según `Accept`.
        '404':
          $ref: '#/components/responses/Error404'
        '429':
          $ref: '#/components/responses/Error429'
      security: []
      summary: Un error del catálogo
      tags:
      - Referencia
  /openapi.json:
    get:
      description: Este mismo documento. Impórtalo en Postman, Insomnia o un generador de clientes.
      operationId: especificacion
      responses:
        '200':
          content:
            application/json:
              schema:
                type: object
          description: El documento OpenAPI.
        '429':
          $ref: '#/components/responses/Error429'
      security: []
      summary: Especificación OpenAPI 3.1 de esta API
      tags:
      - Referencia
  /referencia:
    get:
      description: 'La misma especificación, navegable: endpoints, parámetros, esquemas desplegables y ejemplos. Se genera de `/v1/openapi.json`, así que no puede contradecirlo.'
      operationId: referenciaInteractiva
      responses:
        '200':
          content:
            text/html:
              schema:
                type: string
          description: La referencia interactiva, en HTML.
        '429':
          $ref: '#/components/responses/Error429'
      security: []
      summary: Referencia interactiva (este documento, dibujado)
      tags:
      - Referencia
components:
  responses:
    Error429:
      content:
        application/problem+json:
          examples:
            BC-4001:
              value:
                codigo: BC-4001
                detail: Has superado el límite de peticiones por minuto. Usa una clave de API para subirlo.
                status: 429
                title: Demasiadas peticiones
                type: https://boletinclaro.es/v1/errores/BC-4001
            BC-4002:
              value:
                codigo: BC-4002
                detail: Has superado el ritmo de llamadas o créditos por minuto de tu workspace.
                status: 429
                title: Demasiadas peticiones
                type: https://boletinclaro.es/v1/errores/BC-4002
            BC-4003:
              value:
                codigo: BC-4003
                detail: Has agotado los créditos mensuales de tu workspace. Se renuevan el día 1 a las 00:00 UTC.
                status: 429
                title: Cuota mensual agotada
                type: https://boletinclaro.es/v1/errores/BC-4003
            BC-4004:
              value:
                codigo: BC-4004
                detail: Has alcanzado las 5 llamadas mensuales a perfil de empresa de Gratis. Se renuevan el día 1 a las 00:00 UTC.
                status: 429
                title: Máximo de perfiles agotado
                type: https://boletinclaro.es/v1/errores/BC-4004
            BC-4005:
              value:
                codigo: BC-4005
                detail: Tu workspace ha alcanzado el límite diario de créditos. Se renueva a las 00:00 UTC.
                status: 429
                title: Límite diario de créditos alcanzado
                type: https://boletinclaro.es/v1/errores/BC-4005
            BC-4006:
              value:
                codigo: BC-4006
                detail: Has alcanzado tu límite mensual de créditos como usuario. Se renueva el día 1 a las 00:00 UTC.
                status: 429
                title: Límite mensual por usuario alcanzado
                type: https://boletinclaro.es/v1/errores/BC-4006
            BC-4007:
              value:
                codigo: BC-4007
                detail: Tu workspace ha alcanzado el máximo mensual de consultas de empresa y fichas de detalle.
                status: 429
                title: Máximo mensual de consultas de empresa y fichas alcanzado
                type: https://boletinclaro.es/v1/errores/BC-4007
          schema:
            $ref: '#/components/schemas/Problema'
      description: Has superado la ráfaga, el saldo mensual o diario del workspace, el tope por usuario o el máximo de perfiles y fichas.
      headers:
        Retry-After:
          description: 'Segundos que hay que esperar antes de reintentar. Para `BC-4001` y `BC-4002` son menos de 60; para `BC-4005` son los que faltan hasta las 00:00 UTC; para `BC-4003`, `BC-4004`, `BC-4006` y `BC-4007` son los que faltan hasta el día 1 del mes que viene, así que pueden ser semanas: no reintentes antes, no puede funcionar.'
          example: 43
          required: false
          schema:
            minimum: 1
            type: integer
        X-Credits-Minute-Limit:
          description: Créditos de la admisión y del saldo; X-Profiles cuenta llamadas y solo aparece en Gratis/Trial/Oposiciones.
          schema:
            type: integer
        X-Credits-Minute-Remaining:
          description: Créditos de la admisión y del saldo; X-Profiles cuenta llamadas y solo aparece en Gratis/Trial/Oposiciones.
          schema:
            type: integer
        X-Profiles-Limit:
          description: Créditos de la admisión y del saldo; X-Profiles cuenta llamadas y solo aparece en Gratis/Trial/Oposiciones.
          schema:
            type: integer
        X-Profiles-Remaining:
          description: Créditos de la admisión y del saldo; X-Profiles cuenta llamadas y solo aparece en Gratis/Trial/Oposiciones.
          schema:
            type: integer
        X-Quota-Admission-ID:
          description: Identificador del registro de admisión confirmado atómicamente con el consumo. Disponible en Ajustes → API; no se emite en 401/429 ni documentación pública.
          schema:
            type: string
        X-Quota-Cost:
          description: Créditos de la admisión y del saldo; X-Profiles cuenta llamadas y solo aparece en Gratis/Trial/Oposiciones.
          schema:
            type: integer
        X-Quota-Limit:
          description: 'Créditos mensuales de tu saldo: el de API en Mega; en el resto de planes, el del workspace compartido con MCP y la web.'
          example: 15000
          required: false
          schema:
            type: integer
        X-Quota-Period:
          description: Periodo de cuota mensual.
          schema:
            enum:
            - month
            type: string
        X-Quota-Remaining:
          description: Créditos que te quedan este mes después de admitir esta petición. Cuenta respuestas cacheadas y errores posteriores a la admisión.
          example: 14995
          required: false
          schema:
            type: integer
        X-Quota-Reset:
          description: Momento en que se renueva la cuota, en RFC 3339. La ventana es un mes natural.
          example: '2026-10-01T00:00:00Z'
          required: false
          schema:
            format: date-time
            type: string
        X-Quota-Scope:
          description: El saldo se comparte entre claves, usuarios y clientes MCP del workspace.
          schema:
            enum:
            - workspace
            type: string
        X-Quota-Unit:
          description: Unidad del saldo mensual.
          schema:
            enum:
            - credits
            type: string
        X-Quota-Used:
          description: Créditos de la admisión y del saldo; X-Profiles cuenta llamadas y solo aparece en Gratis/Trial/Oposiciones.
          schema:
            type: integer
        X-RateLimit-Limit:
          description: 'Créditos mensuales de tu saldo: el de API en Mega; en el resto de planes, el del workspace compartido con MCP y la web.'
          example: 15000
          required: false
          schema:
            type: integer
        X-RateLimit-Minute-Limit:
          description: Admisiones por minuto natural UTC, compartidas entre las claves de la cuenta.
          schema:
            type: integer
        X-RateLimit-Minute-Remaining:
          description: Admisiones restantes después de esta petición.
          schema:
            type: integer
        X-RateLimit-Minute-Reset:
          description: Fin de la ventana, en UTC. El cambio de mes también reinicia la ventana.
          schema:
            format: date-time
            type: string
        X-RateLimit-Remaining:
          description: Créditos que te quedan este mes después de admitir esta petición. Cuenta respuestas cacheadas y errores posteriores a la admisión.
          example: 14995
          required: false
          schema:
            type: integer
        X-RateLimit-Reset:
          description: Momento en que se renueva la cuota, en RFC 3339. La ventana es un mes natural.
          example: '2026-10-01T00:00:00Z'
          required: false
          schema:
            format: date-time
            type: string
    Error404:
      content:
        application/problem+json:
          examples:
            BC-3001:
              value:
                codigo: BC-3001
                detail: No tenemos registros de dinero público para el NIF A78053147.
                status: 404
                title: No encontrado
                type: https://boletinclaro.es/v1/errores/BC-3001
            BC-3002:
              value:
                codigo: BC-3002
                detail: La ruta «/v1/noexiste» no existe en esta API. Las rutas que sí existen están en https://boletinclaro.es/v1 y en https://boletinclaro.es/v1/openapi.json.
                status: 404
                title: Ruta no encontrada
                type: https://boletinclaro.es/v1/errores/BC-3002
          schema:
            $ref: '#/components/schemas/Problema'
      description: No hay registros para lo pedido, o la ruta no existe.
  schemas:
    Problema:
      description: 'Cuerpo de error estándar RFC 9457, servido como `application/problem+json`. El campo que debes mirar en tu código es `codigo` (o el `type` que lo contiene): es estable y no cambiará aunque reescribamos el texto.'
      properties:
        codigo:
          description: 'El código del error, que es el último segmento de `type`. El primer dígito es la familia: 1 petición mal formada, 2 clave o plan, 3 no hay nada, 4 vas demasiado rápido, 5 fallo nuestro.'
          enum:
          - BC-1001
          - BC-1002
          - BC-1003
          - BC-2001
          - BC-2002
          - BC-3001
          - BC-3002
          - BC-4001
          - BC-4002
          - BC-4003
          - BC-4004
          - BC-4005
          - BC-4006
          - BC-4007
          - BC-5001
          - BC-5002
          example: BC-1001
          pattern: ^BC-[1-5][0-9]{3}$
          type: string
        detail:
          description: Qué ha pasado en este caso concreto.
          example: El parámetro «consulta» debe tener entre 2 y 2000 caracteres.
          type: string
        status:
          description: El mismo código HTTP de la respuesta.
          example: 400
          type: integer
        title:
          description: Resumen legible, en español.
          example: Consulta no válida
          type: string
        type:
          description: Identificador estable del error, y la URL de la página que lo explica. Catálogo completo y cerrado.
          enum:
          - https://boletinclaro.es/v1/errores/BC-1001
          - https://boletinclaro.es/v1/errores/BC-1002
          - https://boletinclaro.es/v1/errores/BC-1003
          - https://boletinclaro.es/v1/errores/BC-2001
          - https://boletinclaro.es/v1/errores/BC-2002
          - https://boletinclaro.es/v1/errores/BC-3001
          - https://boletinclaro.es/v1/errores/BC-3002
          - https://boletinclaro.es/v1/errores/BC-4001
          - https://boletinclaro.es/v1/errores/BC-4002
          - https://boletinclaro.es/v1/errores/BC-4003
          - https://boletinclaro.es/v1/errores/BC-4004
          - https://boletinclaro.es/v1/errores/BC-4005
          - https://boletinclaro.es/v1/errores/BC-4006
          - https://boletinclaro.es/v1/errores/BC-4007
          - https://boletinclaro.es/v1/errores/BC-5001
          - https://boletinclaro.es/v1/errores/BC-5002
          example: https://boletinclaro.es/v1/errores/BC-1001
          format: uri
          type: string
      required:
      - type
      - codigo
      - title
      - status
      type: object
  securitySchemes:
    claveAPI:
      description: 'Obligatoria para datos. Gratis 100, Individual 500, Pro 2.000, Mega 15.000 créditos/mes en el saldo de API, independiente del de la aplicación (en Gratis, Individual y Pro, saldo del workspace compartido con MCP y la web). Mega añade 1.500 créditos al día y 500 llamadas de cinco créditos al mes por saldo. Consultas sencillas 1; empresas 5. Gratis admite cinco perfiles/mes. Trial tiene el cupo Gratis. Minuto: Gratis 20 llamadas/20 créditos, Individual 30/100, Pro 60/300, Mega 300/1.500. La documentación sigue pública. Crea la clave en https://boletinclaro.es/ajustes/api.'
      scheme: bearer
      type: http
    claveCabecera:
      description: Clave del workspace, disponible también en Gratis.
      in: header
      name: X-API-Key
      type: apiKey
externalDocs:
  description: 'Referencia interactiva: este mismo documento, navegable'
  url: https://boletinclaro.es/v1/referencia