5.4 KiB
Portal de Licitaciones de la Unión Europea — TED (Tenders Electronic Daily)
Informe técnico — 2026-07-20
¿Qué es TED?
Tenders Electronic Daily (TED) es el portal oficial de contratación pública de la Unión Europea. Contiene todas las licitaciones y contratos publicados en el Suplemento del Diario Oficial de la UE.
- URL: https://ted.europa.eu
- Cobertura: 27 países miembros + Islandia, Liechtenstein y Noruega (EEE)
- Volumen: ~700.000 licitaciones/año
- Coste: Gratuito
API de TED (Sin Autenticación)
La API de TED no requiere cuenta ni API key. Es completamente abierta.
Endpoints
| Servidor | URL |
|---|---|
| Producción | https://api.ted.europa.eu/ |
| Alternativo | https://tedweb.api.ted.europa.eu/ |
Búsqueda de Avisos
POST https://api.ted.europa.eu/v3/notices/search
Content-Type: application/json
Ejemplo — Avisos de hoy:
{
"query": "publication-date >= 20260720",
"fields": ["BT-21-Procedure", "publication-date"],
"limit": 10
}
Formato de fecha: YYYYMMDD (ej: 20260720)
Formato de consulta: Expert search query
publication-date >= 20260720publication-date = today(0)(hoy)publication-date = today(-7)(última semana)
Campos Disponibles (ejemplos)
| Campo | Descripción |
|---|---|
BT-21-Procedure |
Nombre del procedimiento |
publication-date |
Fecha de publicación |
notice-type |
Tipo de aviso |
country |
País |
cpv-code |
Código CPV |
Respuesta
{
"notices": [
{
"publication-number": "497792-2026",
"publication-date": "2026-07-20+02:00",
"links": {
"xml": {"MUL": "https://ted.europa.eu/en/notice/497792-2026/xml"},
"html": {"ENG": "https://ted.europa.eu/en/notice/-/detail/497792-2026"}
}
}
],
"total": 1234
}
Prueba Rápida
curl -X POST "https://api.ted.europa.eu/v3/notices/search" \
-H "Content-Type: application/json" \
-d '{"query":"publication-date >= 20260720","fields":["BT-21-Procedure"],"limit":2}'
Documentación Swagger: https://ted.europa.eu/api/documentation/index.html
RSS Feeds (Requiere Cuenta)
| Característica | Detalle |
|---|---|
| Página | https://ted.europa.eu/en/simap/rss-feed |
| Requisito | Cuenta TED (gratuita) |
| Funcionamiento | Guardar búsqueda → activar RSS → URL generada |
Descarga Masiva XML
| Tipo | URL |
|---|---|
| Diario | https://ted.europa.eu/packages/daily/{YYYYMMDD} |
| Mensual | https://ted.europa.eu/packages/monthly/{YYYY-MM} |
| Datos abiertos | https://data.europa.eu |
Opciones de Monitorización Diaria
Opción 1: Script Python + crontab
# Script que consulta la API TED y guarda en SQLite
ted_monitor.py --cpv 72000000 --country ES --days 1
# crontab: ejecutar todos los días a las 8:00
0 8 * * * /usr/bin/python3 /home/user/ted_monitor.py
| Aspecto | Detalle |
|---|---|
| Dependencias | Python 3, requests, SQLite |
| Control | Total — tú defines filtros, formato, destino |
| Notificación | Email, Telegram bot, ntfy, archivo |
| IA para resumir | Opcional (llamar a LLM tras obtener resultados) |
| Mantenimiento | Tú lo mantienes |
| Ideal para | Control total, sin infraestructura adicional |
Opción 2: Bot Hermes (cron job)
# Hermes cron ejecuta un prompt diariamente
hermes cron create "0 8 * * *" "Consulta API TED, filtra por CPV 72000000, resume licitaciones relevantes, envía por Telegram"
| Aspecto | Detalle |
|---|---|
| Dependencias | Hermes activo |
| Control | Medio — configuras vía cron job |
| Notificación | Telegram, XMPP, Discord (ya configurados) |
| IA para resumir | ✅ Incluido — LLM resume y destaca |
| Mantenimiento | Hermes lo gestiona |
| Ideal para | Si ya usas Hermes, resumen inteligente |
Opción 3: n8n / Node-RED (self-hosted)
Trigger diario → HTTP Request API TED → filtra → envía
| Aspecto | Detalle |
|---|---|
| Dependencias | Docker (n8n o Node-RED) |
| Control | Visual, sin código |
| Ideal para | Flujos complejos, múltiples destinos |
Opción 4: PWA + Service Worker
Navegador → fetch API TED → notificaciones push
| Aspecto | Detalle |
|---|---|
| Dependencias | Solo navegador |
| Control | Limitado |
| Ideal para | Sin servidor, uso personal |
Opción 5: RSS → IFTTT / Zapier
RSS TED → filtro → email/Telegram
| Aspecto | Detalle |
|---|---|
| Dependencias | Cuenta TED + cuenta IFTTT/Zapier |
| Control | Limitado por la plataforma |
| Ideal para | Sin código, uso casual |
Conclusión
| Método | Autenticación | Ideal para |
|---|---|---|
| API de búsqueda | ❌ No necesaria | Integración programática, monitorización |
| RSS Feeds | ✅ Cuenta TED | Notificaciones automáticas |
| Descarga XML | ❌ No necesaria | Análisis de datos completos |
La API de búsqueda es la opción más práctica: no requiere cuenta, es RESTful, y devuelve resultados en JSON listos para procesar.
Para monitorización diaria: Script Python + crontab (control total) o Hermes cron (resumen inteligente con IA).
Informe generado por Hermes Agent — 2026-07-20