// the find
GIScience/openrouteservice
🌍 The open source route planner api with plenty of features.
openrouteservice is a self-hostable routing engine built on a forked GraphHopper 4.0, consuming OpenStreetMap data to provide directions, isochrones, distance matrices, and snapping APIs. It's for teams that need a private, on-premises alternative to Google Maps routing — geospatial applications, logistics tools, mobility research. The hosted API at openrouteservice.org is run by HeiGIT (Heidelberg University), but the whole stack is deployable via Docker.
The isochrones endpoint is genuinely good — reachability polygons by time or distance across multiple transport profiles (car, bike, pedestrian, wheelchair) is something you'd otherwise pay dearly for. The matrix endpoint supports many-to-many distance/duration calculations, which logistics routing needs. Docker setup is straightforward and actively maintained with nightly builds and tagged releases. Configuration is YAML-based with a well-documented override system, so you can tune profiles, speed tables, and elevation without touching code.
It forks GraphHopper at 4.0 (GraphHopper is now at 9.x), so you're permanently behind on core routing algorithm improvements and bug fixes with no clear path to catch up. Startup time on real-world PBF files is painful — building routing graphs for a country-sized region takes tens of minutes and several GB of RAM, which makes horizontal scaling awkward. The geocoding, POI, and optimization endpoints in the documentation are actually separate external services (Pelias, openpoiservice, VROOM), not part of this repo — that boundary is buried in a footnote and will surprise you when you try to self-host. No native Kubernetes/Helm charts; the graph build step and the serve step are tightly coupled in a single process, which complicates zero-downtime deployments.