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.
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.
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.
| Plan | Consultas/día | Notas |
|---|---|---|
| Free (anónimo) | 10 / IP | /api/public/search |
| Developer | 100 | Requiere API key |
| Empresa | ilimitado* | *Con fair-use y rate limit por minuto |
Endpoints
/api/public/searchPúblicoBúsqueda pública
Búsqueda anónima en las fuentes públicas. Límite de 10 consultas/día por IP. No requiere autenticación.
/api/v1/searchAuthBúsqueda con API key
Búsqueda autenticada con API key. Plan Developer: 100 consultas/día. Empresa: ilimitado.
/api/v1/keysAuthCrear API key
Crea una nueva API key. El secreto completo solo se muestra una vez. Requiere plan Developer/Empresa.
/api/v1/keysAuthListar API keys
Devuelve metadatos de las API keys activas (sin mostrar el secreto).
/api/v1/keys/:idAuthRevocar API key
Marca una API key como revocada. Las claves revocadas dejan de funcionar inmediatamente.
/mcp/sseAuthMCP 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ámetro | Tipo | Requerido | Descripción |
|---|---|---|---|
| q | string | Sí* | Término de búsqueda. Se busca en título, organismo y adjudicatario. *Obligatorio si no se usa otro filtro. |
| cpv | string | No | Código CPV o prefijo (p. ej. 45230000). Filtra por CPV cuando la fuente lo publica. |
| importeMin | number | No | Importe mínimo de adjudicación (€). |
| importeMax | number | No | Importe máximo de adjudicación (€). |
| estado | string | No | Estado del contrato: Anuncio, Adjudicada, Formalizado, etc. |
| fuente | string | No | Fuente: PLACE, TED, Galicia, Andalucía, Euskadi, Madrid, Catalunya. |
| nif | string | No | NIF/CIF del adjudicatario. |
| desde | string (YYYY) | No | Año de inicio del rango de publicación. |
| hasta | string (YYYY) | No | Año de fin del rango de publicación. |
| limit | number | No | Máximo de resultados. Público: ≤20, v1: ≤100. Default: 10/20. |
| offset | number | No | Desplazamiento para paginación. |
| sort | string | No | Columna de ordenación: titulo, organismo, adjudicatario, importe, fuente, fecha. |
| dir | string | No | Direcció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.
Disponible exclusivamente en el plan Empresa. Tools expuestas:
| Tool | Descripción |
|---|---|
| elicita_search | Buscar contratos públicos por texto, CPV, importe y fecha. |
| elicita_profile | Perfil de empresa y historial de adjudicaciones por CIF/nombre. |
| elicita_alerts_list | Listar alertas activas del usuario. |
| elicita_alerts_create | Crear una alerta de contratos (solo Empresa). |
| elicita_export | Exportar resultados a PDF/CSV (solo Empresa). |
Errores
| Código | Nombre | Descripción |
|---|---|---|
| 400 | Bad Request | Faltan parámetros obligatorios (p. ej. q) o son inválidos. |
| 401 | Unauthorized | Falta API key, es inválida o la sesión de Clerk no está activa. |
| 403 | Forbidden | El plan actual no tiene acceso a la API o al MCP. |
| 429 | Too Many Requests | Se ha alcanzado el límite diario de consultas o de rate limit. |
| 500 | Internal Server Error | Error inesperado. Reintentar o contactar soporte. |