API Reference

Elicita API

Accede programáticamente al dataset de contratación pública española más completo: más de 66 millones de registros agregados de PLACE, TED, BOE, BORME y los boletines oficiales de las principales comunidades autónomas.

66M+
registros indexados
12
fuentes oficiales
<200ms
latencia media p95

Autenticación

Los endpoints de la API v1 utilizan autenticación Bearer. Incluye tu API key en el headerAuthorization. Las API keys se generan y gestionan desde/cuenta.

Authorization: Bearer elicita_live_<id>_<secreto>

También puedes usar /api/v1/search autenticado con tu sesión de Clerk (cookie __session) mientras navegas por la aplicación.

Rate Limits

Los límites se aplican por periodo de 24 horas y se devuelven en los headers de respuesta.

PlanConsultas/díaNotas
Free (anónimo)10 / IP/api/public/search
Developer100Requiere API key
Empresailimitado**Con fair-use y rate limit por minuto

Endpoints

POST/api/v1/keysAuth

Crear API key

Crea una nueva API key. El secreto completo solo se muestra una vez. Requiere plan Developer/Empresa.

GET/api/v1/keysAuth

Listar API keys

Devuelve metadatos de las API keys activas (sin mostrar el secreto).

DELETE/api/v1/keys/:idAuth

Revocar API key

Marca una API key como revocada. Las claves revocadas dejan de funcionar inmediatamente.

POST/mcp/sseAuth

MCP server

Servidor MCP (Model Context Protocol) con transporte JSON-RPC. Requiere plan Empresa.

cURL — búsqueda pública

cURL — búsqueda autenticada

cURL — crear API key

JavaScript (fetch)

JavaScript (API key)

Python (requests)

Parámetros de búsqueda

ParámetroTipoRequeridoDescripción
qstringSí*Término de búsqueda. Se busca en título, organismo y adjudicatario. *Obligatorio si no se usa otro filtro.
cpvstringNoCódigo CPV o prefijo (p. ej. 45230000). Filtra por CPV cuando la fuente lo publica.
importeMinnumberNoImporte mínimo de adjudicación (€).
importeMaxnumberNoImporte máximo de adjudicación (€).
estadostringNoEstado del contrato: Anuncio, Adjudicada, Formalizado, etc.
fuentestringNoFuente: PLACE, TED, Galicia, Andalucía, Euskadi, Madrid, Catalunya.
nifstringNoNIF/CIF del adjudicatario.
desdestring (YYYY)NoAño de inicio del rango de publicación.
hastastring (YYYY)NoAño de fin del rango de publicación.
limitnumberNoMáximo de resultados. Público: ≤20, v1: ≤100. Default: 10/20.
offsetnumberNoDesplazamiento para paginación.
sortstringNoColumna de ordenación: titulo, organismo, adjudicatario, importe, fuente, fecha.
dirstringNoDirección: asc o desc. Default: desc.

Ejemplo de respuesta

Respuesta típica de /api/public/search y /api/v1/search:

MCP

Elicita expone un servidor Model Context Protocol (MCP) en /mcp/sse. Permite que agentes de IA con acceso OAuth a tu cuenta de Elicita ejecuten búsquedas, consulten perfiles y gestionen alertas directamente.

POST https://elicita.es/mcp/sse

Disponible exclusivamente en el plan Empresa. Tools expuestas:

ToolDescripción
elicita_searchBuscar contratos públicos por texto, CPV, importe y fecha.
elicita_profilePerfil de empresa y historial de adjudicaciones por CIF/nombre.
elicita_alerts_listListar alertas activas del usuario.
elicita_alerts_createCrear una alerta de contratos (solo Empresa).
elicita_exportExportar resultados a PDF/CSV (solo Empresa).

Errores

CódigoNombreDescripción
400Bad RequestFaltan parámetros obligatorios (p. ej. q) o son inválidos.
401UnauthorizedFalta API key, es inválida o la sesión de Clerk no está activa.
403ForbiddenEl plan actual no tiene acceso a la API o al MCP.
429Too Many RequestsSe ha alcanzado el límite diario de consultas o de rate limit.
500Internal Server ErrorError inesperado. Reintentar o contactar soporte.