Directions
Point-to-point routes with geometry and turn instructions.
Route between two points
The simplest form: a start and an end, as lon,lat. Returns GeoJSON.
This is the one endpoint that accepts the key as a query parameter, because that is how openrouteservice's own GET form works.
path Parameters
profileThe routing profile. driving-car is the only profile served. Any other value
returns the engine's own error, the same one hosted openrouteservice returns for a
profile it does not carry.
query Parameters
startStart coordinate as lon,lat.
endEnd coordinate as lon,lat.
Headers
AuthorizationThe Authorization header is used to authenticate with the API using your API key. Value is of the format Bearer YOUR_KEY_HERE.
Route between two points › Responses
A route, as GeoJSON.
Route with full options
Returns JSON with an encoded polyline geometry.
Cost: 10 elements per request, regardless of the number of waypoints. Approved as a launch default on 2026-09-04.
Limits today: up to 50 waypoints, and a maximum total route distance enforced by the
engine. Exceeding either returns the engine's own 2004 error naming the limit.
path Parameters
profileThe routing profile. driving-car is the only profile served. Any other value
returns the engine's own error, the same one hosted openrouteservice returns for a
profile it does not carry.
Headers
AuthorizationThe Authorization header is used to authenticate with the API using your API key. Value is of the format Bearer YOUR_KEY_HERE.
Route with full options › Request Body
coordinatesThe waypoints, in order, starting at the origin.
preferenceunitslanguageLanguage for turn instructions.
instructionsInclude turn-by-turn instructions. Default true.
instructions_formatgeometryInclude the route geometry. Default true.
geometry_simplifyelevationextra_infoattributescontinue_straightalternative_routesRequest alternative routes.
optionsAdvanced routing options such as avoid_features or avoid_polygons.
Note: requests carrying options are computed in the engine's flexible mode,
which bypasses its speed-up structures and is roughly ten times more expensive. The
engine applies a much smaller size limit to them.
radiusesbearingsmaximum_speedsuppress_warningsidRoute with full options › Responses
The computed route.
bboxThe engine's metadata block, passed through unchanged, plus our added element count.
Route, JSON form
Identical to POST /v2/directions/{profile}, with the format named explicitly.
path Parameters
profileThe routing profile. driving-car is the only profile served. Any other value
returns the engine's own error, the same one hosted openrouteservice returns for a
profile it does not carry.
Headers
AuthorizationThe Authorization header is used to authenticate with the API using your API key. Value is of the format Bearer YOUR_KEY_HERE.
Route, JSON form › Request Body
coordinatesThe waypoints, in order, starting at the origin.
preferenceunitslanguageLanguage for turn instructions.
instructionsInclude turn-by-turn instructions. Default true.
instructions_formatgeometryInclude the route geometry. Default true.
geometry_simplifyelevationextra_infoattributescontinue_straightalternative_routesRequest alternative routes.
optionsAdvanced routing options such as avoid_features or avoid_polygons.
Note: requests carrying options are computed in the engine's flexible mode,
which bypasses its speed-up structures and is roughly ten times more expensive. The
engine applies a much smaller size limit to them.
radiusesbearingsmaximum_speedsuppress_warningsidRoute, JSON form › Responses
The computed route.
bboxThe engine's metadata block, passed through unchanged, plus our added element count.
Route, GeoJSON form
The same route as a GeoJSON FeatureCollection, with decoded geometry — the convenient
form for map libraries.
path Parameters
profileThe routing profile. driving-car is the only profile served. Any other value
returns the engine's own error, the same one hosted openrouteservice returns for a
profile it does not carry.
Headers
AuthorizationThe Authorization header is used to authenticate with the API using your API key. Value is of the format Bearer YOUR_KEY_HERE.
Route, GeoJSON form › Request Body
coordinatesThe waypoints, in order, starting at the origin.
preferenceunitslanguageLanguage for turn instructions.
instructionsInclude turn-by-turn instructions. Default true.
instructions_formatgeometryInclude the route geometry. Default true.
geometry_simplifyelevationextra_infoattributescontinue_straightalternative_routesRequest alternative routes.
optionsAdvanced routing options such as avoid_features or avoid_polygons.
Note: requests carrying options are computed in the engine's flexible mode,
which bypasses its speed-up structures and is roughly ten times more expensive. The
engine applies a much smaller size limit to them.
radiusesbearingsmaximum_speedsuppress_warningsidRoute, GeoJSON form › Responses
The computed route, as GeoJSON.
Route, GPX form
The same route as GPX XML.
Note this response is not JSON, so it carries no added element count. The attribution travels in the GPX metadata, as the engine emits it.
path Parameters
profileThe routing profile. driving-car is the only profile served. Any other value
returns the engine's own error, the same one hosted openrouteservice returns for a
profile it does not carry.
Headers
AuthorizationThe Authorization header is used to authenticate with the API using your API key. Value is of the format Bearer YOUR_KEY_HERE.
Route, GPX form › Request Body
coordinatesThe waypoints, in order, starting at the origin.
preferenceunitslanguageLanguage for turn instructions.
instructionsInclude turn-by-turn instructions. Default true.
instructions_formatgeometryInclude the route geometry. Default true.
geometry_simplifyelevationextra_infoattributescontinue_straightalternative_routesRequest alternative routes.
optionsAdvanced routing options such as avoid_features or avoid_polygons.
Note: requests carrying options are computed in the engine's flexible mode,
which bypasses its speed-up structures and is roughly ten times more expensive. The
engine applies a much smaller size limit to them.
radiusesbearingsmaximum_speedsuppress_warningsidRoute, GPX form › Responses
The computed route, as GPX.