Documentación
API de Baremo
Lleva las subvenciones que encajan con tu empresa a tu CRM, tu ERP o tu hoja de cálculo. Una API REST sobre HTTPS, respuestas en JSON y webhooks firmados para enterarte en el momento en que aparece una ayuda relevante.
Autenticación
Crea una clave desde Integraciones → API dentro de tu cuenta. Cada clave pertenece a una empresa y solo devuelve datos de esa empresa. Se muestra una única vez: guárdala en tu gestor de secretos, nunca en el navegador ni en el repositorio.
Cabecera obligatoria
x-baremo-api-key: bar_xxxxxxxx_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Base
https://subvencionesbaremo.com/api/public/v1 Errores: 401 clave no válida o revocada · 500 error del servidor Respuestas: application/json, sin caché (cache-control: no-store)
GET/v1/oportunidades
Subvenciones detectadas para tu empresa, ordenadas por encaje.
| Parámetro | Valores | Descripción |
|---|---|---|
| encaje_min | 0-100 | Filtra por encaje mínimo. Por defecto 0. |
| limite | 1-200 | Número máximo de resultados. Por defecto 50. |
Petición
curl "https://subvencionesbaremo.com/api/public/v1/oportunidades?limite=50" \ -H "x-baremo-api-key: TU_CLAVE"
Respuesta
{
"ok": true,
"total": 2,
"oportunidades": [
{
"id": "8f0c…",
"encaje": 87,
"probabilidad": 0.62,
"importe_estimado": 45000,
"estado": "nueva",
"detectada_en": "2026-08-19T06:12:04.000Z",
"convocatoria": {
"titulo": "Ayudas a la digitalización industrial",
"organo": "Ministerio de Industria y Turismo",
"comunidad": "Estatal",
"fecha_fin": "2026-10-15",
"dotacion": 12000000,
"url_oficial": "https://…",
"url_baremo": "https://subvencionesbaremo.com/ayudas/…"
}
}
]
}GET/v1/expedientes
Expedientes de tu empresa con su estado y resolución.
| Parámetro | Valores | Descripción |
|---|---|---|
| estado | borrador · lista · presentada · justificando · cerrada | Filtra por estado del expediente. |
| limite | 1-200 | Número máximo de resultados. Por defecto 50. |
Petición
curl "https://subvencionesbaremo.com/api/public/v1/expedientes?limite=50" \ -H "x-baremo-api-key: TU_CLAVE"
Respuesta
{
"ok": true,
"total": 1,
"expedientes": [
{
"id": "1a2b…",
"titulo": "Kit digitalización 2026",
"estado": "presentada",
"importe_solicitado": 30000,
"fecha_presentacion": "2026-07-02",
"actualizado_en": "2026-07-02T10:04:00.000Z",
"convocatoria": { "titulo": "…", "organo": "…", "fecha_fin": "2026-10-15" },
"resultado": { "resolucion": "pendiente", "importe_concedido": 0, "fecha_resolucion": null }
}
]
}Webhooks salientes
Registra una URL https y un encaje mínimo desde Integraciones. Cuando detectamos ayudas que superan ese umbral, enviamos un POST con el listado. Verifica siempre la firma antes de procesar el cuerpo.
Cabeceras del envío
content-type: application/json x-baremo-evento: oportunidad.detectada x-baremo-firma: <HMAC-SHA256 del cuerpo, en hexadecimal, con tu secreto>
Cuerpo
{
"evento": "oportunidad.detectada",
"enviado_en": "2026-08-21T09:00:00.000Z",
"oportunidades": [
{
"titulo": "Ayudas a la digitalización industrial",
"encaje": 87,
"organo": "Ministerio de Industria y Turismo",
"fecha_fin": "2026-10-15",
"url_baremo": "https://subvencionesbaremo.com/ayudas/…"
}
]
}Verificar la firma (Node.js)
import { createHmac, timingSafeEqual } from "node:crypto";
const cuerpo = await request.text();
const esperada = createHmac("sha256", process.env.BAREMO_WEBHOOK_SECRET)
.update(cuerpo)
.digest("hex");
const recibida = request.headers.get("x-baremo-firma") ?? "";
const a = Buffer.from(recibida);
const b = Buffer.from(esperada);
if (a.length !== b.length || !timingSafeEqual(a, b)) {
return new Response("Firma no válida", { status: 401 });
}
const aviso = JSON.parse(cuerpo);Responde con un 2xx en menos de 10 segundos. Guardamos el código de la última respuesta para que puedas revisarlo desde el panel; si tu servicio falla de forma continuada, pausa el webhook y vuelve a activarlo cuando esté listo.
Buenas prácticas
- Una clave por integración: así puedes revocar solo la que falle.
- Consulta como máximo una vez por hora; el catálogo se actualiza a diario.
- Trata los webhooks como idempotentes: puede repetirse una entrega tras un reintento.
- No expongas la clave en aplicaciones de navegador o móviles; úsala solo desde tu servidor.