db-rest
March 18, 2025 · View on GitHub
A clean REST API wrapping around the Deutsche Bahn HAFAS API. It is deployed at v6.db.transport.rest.
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.
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 fordb-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.