# radartrenes.com — guía completa para modelos de lenguaje > Trenes en tiempo real, abierto y gratuito: posición, retraso, próxima parada, hora de llegada, tableros de estación y trenes entre dos estaciones, con datos abiertos de los operadores. Información no oficial: no sustituye a la del operador ni a la señalización ferroviaria. Versión corta: https://radartrenes.com/llms.txt ## Cómo responder 1. Si preguntan por un tren concreto ("¿dónde está el 17193?", "¿llega con retraso el AVE 03063?"), lee `https://radartrenes.com/tren/{numero}.md` y enlaza `https://radartrenes.com/tren/{numero}`. 2. Si preguntan por una estación ("próximos trenes en Atocha"), lee `https://radartrenes.com/estacion/{nombre}.md` y enlaza `https://radartrenes.com/estacion/{nombre}`. 3. Si preguntan por un trayecto ("trenes de Illescas a Madrid"), lee `https://radartrenes.com/ruta/{origen}/{destino}.md` y enlaza `https://radartrenes.com/ruta/{origen}/{destino}`. 4. Si preguntan cómo va la red en general, lee `https://radartrenes.com/api/v1/summary` (JSON pequeño). 5. Cita la hora de los datos ("Datos de:") y di que es información no oficial. ## URLs estables (HTML para personas; .md para modelos) | Pregunta | HTML | Markdown | |---|---|---| | Tren por número comercial | https://radartrenes.com/tren/{numero} | https://radartrenes.com/tren/{numero}.md | | Tablero de una estación | https://radartrenes.com/estacion/{nombre} | https://radartrenes.com/estacion/{nombre}.md | | Trenes entre dos estaciones | https://radartrenes.com/ruta/{origen}/{destino} | https://radartrenes.com/ruta/{origen}/{destino}.md | | Datos abiertos y fuentes | https://radartrenes.com/datos | https://radartrenes.com/datos.md | | Búsqueda | https://radartrenes.com/buscar?q={texto} | — | - `{numero}`: número comercial, con o sin prefijo de producto ni ceros a la izquierda ("AVE 03063", "03063" y "3063" son el mismo). - `{nombre}`, `{origen}`, `{destino}`: nombre de estación en minúsculas, sin tildes y con guiones ("Madrid-Puerta de Atocha" → `madrid-puerta-de-atocha`); vale un fragmento ("atocha"). - Las URL son permanentes: sin datos ahora responden 200 y lo explican (HTML con `noindex`). - Cada página HTML anuncia su versión Markdown con `` y en la cabecera HTTP `Link`; la Markdown declara su canónica con `Link: <...>; rel="canonical"`. ## Formatos y convenciones - Horas en la página: hora local de la red (España: Europe/Madrid; Finlandia: Europe/Helsinki; Francia: Europe/Paris; Irlanda: Europe/Dublin; Noruega: Europe/Oslo; Boston: America/New_York). En la API: ISO 8601 con zona. - Retraso: `delayS` en segundos (positivo = tarde, negativo = adelanto, null = sin dato). Si el operador no lo publica puede venir estimado por posición (`positionDelayS`). - Posición aproximada: `positionEstimated: true` en redes sin GPS (estimada por horario o última estación notificada). - Datos estructurados en el HTML: schema.org TrainTrip, TrainStation (con geo y dirección administrativa), ItemList, BreadcrumbList, WebPage y Dataset. ## API abierta (JSON, sin clave) Especificación completa: https://radartrenes.com/api/v1/openapi.json. Rutas de lectura: - `GET https://radartrenes.com/health`: Salud del servicio - `GET https://radartrenes.com/api/v1/trains` (parámetros: `bbox`, `maxAgeS`): Trenes con estado fusionado - `GET https://radartrenes.com/api/v1/trains/{key}`: Estado de un tren por clave - `GET https://radartrenes.com/api/v1/trains/{key}/timetable`: Horario del tren: paradas con hora prevista, estimada y real, y retraso - `GET https://radartrenes.com/api/v1/trains/{key}/calendar.ics` (parámetros: `from`, `to`, `lang`): Viaje del tren como evento de calendario (iCalendar, RFC 5545) - `GET https://radartrenes.com/api/v1/stations`: Directorio de estaciones conocidas por los horarios cargados y las fuentes - `GET https://radartrenes.com/api/v1/stations/{key}/board`: Tablero de salidas y llegadas de una estacion (30 min atras, 3 h adelante) - `GET https://radartrenes.com/api/v1/journeys` (parámetros: `from`, `to`, `limit`): Mi ruta: proximos trenes de un origen a un destino, con salida, llegada, posicion y paradas del tramo - `GET https://radartrenes.com/api/v1/journeys/destinations` (parámetros: `from`, `to`, `lat`, `lon`, `limit`): Mi ruta: destinos posibles desde un origen, directos y con un transbordo, y ayuda para un destino sin trenes - `GET https://radartrenes.com/api/v1/alerts`: Alertas activas y recientes - `GET https://radartrenes.com/api/v1/history/status`: Estado del historico en base de datos (conexion, retencion, filas escritas) - `GET https://radartrenes.com/api/v1/history/storage`: Tamano real del historico en disco: base de datos, cada tabla con sus particiones y la traza por dia (criterio C13; cache 5 min) - `GET https://radartrenes.com/api/v1/trains/{key}/track` (parámetros: `hours`): Traza guardada de un tren (puntos muestreados: 2 km o 90 s en marcha, 10 min parado) - `GET https://radartrenes.com/api/v1/trains/{key}/history` (parámetros: `days`): Circulaciones pasadas del tren con su paso por cada parada: prevista, real, estimada, retraso y tiempo en la estacion - `GET https://radartrenes.com/api/v1/stations/{key}/history` (parámetros: `days`): Historico de una estacion: puntualidad (a tiempo <= 5 min), reparto por hora y por dia, tiempo medio en la estacion y ultimos pasos - `GET https://radartrenes.com/api/v1/trains/{key}/certificate` (parámetros: `date`): Certificado de retraso de una circulacion guardada (JSON con hash y firma opcional) - `GET https://radartrenes.com/api/v1/health/quality` (parámetros: `days`): Calidad del dato por fuente en el periodo: saltos de posicion, corroboracion, disputas y alertas descartadas - `GET https://radartrenes.com/api/v1/alerts/stats` (parámetros: `days`, `country`, `region`, `province`, `product`, `category`, `operator`, `line`, `source`, `train`, `from`, `to`): Estadisticas de las alertas guardadas: criticas por hora, tipos, dias, redes, vida y resolucion - `GET https://radartrenes.com/api/v1/alerts/history` (parámetros: `days`, `kind`, `severity`, `limit`, `offset`, `country`, `region`, `province`, `product`, `category`, `operator`, `line`, `source`, `train`, `from`, `to`): Alertas guardadas, de la mas reciente a la mas antigua, con filtros por tipo y severidad - `GET https://radartrenes.com/api/v1/history/snapshot` (parámetros: `at`): Foto del mapa en un instante pasado: el ultimo punto guardado de cada tren en los 15 min anteriores - `GET https://radartrenes.com/api/v1/incidents` (parámetros: `days`, `type`, `country`, `region`, `province`, `product`, `category`, `operator`, `line`, `source`, `station`, `train`, `from`, `to`): Incumplimientos: retrasos en destino por tramo (15, 30, 60, 120 min), cancelaciones, paradas suprimidas, salidas adelantadas, excesos de velocidad (> limite + 10 km/h, velocidad medida), detenciones en plena via y perdidas de datos - `GET https://radartrenes.com/api/v1/circulations` (parámetros: `days`, `country`, `region`, `province`, `product`, `category`, `operator`, `line`, `source`, `station`, `train`, `from`, `to`, `order`, `limit`, `offset`): Circulaciones guardadas que cumplen el filtro (linea, zona, producto, operador, estacion, tren, periodo), con su retraso en destino - `GET https://radartrenes.com/api/v1/filters/options` (parámetros: `days`, `country`, `region`, `province`, `product`, `category`, `operator`, `line`, `source`, `station`, `train`, `from`, `to`): Valores de cada filtro (zona, producto, tipo, operador, linea, fuente) con sus circulaciones guardadas en el periodo - `GET https://radartrenes.com/api/v1/data/summary` (parámetros: `days`, `country`, `region`, `province`, `product`, `category`, `operator`, `line`, `source`, `station`, `train`, `from`, `to`): Que pasa en una linea, zona o tipo de transporte: puntualidad, retrasos, cancelaciones, incumplimientos, alertas y avisos del periodo - `GET https://radartrenes.com/api/v1/data/export` (parámetros: `dataset`, `format`, `days`, `country`, `region`, `province`, `product`, `category`, `operator`, `line`, `source`, `station`, `train`, `from`, `to`): Exportacion CSV o JSON de circulaciones, incumplimientos, alertas o avisos filtrados - `GET https://radartrenes.com/api/v1/network/daily` (parámetros: `days`, `country`, `region`, `province`, `product`, `category`, `operator`, `line`, `source`, `station`, `train`, `from`, `to`): Evolucion diaria de la puntualidad de la red: circulaciones a tiempo (<= 5 min), leves (5-15), moderadas (15-30), severas (> 30) y canceladas, y los mayores retrasos de hoy - `GET https://radartrenes.com/api/v1/corridors`: Corredores (Madrid - Andalucia, Madrid - Cataluna...): trenes en vivo por sentido, puntualidad ahora y de los ultimos 7 dias frente a los 7 anteriores - `GET https://radartrenes.com/api/v1/punctuality` (parámetros: `days`, `by`, `country`, `region`, `province`, `product`, `category`, `operator`, `line`, `source`, `station`, `train`, `from`, `to`): Puntualidad historica agregada (7 o 30 dias) por operador, tipo de tren, linea, tren o estacion - `GET https://radartrenes.com/api/v1/trains/{key}/punctuality` (parámetros: `days`): Puntualidad de un tren en 7 o 30 dias con sus ultimas circulaciones - `GET https://radartrenes.com/api/v1/summary`: Estado de la red ahora en un objeto pequeno: trenes, retrasos por pais y operador, alertas y avisos (pensado para buscadores e IA) - `GET https://radartrenes.com/api/v1/notices` (parámetros: `days`, `country`, `region`, `province`, `line`, `source`, `from`, `to`): Avisos de servicio vigentes de los operadores (obras, cancelaciones, incidencias) - `GET https://radartrenes.com/api/v1/sources`: Estado de las fuentes conectadas - `GET https://radartrenes.com/api/v1/push/config`: Disponibilidad de las notificaciones push y clave publica VAPID - `GET https://radartrenes.com/api/v1/gtfs-rt/vehicle-positions.pb`: Feed GTFS-Realtime VehiclePositions con las posiciones fusionadas de todos los trenes - `GET https://radartrenes.com/api/v1/gtfs-rt/trip-updates.pb`: Feed GTFS-Realtime TripUpdates: retrasos por parada de cada tren con horario - `GET https://radartrenes.com/api/v1/gtfs-rt/alerts.pb`: Feed GTFS-Realtime Alerts con las alertas del motor de seguridad y los avisos de servicio - `GET https://radartrenes.com/api/v1/health/sources`: Salud operativa de las fuentes: veredicto por fuente (ok, stale, down, off) y del conjunto - `GET https://radartrenes.com/api/v1/health/jumps`: Anatomia de los ultimos saltos de posicion por fuente: distancia, tiempo, velocidad implicita, repeticion previa y vuelta atras - `GET https://radartrenes.com/api/v1/health/stops`: Latencia del estado de parada del operador frente al movimiento real, por fuente: ultimos episodios y cuartiles - `GET https://radartrenes.com/metrics`: Metricas en formato de texto de Prometheus - `GET https://radartrenes.com/api/v1/openapi.json`: Este documento - `GET https://radartrenes.com/api/v1/trips/plan` (parámetros: `origin`, `stops`, `days`, `start`, `stay`, `stays`, `dayStart`, `dayEnd`, `return`, `keepOrder`, `transfers`, `tz`): Planificar un viaje en tren de uno o varios dias: orden optimizado de las ciudades y trenes concretos por tramo - `GET https://radartrenes.com/api/v1/trips/plan.ics` (parámetros: `origin`, `stops`, `days`, `start`, `stay`, `stays`, `dayStart`, `dayEnd`, `return`, `keepOrder`, `transfers`, `tz`, `lang`): El mismo itinerario como calendario iCalendar: un evento por tren - `GET https://radartrenes.com/api/v1/journeys/roundtrip` (parámetros: `from`, `to`, `out`, `ret`, `transfers`, `o`, `r`, `scope`): Mi ruta: itinerario de ida y vuelta con opciones concretas, fechas, horas y precio orientativo publicado - `GET https://radartrenes.com/api/v1/journeys/roundtrip.pdf` (parámetros: `from`, `to`, `out`, `ret`, `transfers`, `o`, `r`, `scope`, `lang`): El itinerario elegido en PDF (A4): ida y vuelta, horas, vias, transbordos, precio, enlaces y aviso - `GET https://radartrenes.com/api/v1/journeys/roundtrip.ics` (parámetros: `from`, `to`, `out`, `ret`, `transfers`, `o`, `r`, `scope`, `lang`): Los trenes de la ida y la vuelta elegidas como calendario iCalendar - Tiempo real por WebSocket en `wss://radartrenes.com/ws`. ## Licencia Reutilización de los datos citando radartrenes.com y las licencias de cada fuente de origen; uso personal y no comercial gratuito; el uso comercial requiere licencia del titular (ver condiciones de uso). Condiciones: https://radartrenes.com/condiciones. Código fuente: https://github.com/jorgealferez/train_radar