Skip to content

Getting route with OSRM

API call for getting the route to destination point using OSRM API.

API actions

API path: /route/osrm.

get

Gets route points via OSRM API.

Parameters

name description type
start Location JSON object. Start of route. JSON object
end Location JSON object. End of route. JSON object
waypoints Optional. List of transitional points. [{locationA},{locationN}]. array of JSON objects
point_limit Optional. If specified, the returned route will be simplified to contain this number of points (or less). Min=2. int

Where location described in data types description section.

Examples

curl -X POST 'https://api.navixy.com/v2/route/osrm/get' \
    -H 'Content-Type: application/json' \
    -d '{"hash": "22eac1c27af4be7b9d04da2ce1af111b", "start": {34.178868, "lng": -118.599672}, "end": {35.365948, "lng": -108.112104}}'

Response

{
    "success": true,
    "distance": 1340584,
    "time": 43500,
    "list": [{"lat": 34.178868, "lng": -118.599672}, {"lat": 31.738386, "lng": -106.453854}],
    "key_points": [{
      "id": 123,
      "lat": 35.365948,
      "lng": -108.112104
    }] 
}
  • distance - int. Length in meters.
  • time - int. Duration in seconds.
  • list - list of route points. Location objects.
  • key_points - list of points corresponding to start point, waypoints and end point (in that sequence).
    • id - int. index in points list.
    • lat - float. Latitude.
    • lng - float. Longitude.

Errors

  • 215 - External service error.
  • 218 - Malformed external service parameters.

    {
        "success": false,
        "status": {
            "code": 218,
            "description": "Malformed external service parameters"
        },
        "errors": [
            {
                "status": "NOT_FOUND",
                "status_code": 207,
                "message": "Cannot find route between points"
            }
        ]
    }
    
    • status - enum.
      • NOT_FOUND – indicates at least one of the locations specified in the request's origin, destination, or waypoints could not be geocoded, or OSRM cannot find route.
      • UNKNOWN_ERROR – unexpected OSRM error code.
    • status_code - int. OSRM status code (don't rely on it).
    • message - string. OSRM error message (don't rely on it).
  • 236 - Feature unavailable due to tariff restrictions – if there is at least one tracker without "routing" tariff feature.


Last update: October 16, 2024