About the archive
Timetables say how trains should run. Live feeds say how they did run, and then the feeds forget. The archive keeps both, for as many European railways as publish them.
How it works
Most sources publish GTFS-RT and GTFS, the standard formats for live data and timetables. Some operators publish their live data only in another form: their own API, a SIRI feed, or the backend of a train map or departure board on their website. For those, a small adapter reads that data and converts it to GTFS-RT, and builds the timetable too where there is no GTFS. The page of each source says where its data comes from.
Each source is read as often as it publishes, every 30 seconds to 2 minutes. Updates that did not change are skipped. Where a source mixes trains with buses and trams, only rows the timetable lists as rail are kept. Timetables are checked every few hours, and a new version is stored whenever the published one changes. Everything is written as Parquet files in European storage.
The archive runs on the open-source gtfs-rt-aggregator and gtfs-parquet.
Remove or change a feed
If you publish a feed archived here and want it removed, collected differently, or credited another way, write to us with the source’s name. Removal stops collection and deletes the files already stored.
Privacy
Everything below is stored on the archive’s server in the EU and never shared, except Google Analytics, which you can refuse.
- Accounts: your email address, when the account was created and when you last signed in. Sign-in codes are sent by email through Mailjet (France) and kept only as a hash, for a day.
- API tokens: their name, expiry and last use. The token itself is shown once and kept only as a hash.
- Usage: for each download and data request made with your account or tokens: the time, the file and the approximate size. Kept in detail for 30 days, then as daily totals. Your IP address is not stored.
- Abuse limits: to stop sign-in codes and proposals being sent in bulk, a keyed hash of your IP address and of the email address a code goes to is counted for at most one day, then deleted. The hash cannot be turned back into the address.
- Visits: how many times each page is viewed per day, which sites link to it, and how many different visitors came that day. A visitor is recognised for one day by a keyed hash of the IP address and browser, held only in the server's memory with a key replaced every day; only the counts are stored. To leave out crawlers, a small script tells the server once per page that a mouse, key or touch was used, without saying what or where. No cookie is set for this.
- Cookies: a session cookie while you are signed in, and a cookie that protects the forms against cross-site requests.
- Google Analytics: only if you accept it in the cookie bar. Google then sets its cookies (
_ga, kept up to two years) and receives the pages you view, your browser and approximate location, to show us how the site is used; advertising features are off. Nothing is loaded from Google before you accept; your answer is kept in your browser, and we count how many people accept or refuse (a number per day, nothing about who). You can change your choice with the “Cookies” link at the bottom of every page. - Trains near you: the live map’s “Near me” asks your browser for your position. The map centres on it in your browser; to list the stations around you, the position is sent rounded to about a kilometre, used for that answer only, and neither logged nor stored. The map’s streets and labels are served by this site too (OpenStreetMap data), so no map service sees your visit.
- Feed proposals: what you typed in the form, to review it and reply.
You can delete your account, its tokens and its usage history yourself, at the bottom of My account, or by writing to us.
Credits and licences
Every dataset belongs to its publisher and stays under that publisher’s licence: check it before reusing the data. Several countries are covered only thanks to volunteers who convert or relay data (GitHub contributors, Transitous, aubin.app, derp.si, hoermalmeister/gtfs-rehost, jbb.ghsq.de, kasznia.net, livetransport.eu, mkuran.pl, obehy.cz, pirnet.si). The feed lists of the Transitous project helped find many sources. Country outlines: Natural Earth. Live map: MapLibre, with streets and places © OpenStreetMap contributors (ODbL), in Protomaps tiles and style. Set in Outfit and Source Sans 3, both under the SIL Open Font License.