Desarrolladores
API REST de
Boletink.
Accede al mismo feed que envía el digest. Paginación, filtros, histórico completo. Autenticación Bearer token, respuestas JSON, cuota por plan.
Paso 1
Consigue tu API key
- 01. Suscríbete en /suscribir y activa tu cuenta desde el email.
- 02. Elige el plan API en /precios y completa el pago (Stripe).
- 03. Desde tu panel, genera una API key. Aparecerá una única vez: cópiala a un gestor de secretos.
- 04. Añade el header
Authorization: Bearer elb_xxx…en cada petición.
Paso 2
Endpoints
GET
/api/v1/licitaciones
Listado paginado
Licitaciones del archivo, con filtros combinables. Ordenación por fecha o importe.
Query parameters
| q | string · búsqueda en título y objeto |
| cpv | string · prefijo CPV (ej. 72230) |
| estado | PUB · EV · ADJ · RES |
| min_importe | float · importe mínimo sin IVA |
| max_importe | float · importe máximo sin IVA |
| ccaa | Comunidad Autónoma literal |
| since | ISO 8601 · solo publicadas después |
| page | int ≥ 1 · default 1 |
| page_size | int 1-200 · default 25 |
GET
/api/v1/licitaciones/{id}
Detalle
Licitación por ID interno, con adjudicatarios si los hay. Añade ?include_raw=true para recibir el XML original del feed.
GET
/api/v1/me
Tu plan y uso
Devuelve tu plan, límites vigentes y uso mensual de la key actual.
Paso 3
Ejemplos
cURL
curl -s \ -H "Authorization: Bearer elb_xxxxxxxxxxxx" \ "http://scrape-licitaciones-production.up.railway.app/api/v1/licitaciones?cpv=72230&min_importe=50000"
Python (httpx)
import httpx
r = httpx.get(
"http://scrape-licitaciones-production.up.railway.app/api/v1/licitaciones",
headers={"Authorization": "Bearer elb_xxxxxxxxxxxx"},
params={"cpv": "72230", "min_importe": 50000},
)
data = r.json()
print(data["total"], "resultados")
for item in data["items"]:
print(item["titulo"], "—", item["importe_sin_iva"])
Respuesta abreviada
{
"items": [
{
"id": 1234,
"external_id": "https://contrataciondelestado.es/...",
"titulo": "Servicio de desarrollo de aplicación móvil",
"organo": "Ayuntamiento de Madrid",
"importe_sin_iva": 125000.0,
"cpv_principal": "72230000",
"cpv_codigos": ["72230000", "72240000"],
"estado": "PUB",
"ccaa": "Comunidad de Madrid",
"fecha_publicacion": "2026-04-18T10:00:00",
"fecha_limite": "2026-05-12T14:00:00",
"link": "https://contrataciondelestado.es/..."
}
],
"page": 1,
"page_size": 25,
"total": 107,
"has_more": true
}
Límites
Rate limits y errores
Plan Free
sin acceso API
Plan Pro
sin acceso API
Plan API
600
rpm · 10.000/mes
Enterprise
a medida
Códigos de respuesta
| Código | Significado |
|---|---|
| 200 | OK · respuesta correcta |
| 401 | Falta header Bearer o la key no existe/fue revocada |
| 402 | Plan sin acceso API (upgrade requerido) |
| 403 | Suscriptor inactivo, bloqueado o dado de baja |
| 404 | Recurso no encontrado |
| 429 | Rate limit excedido (per-minute o mensual) |
¿Listo?