OSRM-compatible route endpoint (see module docs).
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
Routing profile: driving (aliases car/auto), truck, bus, bicycle (bike/cycling), walking (foot/pedestrian), scooter or motorcycle (motorbike)
lon,lat pairs separated by ;, e.g. -0.1,51.5;-1.9,52.5
Query parameters
true, false or a number of alternates (max 3)
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
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
polyline (default), polyline6 or geojson
simplified (default), full or false
Avoid toll roads (Valhalla use_tolls=0; motorised profiles only). Hosted gateway only: the public demo router ignores it
Avoid motorways/highways (Valhalla use_highways=0; motorised profiles only). Hosted gateway only
Avoid ferries (Valhalla use_ferry=0; all profiles). Hosted gateway only
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
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
Prefer the shortest path over the fastest (Valhalla shortest=true; all profiles). Hosted gateway only
With steps=true: add Mapbox-shaped voiceInstructions (plain + SSML, distance-triggered) to each step
With steps=true: add Mapbox-shaped bannerInstructions (and lane sub-banners where OSM has turn:lanes) to each step
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
BCP 47 narration language, e.g. en-GB, es-ES (also sets the route voiceLocale)
Vendor: vehicle height in metres (truck profile)
Vendor: vehicle width in metres (truck profile)
Vendor: vehicle length in metres (truck profile)
Vendor: gross weight in tonnes (truck profile)
Vendor: carrying dangerous goods (truck profile)
Vendor: ADR 8.6.4 tunnel restriction code, e.g. B/D (truck profile; implies hazmat)
Vendor: preference for lit streets, 0–1 (walking profile; 1 = prefer lit as strongly as possible)
Vendor: wheelchair (avoids steps/kerbs/steep grades where mapped) or blind (richer guidance); Valhalla pedestrian type (walking profile)
Vendor: maximum hiking-trail difficulty, OSM sac_scale 1–6 (walking profile; default 1)
Vendor: road, hybrid (default), city, cross or mountain (bicycle profile)
Vendor: willingness to ride roads alongside traffic, 0–1 (bicycle profile; 0 = prefer cycleways)
Vendor: preference for living/shared streets, 0–1 (bicycle profile)
Vendor: avoidance of surfaces unsuited to the bicycle type, 0–1 (bicycle profile; 1 = strictly avoid)
Vendor: willingness to take hills, 0–1 (bicycle profile; 0 = avoid climbs)
Time-dependent routing: specified departure time, ISO 8601 YYYY-MM-DDThh:mm local (Valhalla date_time.type=1). Mutually exclusive with arrive_by
Time-dependent routing: specified arrival time, ISO 8601 YYYY-MM-DDThh:mm local (Valhalla date_time.type=2). Mutually exclusive with depart_at
Comma-separated speed sources to use: freeflow, constrained, predicted, current (Valhalla costing_options.<costing>.speed_types)
Curbside preference per coordinate, ;-separated: curb (Valhalla preferred_side=same) or unrestricted (either); empty entry = no preference. Must have one entry per coordinate
Curbside: street_side_tolerance in metres, applied to every location (Valhalla default 5)
Curbside: street_side_max_distance in metres, applied to every location (Valhalla default 1000)
Curbside: street_side_cutoff road class (motorway…service_other), applied to every location
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)
Avoid-locations: lon,lat pairs separated by ; (Valhalla exclude_locations)
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
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)
Changes
No recorded changes to this operation across all 1 revision of this API.