routing

OSRM-compatible route endpoint (see module docs).

get/route/v1/{profile}/{coordinates}

Request

  • Base URL: https://api.mapmap.ai
  • URL: https://api.mapmap.ai/route/v1/{profile}/{coordinates}
  • Auth: one of:
    • HTTP bearer
    • API key in query parameter api_key

Path parameters

profilestring required

Routing profile: driving (aliases car/auto), truck, bus, bicycle (bike/cycling), walking (foot/pedestrian), scooter or motorcycle (motorbike)

coordinatesstring required

lon,lat pairs separated by ;, e.g. -0.1,51.5;-1.9,52.5

Query parameters

alternativesstring

true, false or a number of alternates (max 3)

stepsboolean

Include turn-by-turn steps (default false). Each step carries speedLimitSign (vienna or mutcd), speedLimitUnit (km/h or mph), driving_side, and where the map knows them country (ISO 3166-1 alpha-2), subdivision (ISO 3166-2), ref (route numbers only, ; separated) and road_class, all for the road the step starts on

annotationsstring

maxspeed (alone or in a comma-separated list) adds annotation.maxspeed[] to each leg: one entry per geometry segment, {"speed":30,"unit":"mph"} in the ROAD's own unit (mph in GB, IM, JE, GG, US, PR, GU, VI; km/h elsewhere), {"unknown":true} or {"none":true}, plus "type":"national" on a GB national speed limit where the map carries it. Other annotation names are ignored

geometriesstring

polyline (default), polyline6 or geojson

overviewstring

simplified (default), full or false

avoid_tollsboolean

Avoid toll roads (Valhalla use_tolls=0; motorised profiles only). Hosted gateway only: the public demo router ignores it

avoid_motorwaysboolean

Avoid motorways/highways (Valhalla use_highways=0; motorised profiles only). Hosted gateway only

avoid_ferriesboolean

Avoid ferries (Valhalla use_ferry=0; all profiles). Hosted gateway only

avoidstring

Comma-separated road features to PREFER against: tolls, highways, ferries (the same vocabulary as POST /route's avoid array). Renders as the profile's use_* factor set to 0, which the routing engine's own reference states is not guaranteed to avoid them entirely. tolls/highways are motorised-profile only; a value the engine has no field for on the requested profile is an InvalidValue rather than a silently ignored option

excludestring

Comma-separated road features to HARD-exclude: tolls, highways, ferries, bridges, tunnels. Renders as the profile's exclude_* boolean: allowed only at the very start or end of the path, so it can answer NoRoute rather than a detour, and it depends on the routing engine's own service_limits.allow_hard_exclusions setting

shortestboolean

Prefer the shortest path over the fastest (Valhalla shortest=true; all profiles). Hosted gateway only

voice_instructionsboolean

With steps=true: add Mapbox-shaped voiceInstructions (plain + SSML, distance-triggered) to each step

banner_instructionsboolean

With steps=true: add Mapbox-shaped bannerInstructions (and lane sub-banners where OSM has turn:lanes) to each step

landmarksboolean

With steps=true: add a landmark_instruction to each step that passes a recognisable place ("Turn right just after the Shell garage") beside the step's own fields, which are never replaced. Nothing is named unless it is recognisable from the road, within 40 m of the junction and not tagged as closed, so many steps carry none. Needs the first-party place index (SN_GEOCODE_DIR); a deployment without one returns no landmarks

languagestring

BCP 47 narration language, e.g. en-GB, es-ES (also sets the route voiceLocale)

heightnumber double

Vendor: vehicle height in metres (truck profile)

widthnumber double

Vendor: vehicle width in metres (truck profile)

lengthnumber double

Vendor: vehicle length in metres (truck profile)

weightnumber double

Vendor: gross weight in tonnes (truck profile)

hazmatboolean

Vendor: carrying dangerous goods (truck profile)

tunnel_codestring

Vendor: ADR 8.6.4 tunnel restriction code, e.g. B/D (truck profile; implies hazmat)

use_litnumber double

Vendor: preference for lit streets, 0–1 (walking profile; 1 = prefer lit as strongly as possible)

pedestrian_typestring

Vendor: wheelchair (avoids steps/kerbs/steep grades where mapped) or blind (richer guidance); Valhalla pedestrian type (walking profile)

max_hiking_difficultyinteger

Vendor: maximum hiking-trail difficulty, OSM sac_scale 1–6 (walking profile; default 1)

bicycle_typestring

Vendor: road, hybrid (default), city, cross or mountain (bicycle profile)

use_roadsnumber double

Vendor: willingness to ride roads alongside traffic, 0–1 (bicycle profile; 0 = prefer cycleways)

use_living_streetsnumber double

Vendor: preference for living/shared streets, 0–1 (bicycle profile)

avoid_bad_surfacesnumber double

Vendor: avoidance of surfaces unsuited to the bicycle type, 0–1 (bicycle profile; 1 = strictly avoid)

use_hillsnumber double

Vendor: willingness to take hills, 0–1 (bicycle profile; 0 = avoid climbs)

depart_atstring

Time-dependent routing: specified departure time, ISO 8601 YYYY-MM-DDThh:mm local (Valhalla date_time.type=1). Mutually exclusive with arrive_by

arrive_bystring

Time-dependent routing: specified arrival time, ISO 8601 YYYY-MM-DDThh:mm local (Valhalla date_time.type=2). Mutually exclusive with depart_at

speed_typesstring

Comma-separated speed sources to use: freeflow, constrained, predicted, current (Valhalla costing_options.<costing>.speed_types)

approachesstring

Curbside preference per coordinate, ;-separated: curb (Valhalla preferred_side=same) or unrestricted (either); empty entry = no preference. Must have one entry per coordinate

street_side_toleranceinteger

Curbside: street_side_tolerance in metres, applied to every location (Valhalla default 5)

street_side_max_distanceinteger

Curbside: street_side_max_distance in metres, applied to every location (Valhalla default 1000)

street_side_cutoffstring

Curbside: street_side_cutoff road class (motorway…service_other), applied to every location

exclude_polygonsstring

Avoid-areas: JSON array of [lon, lat] rings, e.g. [[[-0.1,51.5],[-0.11,51.5],[-0.11,51.52]]] (Valhalla exclude_polygons)

exclude_locationsstring

Avoid-locations: lon,lat pairs separated by ; (Valhalla exclude_locations)

safety_alertsboolean

Opt-in route safety alerts: true adds a top-level safety_alerts[] array (speed cameras, average-speed zones, French danger zones, railway level crossings along the primary route, ordered by distance along it) behind the per-country legality gate. Only effective on gateways where the operator configured SN_SAFETY_DIR; the field never appears otherwise

safety_alerts_enforcementstring

optin asserts the END USER explicitly enabled enforcement alerts, unlocking countries whose law requires them off by default (e.g. DE: StVO §23(1c) is a driver-use ban). Without it those countries' cameras/zones are suppressed; forbidden and zones-only regimes are unaffected (never unlockable)

Response

OSRM route response (code: Ok)

object required

Changes

No recorded changes to this operation across all 1 revision of this API.