Openrouteservice
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.
Please note that openrouteservice uses a forked and edited version of graphhopper 4.0 which can be found here.
Note
- Our geocoding API is a separate service running the stack built around Pelias.
- Our locations/API is another service which we have coined openpoiservice which can be found here.
Changelog/latest changes
Contribute
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.
Installation
We suggest using docker to install and launch openrouteservice backend. In short, on a machine with a working docker installation running the following commands will get everything done.
wget https://raw.githubusercontent.com/GIScience/openrouteservice/master/docker-compose.yml
docker compose up -d
For more details, check the docker installation guide.
For instructions on how to build from source or configure, visit our Installation and Usage Instructions.
Usage
Openrouteservice offers a set of endpoints for different spatial purposes. By default they will be available at
http://localhost:8080/ors/v2/directions
http://localhost:8080/ors/v2/isochrones
http://localhost:8080/ors/v2/matrix
You can find more information in the Installation and Usage Instructions.
API Documentation
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.
Questions
For questions please use our community forum.
Translations
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).