Transport for Switzerland
Swiss train connections and schedules, no key needed
A friendly wrapper over Swiss public-transport timetables that returns connections, departures, and station lookups as JSON. Ask for a route between two towns and get platforms, times, and live delay data back. Keyless and CORS-enabled; throughput is bounded by the underlying timetable.search.ch limits.
GET https://transport.opendata.ch/v1/connections?from=Zurich&to=Bern&limit=1
{
"connections": [
{
"from": {
"station": {
"id": "8503000",
"name": "Zürich HB"
},
"departure": "2026-07-05T12:32:00+0200",
"platform": "32"
},
"to": {
"station": {
"name": "Bern"
},
"arrival": "2026-07-05T13:28:00+0200"
},
"duration": "00d00:56:00"
}
]
}curl "https://transport.opendata.ch/v1/connections?from=Zurich&to=Bern&limit=1"const res = await fetch("https://transport.opendata.ch/v1/connections?from=Zurich&to=Bern&limit=1");
const data = await res.json();
console.log(data);import requests
res = requests.get("https://transport.opendata.ch/v1/connections?from=Zurich&to=Bern&limit=1")
print(res.json())/connections?from=Zurich&to=Bern&limit=1PROBEDSwiss train connections and schedules, no key needed
/connections?limit=5Connections — documented GET route.
/connections?page=1Connections — documented GET route.
We probe a documented GET and expect 2xx JSON — full uptime and health score. Export includes every documented route below.
Stable. No schema drift observed since monitoring began — the response shape has not changed under our checks.
Transport for Switzerland: common questions
Is Transport for Switzerland free to use?
Yes — Transport for Switzerland is a free transport API. Free tier: Free — no key required. Whether the free tier allows commercial use is unclear — check the provider docs.
Does Transport for Switzerland need an API key?
No — Transport for Switzerland needs no API key or signup. You can call it straight away; rate limits still apply (Bounded by timetable.search.ch limits (no fixed number published)).
Can I call Transport for Switzerland from the browser?
Yes — Transport for Switzerland returns CORS headers over HTTPS, so front-end code can fetch it directly with no backend proxy. Use the fetch snippet on this page, or hit "Run live" to try it now.
Is Transport for Switzerland up right now?
As of our last scheduled check, Transport for Switzerland is healthy with 96.1% uptime over 90 days and a 916 ms median response. We re-probe it every sweep — the status badge and uptime chart above always show the latest.