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. We're considering changing db-rest to use db-vendo-client, please follow Issue #60 for updates. You can also use db-vendo-client yourself as a replacement, it covers most of the use cases served by db-rest, but the underlying APIs seem to have a much lower rate limit. ⚠️

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.