🌍 The open source route planner api with plenty of features.
The openrouteservice API provides global spatial services by consuming user-generated and collaboratively collected free geographic data directly from OpenStreetMap. It is highly customizable, performant and written in Java.
The following services are available via a HTTP interface served by Tomcat. - Directions - Returns a route between two or more locations for a selected profile with customizable additional settings and instructions. - Isochrones - Obtains areas of reachability from given locations. - Matrix - Computes one-to-many, many-to-one or many-to-many routes for any mode of transport provided by openrouteservice.
To play around with openrouteservice you may use our demonstration server which comes with both the backend and a frontend. Or simply sign up for an API key and fire your requests against the API directly.
We appreciate any kind of contribution - bug reports, new feature suggestion or improving our translations are greatly appreciated. Feel free to create an issue and label it accordingly. If your issue regards the openrouteservice web-app please use the corresponding repository.
If you want to contribute your improvements, please follow the steps outlined in our CONTRIBUTION guidelines
The sourcespy dashboard provides a high level overview of the repository including technology summary, module dependencies and other components of the system.
We recommend using Docker to install and launch the openrouteservice backend:
cd docker && mkdir -p conf elevation_cache graphs logs/ors logs/tomcat && docker-compose up
For more details, check the docker installation guide.
Openrouteservice offers a set of endpoints for different spatial purposes. By default they will be available at
You can find more information in the Installation and Usage Instructions.
For an easy and interactive way to test the api, visit our API documentation at openrouteservice.org. After obtaining your key you can try out the different endpoints instantly and start firing requests.
For questions please use our community forum.
If you notice anything wrong with translations, or you want to add a new language to the ORS instructions, we have some instructions in our backend documentation about how you can submit an update. You can also look over at our maps client GitHub if you want to contribute the language to there as well (adding or editing the language in the openrouteservice GitHub repo only affects the instructions - any new language also needs adding to the client).