Start firing your requests over 7000 times a day. For free.


The openrouteservice directions service covers the globe and allows you to compute routes and all sorts of navigation information. To this end, we offer a wide range of travelling options for multiple modes of transport. Amongst these you can choose between car, different bicycle types, walking, hiking, wheelchair and heavy vehicle. Each of these modes uses a is a carefully compiled street network to suite the profiles requirements. To help you individualise your routes even further the API offers the possibility to customise your input with road type restrictions and vehicle characteristics.

Long distance routes

With openrouteservice you are able to determine routes for car and heavy vehicle with distances up to 6.000 km with any kind of options added.

Used by professionals

Openrouteservice’s heavy vehicle routing option allows the planning of delivery for equipment and resources to disaster stricken areas, whilst taking into account restrictions based on vehicle properties.


The openrouteservice geocoding api accesses global databases and transforms descriptions of locations, such as place names, street addresses or postal codes, into a normalised description of the location with a point geometry. Additionally our geocoding service offers a reverse geocoding service which does exactly the opposite. It transforms the coordinate of a point into the description of the next enclosing object which surrounds the given coordinate. To obtain more relevant results you may also set a radius tolerance around the requested coordinates.


Openrouteservice’s POIs api helps you find points of interest around or within given location(s). This service has a global coverage and can be used for different kinds of use cases. You may either search for a single or list of category types contained around a point, path or even within a given geofence. Furthermore you are also able to query and gather statistics featuring the amount of certain POIs in an area.


To determine reachability areas from any given location(s) on the map we offer the isochrones service which returns these regions as contours of polygons. You may specify 2 types of input, namely time or distance as well as corresponding intervals. If the input entails a list of points the service will return intersections of the computed isochrones if any exist. Within this API you are able to use the identical set of options that are found in the directions service.
A typical use case of isochrones is figuring out how far an object is able to travel within a given amount of time or distance. One may also want to find out which catchment or community areas a certain location has, e.g. schools, medical facilities or environmentally friendly public transport.

Extraordinarily large areas

The underlying technology generating the isochrones allows you to determine huge areas with unusually high performance. Make use of multiple locations at once and let the api find intersections of isochrones for you.

Multiple locations and intersections

To save time you can specify up to 5 locations of interest at once. And if you want to know where the isochrones intersect, simply let the API compute these for you.

Time-Distance Matrix

One to many, many to many or many to one. Openrouteservice’s time-distance matrix service allows you to obtain time and distance information between a set of locations (origins and destinations) and returns them to you in a structured JSON response. This API is extremely convenient and scalable for batch requests determining aggregated metrics of routes (it does not return detailed route information, use the directions api for this use case). Akin to locations and directions, you may specify the transportation mode and compute routes which adhere to certain restrictions, such as avoiding specific road types or object characteristics.
One prominent use case which can be built on top of this service is to easily explore the fastest or shortest combination of a set of destinations which should be reached – this is commonly referred to as the traveling sales person problem.

Up to 2.500 distance pairs

This basically means you are able to request a combination of 50 times 50 origins/destinations pairs at once. Head over to our API Playground and find out how.

Fast response times

We make use of state of art graph traversal algorithms to guarantee stable and performant responses.


Use our openelevationservice to transform 2-dimensional points or lines (e.g. routes or POIs) into 3-dimensional objects with height information. The elevation data is based on a SRTM (Version 4) data set with 90m x 90m resolution (at equator), that was CGIAR postprocessed to generate a seamless, complete global coverage without data voids. Request and receive geometries in three different formats: simple geometry, GeoJSON or encoded polyline.


Openrouteservice’s optimization api can be used to solve various vehicle routing problems. This versatile service will not only provide fast responses but lets you customize your vehicle, task and time constraints according to your needs. By specifying multiple vehicles the result will be optimized for your whole fleet. The tasks can be either defined as jobs, which are single-location pickups or deliveries, or as shipments where pickup and delivery should happen by one vehicle on the same route. We provide a working example request in our api playground, so start optimizing right away.

Route optimization for two vehicles and multiple waypoints


Each vehicle can have separate capacities for multiple goods to define storage limitations. Tasks (shipments and jobs) will consume or free up a vehicle’s capacity.


Every task can require skills which have to be met by the vehicle handling the task. Only capable vehicles will execute the task.

Service duration & time windows

Tasks can take a specified amount of time and can be executable only during a limited time window which could for example represent deadlines or maximum transport duration in the case of medicinal supplies.


Tasks can be prioritized to specify the importance. The optimization will favour more important tasks and do them as soon as possible.