as offers Routing services by using user-generated, collaboratively collected free geographic data from - Please donate your geographic data to!
The service is based on open standards by the Open Geospatial Consortium (OGC). Currently the following services have been implemented within the frame of, which allow you to include maps, geocoding, directories and other content in your web pages or applications. By accessing, requesting and using OpenRouteService (ORS) and the provided API, you are agreeing to our terms of use.


We are searching for hardware sponsors, feel free to contact us!

If you intend to use OpenRouteService in your own applications please contact us. We are interested in spreading the usage of OpenRouteService in academic and non-profit projects.

Supported Web browsers

Please note that this project is developed by a small group of individuals. We don't have the man power to guarantee that this client works in all browsers and all operating systems. When accessing as a Web frontend use, we currently provide full support of all provided services for any version of Mozilla Firefox, Google Chrome and Safari browsers. Any other web browser (e.g. Internet Explorer) is currently not supported.


Contact information

In case you have any further questions, concerns or feedback about this service agreement, please contact us via Email:
openrouteservice at

logo GIScience logo University of Heidelberg

Pascal Neis & Alexander Zipf
Backend Development
Maxim Rylov, Enrico Steiger & Timothy Ellersiek
Timothy Ellersiek, Enrico Steiger, Maxim Rylov & Oliver Roick
Web Mapping Service (WMS) & TileCache
Pascal Neis, Michael Auer & Steffen Neubauer
OpenMapSurfer Tiles
Maxim Rylov
Hillshade processing
Michael Auer & Magnus Fees

Open Route Service



Routing services are probably the most important application for street data - apart from visualizing them on a map. While there are a range of desktop (or even mobile) applications that can provide such functionalities also in combination with OSM data, we focus here on an approach based on the concept of interoperable Service Oriented Architectures (SOA). These are regarded as an important concept for forthcoming software architectures in general, and more and more being applied also in the GI (geographic information) sector. While SOA offer many benefits they are not the solution to all problems.
A remaining issue is the question of interoperability between different web services from different vendors offering the same or similar services but with different technical programming interfaces. This is the reason why standards are becoming more and more important for a range of applications - in particular in the institutional and governmental sector, but also beyond. Within the geographical information community here the Open Geospatial Consortium (OGC) has developed a range of standards for different GI related functionalities. This is why we choose to develop and set up a routing service that uses OSM data and provides those through the standardized interface specified by the OGC within the Open Location Services initiative (OpenLS or OLS) as one of 5 services:

The Route Service offers a broad range of possibilities, among them several parameters that determine the result, e.g.:

  1. RouteSummary — gives meta information about the requested route, e.g.: overall distance, units, overall needed time...
  2. RouteGeometry — requests the routes geometry (line string containing all waypoints of the route). It is possible to define a maximum number of waypoints.
  3. RouteInstruction — these are "step by step" driving instructions of the calculated route. We realized this for various languages (e.g. German, English, Italian, ...).
    Your language is missing? Please add your language to ORS via github here
  4. RouteMaps — The calculated route is displayed on a route map. Amongst other possibilities an overview map as well as detailed maps of the start- and destination can be requested.

Currently offers a end-user oriented website with an interactive map , but soon we will also make the route service available as OGC-web service, that can be used through http-based xml-requestes as specified in the OGC OpenLS Route Service specification. This will allow developers to use this servide in an open and interoperable way easily within their own applications.

OpenRouteService Coverage

OpenRouteService APIs and services are currently available worldwide, except for North- and South America (see Figure of current coverage), due to our limited server capacities. We are planning on providing ORS also worldwide in the future but cannot provide any timeline at the moment.


OpenLS Services

(Status 01.09.2015)
Description: Through the OpenLS interface requests can be generated to the appropriate services without further query limitations. The offered API's are valid for one year.

In case you plan a long-term use of the interfaces within your projects , please contact us via Email

Routing Services [RS]*

Restful Webservice route request:
testclient with meta information and schema file for routing service:
direct route request via URL + parameter:
graph routing profile update information:
*currently the maximum request limitation is 1000/hour and user. We kindly ask you to not use the service excessively. In case the server performance will be affected we reserve us the right to block individual service user.

