About Delayed Trains
What this site does
Delayed Trains shows the current service status of major train networks on one mobile-friendly page, and builds a record of how reliable each line has been over time. Today it covers NYC Subway, London, Chicago 'L', MBTA, MBTA Commuter Rail, WMATA, Wiener Linien, SEPTA (Philadelphia), Sydney Trains & Metro, Metra, Stockholm, Montreal Métro, Singapore MRT & LRT, Oslo Metro, Helsinki, Bucharest Metro, Bucharest Trams, Paris Métro & RER, Lyon TCL, Paris Tramway, Transilien, Tokyo Subway, LA Metro, Marseille RTM, Berlin U-Bahn, Buenos Aires Subte, NJ Transit, Santiago Metro, Denver RTD, Brisbane Translink, Portland TriMet, Toronto Subway, Minneapolis METRO, Adelaide Metro, Istanbul Metro, San Diego Trolley, Frankfurt U-Bahn, Sound Transit, Budapest Metro & HÉV, Stuttgart Stadtbahn, Medellín Metro, Zurich Trams (VBZ), Bordeaux TBM Trams, Grenoble TAG Trams, Gothenburg Trams, Antwerp Trams, Ghent Trams, Sofia Metro & Trams, Szczecin Trams (ZDiTM), Brno Trams, Gdańsk Trams (ZTM), STIB Brussels, Bern Trams, Wellington Metlink, The Hague Trams (HTM), Prague DPP, Dresden Trams, Karlsruhe Trams, Hong Kong MTR, Long Island Rail Road, Metro-North Railroad, Metrolink, Freiburg Stadtbahn, Augsburg Trams (SWA), Braunschweig Trams, exo Commuter Rail, GO Transit, Barcelona TRAM, Montpellier Trams (TaM), Skåne Pågatågen, Geneva Trams (TPG), Basel Trams (BVB), Melbourne Trains, Strasbourg CTS Trams, Lisbon Metro, Copenhagen Metro, Mulhouse Tram, Baltimore (MTA Maryland), Rome Metro, Edmonton LRT, Nantes Trams (Naolib).
Each line is shown with a color-coded status — good service, minor delays, severe delays, suspended, or planned work — refreshed automatically about once a minute. Open a line to read the current alert in full and see how much of the recent days it has spent in each state.
Where the data comes from
Live status is pulled directly from the transit agencies' own open data feeds. New York City status comes from the MTA subway service alerts feed; London status comes from the Transport for London Unified API; Chicago status comes from the CTA Customer Alerts API; Boston status comes from the MBTA V3 alerts API; Boston status comes from the MBTA V3 alerts API; Washington, D.C. status comes from the WMATA Incidents API; Vienna status comes from the Wiener Linien open-data disruptions feed; Philadelphia status comes from the SEPTA Alerts API; Sydney status comes from Transport for NSW's GTFS-realtime Service Alerts feeds; Chicago status comes from Metra's GTFS-realtime alerts feed; Stockholm status comes from SL's deviations API on Trafiklab; Montreal status comes from the STM service-status API; Singapore status comes from LTA DataMall's Train Service Alerts API; Oslo status comes from Ruter's official realtime data via Entur (SIRI-SX); Helsinki status comes from HSL's official GTFS-realtime service alerts feed; Bucharest status comes from TPBI's official GTFS-realtime service alerts feed (Metrorex data); Bucharest status comes from TPBI's official GTFS-realtime service alerts feed (STB tram data); Paris status comes from Île-de-France Mobilités' official PRIM line_reports API; Lyon status comes from SYTRAL Mobilités' GrandLyon SIRI-Lite Situation Exchange; Paris status comes from Île-de-France Mobilités' official PRIM line_reports API (Tramway); Paris status comes from Île-de-France Mobilités' official PRIM line_reports API (Transilien); Tokyo status comes from the Public Transportation Open Data Center's (ODPT) TrainInformation API; Los Angeles status comes from LA Metro's official service alerts feed (alerts.metro.net); Marseille status comes from RTM infos trafic alerts (api.rtm.fr); Berlin status comes from BVG disruption reports (Störungsmeldungen); Buenos Aires status comes from GCBA API Transporte service alerts; New Jersey status comes from NJ Transit's GTFS-realtime Service Alerts and RSS Rail Advisories; Santiago status comes from Metro de Santiago's official network-status feed; Denver status comes from the RTD GTFS-realtime service alerts feed; Brisbane status comes from Translink SEQ GTFS-realtime Service Alerts; Portland status comes from TriMet web services alerts API; Toronto status comes from the Toronto Transit Commission (TTC) route-alerts API; Minneapolis status comes from the Metro Transit Service Alerts API; Adelaide status comes from the Adelaide Metro GTFS-realtime service alerts feed; Istanbul status comes from the Metro İstanbul service status API; San Diego status comes from the San Diego Trolley GTFS-realtime service alerts feed; Frankfurt status comes from VGF Betriebsmeldungen (stoerung.vgf-ffm.de); Seattle status comes from Sound Transit's official GTFS-realtime service alerts (Open Transit Data); Budapest status comes from BKK GTFS-realtime Service Alerts (OpenData); Stuttgart status comes from the VVS ADDINFO feed (www3.vvs.de); Medellín status comes from the Metro de Medellín líneas-status API; Zurich status comes from the ZVV HAFAS himSearch feed (zvv.hafas.cloud); Bordeaux status comes from TBM / Bordeaux Métropole GTFS-realtime service alerts (bdx.mecatran.com open data); Grenoble status comes from SMMAG / M réso / TAG dyn/ligne and evtTC feeds (data.mobilites-m.fr); Gothenburg status comes from Västtrafik's Traffic Situations (Störning) API; Antwerp status comes from De Lijn Open Data (Kern API); Ghent status comes from De Lijn Open Data (Kern API); Sofia status comes from Център за градска мобилност / Столична община GTFS-realtime service alerts (gtfs.sofiatraffic.bg); Szczecin status comes from ZDiTM Szczecin GTFS-RT service alerts; Brno status comes from KORDIS JMK / IDS JMK GTFS-realtime service alerts (DPMB trams); Gdańsk status comes from ZTM Gdańsk bieżąca sytuacja komunikacyjna (bsk.json); Brussels status comes from STIB-MIVB TravellersInformation (Belgian Mobility Company open data); Bern status comes from opentransportdata.swiss SIRI-SX (BERNMOBIL); Wellington status comes from Metlink Open Data GTFS-realtime Service Alerts (Greater Wellington Regional Council); The Hague status comes from HTM's official DisruptionsList JSON (www.htm.nl/omleidingen-verstoringen); Prague status comes from PID/ROPID RSS feeds (mimořádnosti and výluky at pid.cz); Dresden status comes from the VVO EFA ADDINFO feed (efa.vvo-online.de); Karlsruhe status comes from the KVV EFA ADDINFO feed (projekte.kvv-efa.de); Hong Kong status comes from MTR's official line-status JSON (www.mtr.com.hk); New York City status comes from the MTA Long Island Rail Road service alerts feed; New York City status comes from the MTA Metro-North Railroad service alerts feed; Los Angeles status comes from Metrolink's official GTFS-realtime service alerts feed; Freiburg status comes from the VAG Freiburg EFA ADDINFO feed (efa.vagfr.de); Augsburg status comes from the AVV EFA ADDINFO feed (fahrtauskunft.avv-augsburg.de); Braunschweig status comes from the BSVG EFA ADDINFO feed (bsvg.efa.de); Montreal status comes from exo's Chrono GTFS-realtime TRAINS service alerts (Données Québec); Toronto status comes from the keyed GTFS-realtime Alerts API published by the regional rail operator (not affiliated); Barcelona status comes from TRAM Barcelona's GTFS-realtime service alerts (opendata.tram.cat); Montpellier status comes from TaM / Montpellier Méditerranée Métropole GTFS-realtime service alerts (gtfsproxy.e-tam.fr); Malmö status comes from Skånetrafiken's GTFS-realtime Service Alerts via Trafiklab (Pågatågen); Geneva status comes from the tpg info trafic feed (www.tpg.ch/fr/getInfoTrafic); Basel status comes from opentransportdata.swiss SIRI-SX (BVB); Melbourne status comes from Transport Victoria's GTFS-realtime Service Alerts feed for metropolitan trains (Metro Trains Melbourne); Strasbourg status comes from the CTS (Compagnie des Transports Strasbourgeois) SIRI general-message open data API (api.cts-strasbourg.eu); Lisbon status comes from the Metropolitano de Lisboa line-status feed (app.metrolisboa.pt), the same data as the status panel on metrolisboa.pt; Copenhagen status comes from Metroselskabet's operations data on m.dk, the same line-group status and planned changes the m.dk status panel shows; Mulhouse status comes from the Soléa GTFS-realtime service alerts published by Fluo Grand Est on transport.data.gouv.fr, the same notices as solea.info's infos trafic; Baltimore status comes from the MTA Maryland GTFS-realtime service alerts feed; Rome status comes from Roma Mobilità's GTFS-realtime service alerts feed for the ATAC network (romamobilita.it); Edmonton status comes from the City of Edmonton's GTFS-realtime service alerts feed for Edmonton Transit Service (ETS), the same notices as edmonton.ca's transit alerts; and Nantes status comes from Nantes Métropole's open-data GTFS-realtime service alerts for the Naolib network, the same notices as naolib.fr's info trafic. We normalize them onto a single, consistent set of status levels so the cities can be compared at a glance.
Reliability history accumulates from the moment tracking begins: the site samples each feed continuously and records how long every line spends at each status level per day. The longer the site runs, the richer the history becomes.
Accuracy and independence
Delayed Trains is an independent site and is not affiliated with, endorsed by, or operated by NYC Subway, London, Chicago 'L', MBTA, MBTA Commuter Rail, WMATA, Wiener Linien, SEPTA (Philadelphia), Sydney Trains & Metro, Metra, Stockholm, Montreal Métro, Singapore MRT & LRT, Oslo Metro, Helsinki, Bucharest Metro, Bucharest Trams, Paris Métro & RER, Lyon TCL, Paris Tramway, Transilien, Tokyo Subway, LA Metro, Marseille RTM, Berlin U-Bahn, Buenos Aires Subte, NJ Transit, Santiago Metro, Denver RTD, Brisbane Translink, Portland TriMet, Toronto Subway, Minneapolis METRO, Adelaide Metro, Istanbul Metro, San Diego Trolley, Frankfurt U-Bahn, Sound Transit, Budapest Metro & HÉV, Stuttgart Stadtbahn, Medellín Metro, Zurich Trams (VBZ), Bordeaux TBM Trams, Grenoble TAG Trams, Gothenburg Trams, Antwerp Trams, Ghent Trams, Sofia Metro & Trams, Szczecin Trams (ZDiTM), Brno Trams, Gdańsk Trams (ZTM), STIB Brussels, Bern Trams, Wellington Metlink, The Hague Trams (HTM), Prague DPP, Dresden Trams, Karlsruhe Trams, Hong Kong MTR, Long Island Rail Road, Metro-North Railroad, Metrolink, Freiburg Stadtbahn, Augsburg Trams (SWA), Braunschweig Trams, exo Commuter Rail, GO Transit, Barcelona TRAM, Montpellier Trams (TaM), Skåne Pågatågen, Geneva Trams (TPG), Basel Trams (BVB), Melbourne Trains, Strasbourg CTS Trams, Lisbon Metro, Copenhagen Metro, Mulhouse Tram, Baltimore (MTA Maryland), Rome Metro, Edmonton LRT, Nantes Trams (Naolib), or any transit agency. Status is only as current and accurate as the underlying feeds; when a feed is unavailable, the affected lines are shown as "status unavailable" rather than guessing that service is fine.
Data: MTA, TfL, CTA, MBTA, MBTA Commuter Rail, WMATA, Wiener Linien, SEPTA, Transport for NSW, Metra, SL/Trafiklab, STM, LTA DataMall, Ruter/Entur, HSL, TPBI, TPBI, Île-de-France Mobilités, SYTRAL/GrandLyon, Île-de-France Mobilités, Île-de-France Mobilités, ODPT, LA Metro, RTM, BVG, GCBA, NJ Transit, Metro de Santiago, Denver RTD, Translink SEQ, TriMet, TTC, Metro Transit, Adelaide Metro, Metro İstanbul, San Diego Trolley, VGF, Sound Transit OTD, BKK, VVS, Metro de Medellín, ZVV/VBZ, TBM, TAG, Västtrafik, De Lijn, De Lijn, ЦГМ, ZDiTM, KORDIS JMK, ZTM Gdańsk, STIB-MIVB, BERNMOBIL, Metlink, HTM, PID/ROPID, VVO, KVV, MTR, MTA LIRR, MTA Metro-North, Metrolink, VAG, AVV, BSVG, exo, realtime alerts from the operator open data API (not affiliated), TRAM, TaM, Skånetrafiken/Trafiklab, tpg, BVB, Transport Victoria, CTS, Metropolitano de Lisboa, Metroselskabet, Soléa, MTA Maryland, Roma Mobilità / ATAC, ETS, Naolib open data.