API for agents and developers
Everything on the site is also plain JSON, static and free to use under the ODbL with attribution ("Data: pickthetrain.com, from official open timetables"). No key, no rate limit beyond fair use.
| Endpoint | Returns |
|---|---|
/api/v1/cities.json | Every city: id, name, country, coordinates, its stations and airports (with typical access minutes) |
/api/v1/routes.json | Every city pair with a direct cross-border train: trains a day, fastest minutes, families |
/api/v1/from/{city}.json | Every direct destination from one city |
/api/v1/routes/{from}/{to}.json | Every direct train in one direction: departure/arrival (local minutes after midnight), duration, family, train, operator + official site, stations, days it runs, and the door-to-door comparison |
/api/v1/meta.json | Build date and the timetable window the times cover |
City ids are lowercase slugs, e.g. zurich, st-gallen, frankfurt-oder. Example: /api/v1/routes/zurich/milan.json. Human pages: /trains/{from}-to-{to}/ and /from/{city}/. See also llms.txt and intents.md.