Geocoding Service [LUS]

Restful Webservice geocode request:
testclient with meta information and schema file for geocoding service:
testclient with meta information and schema file for reverse geocoding service:
direct geocoding route request via URL + parameter:

Directory (POI Search) Service [DS]

Restful Webservice directory request:
testclient with meta information and schema file for directory service:
direct directory request via URL + parameter:

OpenLS Acessbility Analysis service [AAS]*

Restful Webservice accessbility analysis request:
testclient with meta information and schema file for analysis service:
direct accesbility analysis request via URL + parameter:
*for performance reasons only 30 minutes are currently supported

Direct Routing Request (via GET)

Parameters *start = longitude and latitude of the start position, e.g. '7.0892567,50.7265543'
*via (optional) = longitudes and latitudes of the via positions separated by blank, e.g. '7.0920891,50.7295968 7.1044487,50.7247613'
*end = longitude and latitude of the end position, e.g. '7.0986258,50.7323634'
*routepref = the preference of the routing: 'Car', 'Pedestrian', 'Bicycle', 'HeavyVehicle
*weighting = the preference of the routing method: 'Fastest', 'Shortest', 'Recommended'
*distunit = distance unit of route calculation (default in kilometer 'KM', meters 'M', miles 'MI')
*noMotorways = Avoid Motorways? e.g. 'noMotorways=false' OR 'noMotorways=true'
*noTollways = Avoid Tollways? e.g. 'noTollways=false' OR 'noTollways=true'
*noFerries = Avoid Ferrys? e.g. 'noFerries=false' OR 'noFerries=true'
*noUnpavedroads (only for Bicycle profile) = Avoid unpaved Roads? e.g. 'noUnpavedroads=false' OR 'noUnpavedroads=true'
*noSteps (only for Bicycle profile) = Avoid Steps? e.g. 'noSteps=false' OR 'noSteps=true'
*maxspeed specify the maximum speed in km/h for the selected route profile e.g. 'maxspeed=10' see here
*instructions = Route instructions 'instructions=true' or 'instructions=false'
*lang = language of routeinstructions: 'de' (Deutsch), 'en' (English), etc., all supported languagse see here

optional Parameters
(only HeavyVehicle route profile)
*hazardous = hazardous material? e.g. 'hazardous=false' OR 'hazardous=true', further info see here
*value_weight = maximum weight restriction in tons
*value_height = maximum height restriction in meter
*value_width = maximum width restriction in meter
*value_length = maximum length restriction in meter
*value_axleload = maximum axleload restriction in tons

optional Parameters
(only Bicycle route profile)
*elevation = retrieve elevation information for each waypoint (in meters above NHN)? e.g. 'elevation=true' OR 'elevation=false'
*surface = retrieve way surface information? e.g. 'surface=true' OR 'surface=false' -> requires 'instruction=true'
Response surface list {Unknown = 0, Paved = 1, Unpaved = 2, Asphalt = 3, Concrete = 4, Cobblestone = 5, Metal = 6, Wood = 7, CompactedGravel = 8, FineGravel = 9, Gravel = 10, Dirt = 11, Ground = 12, Ice = 13, Salt = 14, Sand = 15, Woodchips = 16, Grass = 17, GrassPavel = 18 }
Response waytype list {Unknown = 0, StateRoad = 1, Road = 2, Street = 3, Path = 4, Track = 5, Cycleway = 6, Footway = 7, Steps = 8, Ferry = 9, Construction = 10}

Example URL Bicycle & Shortest path
Bicycle & Shortest path & Elevation (optional) & Surface information (optional)
Car & Fastest path
Heavy Vehicle & Fastest path

Direct Geocoding Request (via GET)

Parameters *FreeFormAdress = free text search of adress
*MaxResponse = maximum amount of search results
*lang = language (optional only for free form adress search default is 'de', e.g.'de' (Deutsch), 'en' (English), etc., all supported languagse see here)
*lon = longitude
*lat = latitude
Example URL Free form Adress Geocoding Search + Language
Free form Adress Geocoding Search
Reverse Geocoding Search

