API, webhooks y widgets
¿Eres una empresa? Mira también el panel de empresa y lo que ofrecemos en Ferrovigia para empresas.
Ferrovigia reúne en un solo formato el estado de los trenes en España: Renfe (Cercanías, Rodalies, media y larga distancia), FGC,
Euskotren, Metro Bilbao, Metrovalencia y TRAM d'Alacant, avisos de operadores y de Adif, avisos meteorológicos de AEMET y reportes
de viajeros. Puedes usarlo gratis en tu web o tu aplicación.
Widgets e inserción
Cualquier línea, servicio, operador o estación de Ferrovigia tiene su widget. Copia el código y pégalo en tu web:
<iframe src="https://ferrovigia.com/widget/linea/madrid-c5" width="380" height="300" style="border:0" title="Estado de la línea C5"></iframe>
Cambia /linea/madrid-c5 por la ruta que quieras: búscala en el mapa (la dirección de la página es la ruta) o en
/api/v1/rutas. Ejemplos: /servicio/ave, /operador/fgc, /estacion/madrid-atocha-cercanias.
Modo pantalla (letra grande, a pantalla completa, para oficinas, hoteles o vestíbulos): /pantalla/linea/madrid-c5.
Planes
| Gratis | Pro · 9 €/mes o 90 €/año, IVA incluido |
| Peticiones a la API | 1.000 al día | 50.000 al día |
| Webhooks | Hasta 5 por clave | Hasta 5 por clave |
| Widgets y modo pantalla | Con la marca Ferrovigia | Sin marca |
| Histórico de puntualidad (API) | Último mes | Completo, en JSON o CSV |
| Panel de empresa | — | Hasta 20 líneas o estaciones, con enlace para tu equipo |
| Permanencia | — | Ninguna: cancelas cuando quieras y sigue activo hasta el final del periodo pagado (mes o año) |
Pago seguro a través de Stripe (tarjeta y otros métodos). Ver las condiciones de contratación.
Tu clave de API
API v1
Envía tu clave en la cabecera X-API-Key. Plan gratuito: 1.000 peticiones al día; Pro: 50.000. Las respuestas son JSON
{"datos": …, "fuente": …}.
| Petición | Qué devuelve |
GET /api/v1/rutas | Todas las líneas, servicios, operadores y estaciones con su ruta |
GET /api/v1/estado?ruta=/linea/madrid-c5 | Estado de una ruta: trenes, retrasos, peores trenes, cancelaciones y avisos |
GET /api/v1/trenes?red=cercanias&nucleo=10&linea=C5 | Trenes en directo: posición, línea, retraso (s), próxima parada |
GET /api/v1/avisos | Incidencias activas: avisos oficiales, reportes confirmados, huelgas, tiempo adverso |
GET /api/v1/historico?ambito=line:10:C5&desde=2026-11-01&hasta=2026-11-30 | Histórico diario: trenes, puntualidad (< 3 min), retraso medio, trenes con +15/+30 min, cancelados. ambito: all, net:cercanias, net:ld, line:<núcleo>:<línea>, product:AVE… (acabado en : devuelve todos, p. ej. line:10:). Añade &formato=csv para descargar una hoja de cálculo. Máximo 366 días por petición. |
GET /api/v1/webhooks | Tus webhooks |
POST /api/v1/webhooks | Crea uno (abajo) |
DELETE /api/v1/webhooks/<id> | Lo borra |
curl -H "X-API-Key: fv_…" "https://ferrovigia.com/api/v1/estado?ruta=/linea/madrid-c5"
Webhooks
Recibe un POST en tu servidor cada vez que haya una incidencia nueva cerca de tus estaciones (igual que las alertas por correo):
curl -X POST -H "X-API-Key: fv_…" -H "Content-Type: application/json" https://ferrovigia.com/api/v1/webhooks \
-d '{"url": "https://tu-servidor.es/ferrovigia", "stations": ["18000"], "radius_km": 10, "kinds": ["oficiales", "usuarios", "meteo"]}'
Los identificadores de estación salen de /api/stops?q=atocha. La respuesta incluye un secreto: cada
envío lleva la cabecera X-Ferrovigia-Signature: sha256=… (HMAC-SHA256 del cuerpo con ese secreto) para que compruebes que viene
de Ferrovigia. Tras 20 fallos seguidos el webhook se desactiva.
Condiciones
Uso gratuito, sin garantía de disponibilidad. Cita «Ferrovigia» con un enlace a ferrovigia.com. Los datos proceden de
fuentes públicas (Renfe, operadores, AEMET, OpenStreetMap…) con sus propias licencias: consulta el aviso legal.
No se pueden revender los textos de publicaciones de redes sociales. Si necesitas más de lo que da el plan Pro, escribe a
contacto@ferrovigia.com.