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 SBB easier accessible to more developers. In 2017 the backend of the Transport API was switched to a service provided by search.ch.
{ hacknight challenges }Use the online documentation to create your own data analysis or visualization. You can find code samples here and example apps here - many of which are open source as well
Join the discussion group and look through the GitHub issues to see the questions being discussed. Respond to the request from another user, or suggest your own improvement to the API.
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.
Transport API
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.
Installation
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 api.php
.
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
Configuration
To define your own configuration for the API copy the file config.php.sample
to config.php
and override the variables you want to change.
Statistics
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.
Development
XSD for the XML Fahrplan API is available here: hafasXMLInterface.xsd
Troubleshooting
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