Direct Accesibility Analysis Request (via GET)

Parameters *position (lon/lat) = longitude and latitude of the position marker, e.g. '-0.12772,51.50715'
*routePreference = preferred route profile: 'Car', 'Bicycle', 'Pedestrian', 'HeavyVehicle'
*method = method of isochrones generation: 'RecursiveGrid', 'TIN'
*interval= intervall of isochrones generation (in minutes): '180'
Example URL Accessbility Car
Accessbility Bicycle


In order to show the map in a certain position and zoom level use these permalink parameters.
Parameters *pos (lon/lat) = longitude (centre of the map),latitude (centre of the map)
*zoom = zoom level
*layer(optional) = default background layer (OpenMapsurfer=B000, OSM-WMS worldwide=0B000, OSM Mapnik=00B00, Stamen Map=0000B, OpenCycleMap=000B0)
Example URL PositionLink Example


In order to show the map with a calculated route result use the same parameters then for routing.
Parameters *pos (lon/lat) = longitude and latitude of the position marker, e.g. '-0.12772,51.50715'
*zoom = zoom level
*layer(optional) = default background layer (OpenMapsurfer=B000, OSM-WMS worldwide=0B000, OSM Mapnik=00B00, Stamen Map=0000B, OpenCycleMap=000B0)
*routeWeigh = weighting method of routing: 'Fastest', 'Shortest','Recommended'
*routeOpt = preferred route profile: 'Car', 'Bicycle','Pedestrian','HeavyVehicle'
*routeLang = language of route instructions: 'de' (Deutsch), 'en' (English) etc., all supported languages see here
*lang = language of ORS menu: 'de' (Deutsch), 'en' (English) etc., all supported menu languages see here
*distUnit = distance unit of route calculations, default meters (m)
Example URL RouteLink Example
RouteLink Example with Via Points


OpenGIS Location Services (OpenLS or OLS)

For further information see specification of OpenLS v1.1.



