Skip to content

A clean REST API wrapping around the Deutsche Bahn API.

License

Notifications You must be signed in to change notification settings

derhuerst/db-rest

Repository files navigation

db-rest

A clean REST API wrapping around the Deutsche Bahn HAFAS API. It is deployed at v6.db.transport.rest.

API Documentation

Important

The DB HAFAS API is currently not available, and it seems like it has been shut off permanently.

This wrapper API now uses db-vendo-client as a backend, which covers most of the use cases, notably except for /stops/reachable-from and /radar. Please also note some further limitations and caveats in the readme and documentation of db-vendo-client.

Also, the new underlying APIs seem to have a much lower rate limit than the old HAFAS API. ⚠️ Hence, please check if you can obtain the data needed for your use case in a more efficient manner, e.g. by using the available GTFS feeds.

db-rest architecture diagram

API status dependency status ISC-licensed support me via GitHub Sponsors chat with me on Twitter

installing & running

access to Redis

It is recommended that you let bvg-rest cache HAFAS responses within a Redis cache. To use this feature, set $REDIS_URL (e.g. to redis://localhost:6379/1 when running Redis locally).

via Docker

A Docker image is available as docker.io/derhuerst/db-rest:6.

docker run -d -p 3000:3000 docker.io/derhuerst/db-rest:6

Note: The Docker image does not contain the Redis server.

manually

git clone https://github.com/derhuerst/db-rest.git
cd db-rest
git checkout 6
npm install

export HOSTNAME='my-vbb-rest-api.example.org'
npm run build

redis-server &
npm start

To keep the API running permanently, use tools like forever or systemd.

Related Projects

  • DB-Adapter-v6 – A Java API client for db-rest.
  • vbb-rest – A clean REST API wrapping around the VBB API.
  • bvg-rest – A clean REST API wrapping around the BVG API.
  • hvv-rest – A clean REST API wrapping around the HVV API.
  • hafas-rest-api – Expose a HAFAS client via an HTTP REST API.
  • hafas-client – JavaScript client for HAFAS public transport APIs.

Contributing

If you have a question, found a bug or want to propose a feature, have a look at the issues page.