The project provides a simple RESTful API for Swiss train connections and departure times. The original goal was to make the cumbersome XML-RPC protocol used by the online services of public transportation companies easier accessible to more developers. In 2017 the backend of the Transport API was switched to a service provided by search.ch.
Deploy your own open transport data server following the instructions in the source code. Use it to make code-level improvements to the service, and start a Pull Request with your results!
The backend of the Transport API changed on 31 July 2017. Read more on opendata.ch.
The Transport API allows interested developers to build their own applications using public timetable data, whether they're on the web, the desktop or mobile devices.
Feel free to fork this project implement your own ideas or send pull requests.
You can install the Transport API on your own server, however we recommend the usage of transport.opendata.ch.
$ git clone git://github.com/OpendataCH/Transport.git transport $ cd transport $ composer install
Also make sure, the directory
transport/var/ is writable.
If you cloned the repository inside your document root, the API is now accessible at http://localhost/transport/web/api.php/v1/. However we recommend setting the document root to
transport/web/ and using the provided
.htaccess to route API requests to
Or you can start it with the PHP's built-in webserver (not recommended for a production setup, but the easy way to get started locally)
php -S localhost:8000
And then access it with http://localhost:8000/web/api.php
To define your own configuration for the API copy the file
config.php and override the variables you want to change.
You can get some basic statistics for the API by configuring a Redis server in your configuration (
$redis) and have a look at http://localhost/transport/web/stats.php.
XSD for the XML Fahrplan API is available here: hafasXMLInterface.xsd
Missing package php-xml
If you're running Ubuntu and
composer install produces the error message
Your requirements could not be resolved to an installable set of packages.
you can try to install the package
php-xml using the command
sudo apt install php-xml
This is a companion discussion topic for the original entry at https://hacknight.dinacon.ch/project/14.html