Related Publications where our OpenLS Route Service has been applied (e.g. in the following projects: (,, etc.).


ORS Help

OpenRouteService help page: OpenRouteService Wiki
OpenRouteService cares about your inquiries, problems, questions etc. As there will always be a stream of inquiries, we take strong responsibility to respond to you in short time. After you have received our automatic response email to let you know we have received your inquiry, we will usually respond shortly. Please give us time to look into your reported issue properly before getting back.

ORS Data

OpenRouteService does use open geographic data for providing routing services, offering real time traffic information and services and depends on open source third-party libraries. These are listed below.
  • Routing & Geocoding: OpenStreetMap
  • Map Background Layer: OpenMapSurfer Tiles & WMS
  • Hillshade Layer: CIAT-CSI SRTM. Users are prohibited from any commercial, non-free resale, or redistribution without explicit written permission from CIAT.
    Original data by Jarvis A., H.I. Reuter, A. Nelson, E. Guevara, 2008, Hole-filled seamless SRTM data V4, International Centre for Tropical Agriculture (CIAT)
  • TMC traffic Messages: BASt
  • ORS WebFrontend: --> Please report & fix any issues here

OpenStreetMap use in OpenRouteService - Safety disclaimer

In order to provide OpenRouteService and all related APIs, OpenRouteService uses OpenStreetMap as a free editable geographic dataset, to derive and process a routable graph for all currently offered modes of transportation. OpenStreetMap is not a complete or accurate map of the world and should not be used in such a manner that deficiencies, omissions, inaccuracies or errors could result in death, loss or injury. It is particularly important to realize that the maps might not be reliable. The maps are an iterative ongoing work-in-progress. OpenRouteService aims to provide maps, which can be relied upon, equally well, or better than other maps. The openly-editable wiki nature of the OpenStreetMap mapping system may help towards this goal, however it may also mean that there will always be some inaccuracies. You should make your own judgement about the accuracy of our maps. Always use our maps in conjunction with your senses, official sources and your common sense.

Route results

While OpenRouteService attempts to convey accurate route and direction information, the information contained may contain errors. OpenRouteService disclaims any and all liability for the adequacy, completeness, timeliness or accuracy of information and routing results and disclaims liability for errors or omissions in the information. You are strongly advised not to use OpenStreetMap as your primary or sole information source for crucial and data quality dependent routing and navigation applications, such as emergency and rescue, flying, inland navigation, marine navigation, military, whitewater sports, flood prone objects and winter sports. As always, make sure you have all the necessary equipment and training, take all sensible precautions, and be aware of the risks. As stated above, we will not be held responsible.

TMC traffic information

To integrate current traffic information in OpenRouteService, a road graph with TMC LCL information based on OpenStreetMap is used. To enable this service BASt (German Federal Highway Research Institute) offers an up to date Location Code List (LCL) for Germany and provides TMC real time traffic information messages. OpenRouteService does not warrant the accuracy of the traffic data used for the OpenRouteService and APIs. Such data may not always reflect reality due to, among other things, road closures, construction, weather, new roads and other changing conditions. There is no guarantee of the given accuracy of any of the visualized and for the dynamic routing used traffic messages.

JavaScript libraries


Thanks to...


Donate for ORS

Help us keeping our services up to date and to be able to further improve in the future. 100% of your donation will used for the OpenRouteService project and any amount will help us!

Heidelberg University
Bank: Baden-Württembergische Bank
IBAN: DE69600501017421500436
Subject/Reference: "SpendenKonto OpenRouteService Abt. Geoinformatik, Prof. Zipf"


OpenStreetmap (OSM)

"OpenStreetMap is an editable map of the whole world, which is being built largely from scratch using GPS traces, and released with an open content license. The OpenStreetMap License allows free (or almost free) access to our map images and all of our underlying map data, and the project aims to promote new and interesting uses of this data ..." Read more on:



The data sources for routing and mapping are based on free and open and even collaborative volunteered data collection efforts. Therefore we cannot guarantee any quality of the displayed data and the routing results. We are not responsible for any errors, mistakes, omissions or other problems with the used data and occurring from using this service.

Limitation of liability

Under no circumstances, and under no legal theory, including negligence, shall OpenRouteService or its affiliates, contractors, employees, agents, or third party partners or suppliers, be liable for any special, indirect, incidental, consequential, or exemplary damages (including loss of profits, data, or use or cost of cover) arising out of or relating to these terms or that result from your use or the inability to use the site, including software, services, maps, content, user submissions, or any third party sites referred to on or by the site, even if OpenRouteService or a OpenRouteService authorized representative has been advised of the possibility of such damages. OpenRouteService ensures to have technological and operational security policies and procedures to protect your information from loss, misuse, alteration, or unintentional destruction, but the OpenRouteService makes no representations or warranties regarding the security of the OpenRouteService or the transmission of data or information to and from OpenRouteService and your accessed device. OpenRouteService will not be liable to you or anyone else in the event of any unauthorized infiltration of any of its systems.

Prohibited Conduct

You may not use the Services for any unlawful purpose. Your use of the Services must comply with all local rules regarding online conduct and acceptable content. You may not use the Services in any manner that could damage or overburden the Services or interfere with any other party's use of the Services. You may not engage in other unacceptable use of the Services, which includes:
  • Disseminating material that is abusive, obscene, pornographic, defamatory, harassing, grossly offensive, vulgar, threatening, or malicious;
  • Aiding or implementing practices violating basic human rights or civil liberties;
  • Disseminating or storing material that infringes the copyright, trademark, patent, trade secret, or other intellectual property right of any person;
  • Creating a false identity or otherwise attempting to mislead others as to the identity or origin of any communication;
  • Exporting, re-exporting, or permitting downloading of any content in violation of any export or import law, regulation, or restriction of the European Union and its agencies or authorities, or without all required approvals, licenses, or exemptions;
  • Interfering with or attempting to gain unauthorized access to any computer network;
  • Transmitting viruses, trojan horses, or any other malicious code or program; or
  • Engaging in any other activity deemed by OpenRouteService to be in conflict with the spirit or intent of these Terms.

    Terms of Use

    If you intend to use OpenRouteService in your own applications please contact us. We are interested in spreading the usage of OpenRouteService in academic and non-profit projects.
    Commercial usage of the services provided by OpenRouteService does need approval!
    When accessing, requesting and using OpenRouteService and the provided APIs, depending on your daily amount of API requests and regardless of the consumer's legal entity or legal body, we distinguish between three different types of usage:

  • Single End Use. You are distinct single end user, i.e., an actual human being that can access OpenRouteService and the provided web services with up to 2500 requests per day free of charge. In case the server performance will be affected, we reserve us the right to limit individual service user. You may not redistribute hosted API services, nor may you permit your end user to redistribute hosted APIs, including by proxying or any other method to not avoid directly accessing our APIs. If you want to make use of the Services outside this description or should you intend to further use our services commercially (without any limit restriction), please consider a Commercial/ Enterprise Use.
  • Commercial/ Enterprise Use. You are planning a commercial use of OpenRouteService and the provided Routing/Direction and Accessibility API with more than 2500 requests per day in total, either consumed by a single end-user or multiple seats, in a private or commercial application. In order to cover the expenses of used resources and to support further ORS enhancements in the future, we charge you a yearly license service fee. In this case you may redistribute hosted API services, and permit your end user to use and access our hosted APIs in any commercial application. Please contact to get an individual quote.
  • Public funded Institution/ NGO. You are planning to use OpenRouteService the provided APIs with more than 2500 requests per day in total, either consumed by a single end-user or multiple seats, in a private or commercial application as a publicly funded institution or NGO. In this case we offer reduced fares and would charge you according to the amount of requests you send to our service in order to cover expenses. Please contact to get an individual quote.
  • Copyright and use of our Services

    When using the OpenRouteService APIs or using any other service provided by OpenRouteService make sure to have the copyright text "© Powered by OpenRouteService" in your API Implementation, site, or other propert(ies) (either displayed in the map image itself or elsewhere).

    Usage Limits

    If you exceed the usage limits as a free Single End User (2500 requests per day) of a given OpenRouteService API, the API will return an error message. If you repeatedly exceed the limits, your access to the API may be temporarily blocked. In this case we will inform and contact you about our Commercial/Enterprise Use. You can exceed the usage limits for the OpenRouteService APIs by:
  • Sending too many requests per day
  • Sending requests too fast, i.e. too many requests per second
  • Sending requests too fast for too long or otherwise abusing the web service
  • Service Limitations

    OpenRouteService always ensure to only publish stable releases of the provided API services. The chosen parameter, e.g. mode of transportation, avoid features, number of waypoints for Routing and isochrones time and isochrones interval for Accessibility Analysis affect the overall performance and calculation time, which may vary. Due to individual routing graph profiles for every mode of transport, the update process and the performance/computation time of route results also varies.

    Change of terms or services

    We reserve the right to modify these Terms at any time by posting the changed terms on the site. All changes shall be effective immediately upon posting. Please check these Terms periodically for changes. Your continued use of the Services after we post of changes constitutes your binding acceptance of the new terms. We may change the features and functions of the Services, including APIs, and the terms of this license agreement may change over time. It is your responsibility to ensure that calls or requests you makes to the Services are compatible with then-current OpenRouteService APIs. We will endeavor to avoid changes to our APIs that are not backwards compatible, if any such changes become necessary, we will use reasonable efforts to notify you prior to implementation.


    Cookies. We use cookies, system logs and other data storage technologies to (a) preserve information so you will not have to re-enter it during your visit or in subsequent visits; (b) maintain sessions for authenticated users; and (c) monitor aggregate metrics such as total number of visitors and pages viewed. If you disable cookies parts of main website may not work as intended.
    Location Information. allows you to approximate your geographic location, when accessed via (mobile) browser. To provide service, OpenRouteService must record your route information, including your point of origin, the address of your destination, and the route you are instructed to follow. We do not share this aggregated location information or connect this information with your personal information. Currently HTTPS is not supported.
    Information Collection. We do not collect or store any personal information about you or personally identifiable information about you, except what you voluntarily provide through direct contact. We do not share analytic data with any service providers or partners.



    Content is available under Creative Commons Attribution-ShareAlike 2.0 license.
    Version last modified: 11.02.2016