En tu ERP o tu CRM
Crea una oportunidad por cada licitación nueva que encaje con tu empresa, con su importe, su plazo y el enlace a la ficha.
GET /licitaciones · GET /licitaciones/{id}
Lleva las licitaciones, los contratos menores y los anuncios previos de toda España a tu ERP, tu CRM, tus hojas de cálculo o tus automatizaciones. Son los mismos datos que usas en la app, de la Plataforma de Contratación del Sector Público y las plataformas autonómicas, junto con los de tu equipo: favoritas, alertas, tareas y agenda.
curl -G "https://api.licitaciones365.es/v1/licitaciones" \
--data-urlencode "cpv=77310000" \
--data-urlencode "comunidad=ES52" \
--data-urlencode "estado=PUB" \
-H "Authorization: Bearer $L365_API_KEY"{
"data": [
{
"id": 4815162,
"titulo": "Servicio de mantenimiento de zonas verdes…",
"estado": { "codigo": "PUB", "nombre": "En plazo" },
"organo": { "nombre": "Ayuntamiento de Ejemplo", … },
"importe_sin_iva": 240000.0,
"plazo_presentacion": { "fecha": "2026-10-30", … },
"url_app": "https://app.licitaciones365.es/…",
…
},
…
],
"meta": { "paginacion": { "pagina": 1, "total": 14, … } }
}Lo mismo que te da la app, pero dentro de tus herramientas: sin copiar y pegar y sin tener que entrar a mirar cada mañana.
Crea una oportunidad por cada licitación nueva que encaje con tu empresa, con su importe, su plazo y el enlace a la ficha.
GET /licitaciones · GET /licitaciones/{id}
Cuadros de mando de tu mercado: qué se licita, quién lo contrata, quién lo gana y con qué bajas, actualizados solos.
GET /estadisticas/mercado · GET /organos · GET /adjudicatarios
Con Power Automate, Zapier, Make o n8n: avisa en Teams o en Slack de lo que llega por tus alertas o de los plazos que vencen.
GET /alertas/previsualizar · GET /agenda
Guarda favoritas, crea tareas y recordatorios o deja notas desde tus herramientas. Tu equipo lo ve al momento en la app.
POST /favoritas · POST /licitaciones/{id}/tareas
Los contratos adjudicados que vencen pronto, para preparar la oferta antes de que vuelvan a salir a licitación.
GET /vencimientos
Preguntas sobre los pliegos, checklist de tareas, informe PDF y análisis de competencia de cada licitación.
POST /licitaciones/{id}/ia/preguntas · GET /licitaciones/{id}/informe-pdf
Casi todo lo que haces en la app, con los permisos y los límites de tu plan. Solo quedan fuera los pagos, la contraseña y el borrado de la cuenta.
Usuario, equipo, plan y lo que llevas usado hoy de cada cuota.
Búsqueda con los filtros del buscador de la app y ficha completa: lotes, plazos, importes, criterios y documentos.
Las favoritas del equipo («Mis concursos»), con sus grupos, que hacen de etapas.
Lo que el equipo marcó como «No me interesa», para que no vuelva a salir.
Los códigos de los filtros: CPV, provincias, comunidades, estados y tipos de contrato.
Preguntas sobre los pliegos, checklist de tareas, informe PDF y análisis de competencia.
La nota, las tareas y los recordatorios de cada licitación.
Plazos de presentación de las favoritas y tareas asignadas a cada persona.
Crear, probar y ajustar las alertas del equipo y su correo de resumen.
Contratos adjudicados que vencen pronto, para anticiparse a su nueva licitación.
Directorios de órganos de contratación y de empresas adjudicatarias, con sus cifras.
Volumen, importes, territorios, competencia y bajas de un mercado.
Cada operación, con sus parámetros y sus respuestas, está en la referencia interactiva, donde también puedes probarlas con tu API key.
GET /cuenta, que no gasta cuota:curl https://api.licitaciones365.es/v1/cuenta \
-H "Authorization: Bearer $L365_API_KEY"Busca las licitaciones en plazo de un CPV en una comunidad autónoma y recorre todas las páginas de 100 en 100. Cada página consume una búsqueda de la cuota diaria.
curl -G "https://api.licitaciones365.es/v1/licitaciones" \
--data-urlencode "cpv=77310000" \
--data-urlencode "comunidad=ES52" \
--data-urlencode "estado=PUB" \
--data-urlencode "por_pagina=100" \
--data-urlencode "pagina=1" \
-H "Authorization: Bearer $L365_API_KEY"import os
import requests
API = "https://api.licitaciones365.es/v1"
CABECERAS = {"Authorization": f"Bearer {os.environ['L365_API_KEY']}"}
def licitaciones_en_plazo(cpv, comunidad):
"""Devuelve una a una las licitaciones en plazo, página a página."""
pagina = 1
while True:
respuesta = requests.get(
f"{API}/licitaciones",
params={
"cpv": cpv,
"comunidad": comunidad,
"estado": "PUB",
"por_pagina": 100,
"pagina": pagina,
},
headers=CABECERAS,
timeout=30,
)
cuerpo = respuesta.json()
if not respuesta.ok:
raise RuntimeError(f"{cuerpo['error']['code']}: {cuerpo['error']['message']}")
yield from cuerpo["data"]
if not cuerpo["meta"]["paginacion"]["hay_mas"]:
return
pagina += 1
for licitacion in licitaciones_en_plazo("77310000", "ES52"):
plazo = licitacion["plazo_presentacion"] or {}
print(licitacion["id"], licitacion["titulo"], licitacion["importe_sin_iva"], plazo.get("fecha"))const API = "https://api.licitaciones365.es/v1";
const cabeceras = { Authorization: `Bearer ${process.env.L365_API_KEY}` };
async function* licitacionesEnPlazo(cpv, comunidad) {
for (let pagina = 1; ; pagina++) {
const params = new URLSearchParams({
cpv,
comunidad,
estado: "PUB",
por_pagina: "100",
pagina: String(pagina),
});
const respuesta = await fetch(`${API}/licitaciones?${params}`, { headers: cabeceras });
const cuerpo = await respuesta.json();
if (!respuesta.ok) throw new Error(`${cuerpo.error.code}: ${cuerpo.error.message}`);
yield* cuerpo.data;
if (!cuerpo.meta.paginacion.hay_mas) return;
}
}
for await (const licitacion of licitacionesEnPlazo("77310000", "ES52")) {
console.log(licitacion.id, licitacion.titulo, licitacion.importe_sin_iva, licitacion.plazo_presentacion?.fecha);
}Autenticación, paginación, errores y más ejemplos, en la guía de la API.
Cada API key trabaja con el equipo que elijas y puede ser solo de consulta. Si quieres, caduca sola, entre 1 y 730 días después de crearla.
Las crea y las revoca el propietario del equipo, que es quien paga el plan. Una clave revocada deja de funcionar al momento.
Una clave solo ve los datos de su equipo, nunca los de otros. Registramos los cambios que hace cada clave.
Los pliegos llegan como enlaces al portal oficial, sin copias. Los adjudicatarios que son personas físicas salen sin nombre ni NIF.
Sin coste adicional: va en el precio del plan. Los límites dependen del plan del equipo.
| Límite | Pro | Enterprise |
|---|---|---|
| Consultas por minuto por credencial | 120 | 240 |
| Cambios por minuto por credencial | 30 | 60 |
| Búsquedas al día por equipo | 1.000 | 3.000 |
| Fichas de detalle al día por equipo | 2.000 | 6.000 |
Compara todos los planes en la página de precios. ¿Necesitas más límites? Escríbenos a contact-us@licitaciones365.es.
Las API keys están incluidas, sin coste adicional, en los planes Pro y Enterprise de pago. Las crea el propietario del equipo, que es quien paga el plan, y puede tener hasta 5 activas a la vez.
La prueba gratuita no incluye API keys, pero sí la conexión con ChatGPT y Claude, que usa los mismos datos.
Las licitaciones, los contratos menores y los anuncios previos de toda España, de la Plataforma de Contratación del Sector Público y de las plataformas autonómicas, con su ficha completa. Además, los órganos de contratación, los adjudicatarios, las estadísticas de mercado y los contratos que vencen pronto.
Y los datos de tu equipo: favoritas, descartadas, notas, tareas, recordatorios, agenda y alertas.
Igual que en la app: los datos de las plataformas se incorporan varias veces al día. La operación GET /cuenta te dice cuándo fue la última actualización.
No. Los pliegos, anexos y anuncios llegan como enlaces al portal oficial donde se publicaron, igual que en la app. Licitaciones365 no guarda copias de los documentos.
Sí: con cualquier herramienta que haga peticiones HTTP con una cabecera. Si solo te deja indicar el nombre de la cabecera, como Copilot Studio o Power Automate, envía la clave en X-API-Key.
No: la API no admite llamadas desde el navegador. Llámala desde tu servidor y guarda la clave como una contraseña, en variables de entorno o en un gestor de secretos.
La API responde 429 e indica, en la cabecera Retry-After, cuántos segundos esperar. Los límites por minuto cuentan por cada clave; los diarios, por equipo, y se renuevan a medianoche (hora de Madrid). Si necesitas más, el plan Enterprise los amplía.
No. Los datos son para tu actividad y tus propias integraciones: no se pueden revender ni redistribuir a terceros. Cuando muestres información de la API, cita su origen: «Fuente: Plataforma de Contratación del Sector Público y plataformas autonómicas, vía Licitaciones365». Tienes las condiciones completas en la guía.
Sí, en https://api.licitaciones365.es/mcp. Para ChatGPT y Claude tienes los pasos en ChatGPT y Claude. Con una API key también puedes conectar otros clientes, como Copilot Studio o VS Code: lo explicamos en la guía.
Con el plan Pro o Enterprise creas tu primera API key en un minuto. ¿Aún no tienes cuenta? Empieza con la prueba gratuita de 14 días, sin tarjeta, y conecta ChatGPT o Claude mientras tanto.
¿Dudas o necesitas más límites? Escríbenos a contact-us@licitaciones365.es.