Transport

Swiss public transport API

Statistics

Total calls
5'605'060'763

Average calls per day
1'056'363

Max calls for one day
12'208'780


Loading chart ...

Resources

  • /v1/stationboard 3'314'866'062
  • /v1/connections 2'159'342'062
  • /v1/locations 125'534'675
  • /v1/ 518'762
  • /v1 79'842

Stations last 30 days

  • Baden 470'130
  • Biel/Bienne, Stadien/Stades 437'998
  • Winterthur 355'703
  • Chavannes-R., Dorigny 340'711
  • Jussy, centre horticole 307'327

More stations and connections

Errors

  • MethodNotAllowedHttpException 405 225'158'647
  • Exception 500 7'660'233
  • RequestException 500 3'751'756
  • ContextErrorException 500 3'273'275
  • NotFoundHttpException 404 1'316'463

All errors in detail

Who calls

Time window: · change

Kind of client

Client Requests Share

Distinct clients per day

Date Clients Half of the requests from 90 % from

Requests by hour of the day

Average requests per hour, rate-limited ones included, over the hours of the window that were recorded.

What is asked for

Time window: · change

Counted exactly as the clients wrote them. A station can be asked for by its name or by its number, the Swiss stop ID (8507000 is Bern), and the count does not look either up: «Bern», «bern» and «8507000» are three entries for the same station, and a station may therefore rank lower than it is asked for. Rate-limited and failed requests are not counted.

Station boards

StationRequests

Connections

From → toRequests

Data sources

What the API answers from, and when it was fetched. Each timetable file is a complete version, not a change to the one before; real time is a complete snapshot every 30 seconds. See Source.

Loaded now

Timetable filesgtfs_fp2026_20261010.zip, gtfs_fp2027_20261010.zip
Days held05.10.2026 – 10.01.2027
Imported12.10.2026 15:16
Street network (OpenStreetMap)548.0 MB, 11.10.2026 19:08

Real time, last 24 hours

Snapshots fetched2'878
Size of a snapshot6'697 kB
Trips with real time per snapshot11'428
Fetched in total19'274.0 MB
Time to fetch (seconds)0.3
Last snapshot13.10.2026 23:20

Timetable files downloaded

WhenFileSize
12.10.2026 15:12gtfs_fp2027_20261010.zip90.6 MB
12.10.2026 15:12gtfs_fp2026_20261010.zip289.3 MB
11.10.2026 19:02gtfs_fp2027_20261007.zip90.1 MB
11.10.2026 19:02gtfs_fp2026_20260930.zip289.0 MB

Imports

WhenDaysStop timesMinutes
12.10.2026 15:182026-10-05..2027-01-1028'018'1033.0
11.10.2026 19:072026-10-04..2027-01-0927'649'2682.7

Stations 2012–2017

The most asked-for stations from 10. August 2012 until 8. June 2017, when the API moved to timetable.search.ch and this count stopped.

StationRequests
Innertkirchen, Grimseltor103'056'869
Bern80'342'006
Lausanne, Fourmi18'643'486
Zürich, Stockerstrasse14'344'856
Lausanne10'903'331
Zürich HB10'848'305
Paris10'244'255
Bern, Bahnhof10'182'338
Ostermundigen, Zollgasse9'714'901
Ecublens VD, EPFL9'499'682

Calls and errors

Errors are answers the API could not give: search.ch failing or timing out, unknown paths, wrong methods, invalid parameters. Rate-limited requests (HTTP 429) are not errors and not counted here. Errors are counted from 22. November 2015 on.

Each bar is the calls of a year or a day, the red part its errors. Hover a bar for the figures and the error rate. The paler bar is the year or day so far; the rate for 2015 counts from 22. November on, and there is none before.

Errors in detail

Calls

Errors

Error rate

Rate limited (429)

Error Status Meaning Count Share