Skip to content

50,000 free calls a month, card-free. Get an API key →

Products / Hosted API

Routing, geocoding and analysis, over one gateway.

Routing, geocoding, matrices, isochrones and optimisation as plain JSON over HTTPS, drop-in compatible with OSRM and Valhalla-style clients.

Diagram: request lines converging into one gateway node, fanning out into map tiles and a road network

One gateway, five kinds of question answered.

Every endpoint below runs against the live gateway at https://api.mapmap.ai, and the same request/response contract runs identically against a self-hosted deployment.

Routing

Turn-by-turn, with truck and ADR costing

POST /route (native JSON, with the ADR extension) and the OSRM-compatible GET /route/v1/{profile}/{coordinates} cover car, truck, bus, bicycle, pedestrian, scooter and motorcycle costing. Declare height, weight and an ADR tunnel code on the truck profile and the restriction shapes the route itself, not a filter applied after the fact.

A real truck route near Manchester with a marker where a declared 4.9 m height constraint was binding, and a card explaining the rationale
Honest answers

Ask why, get a rationale

Add "rationale": true to a route request and the response names which declared constraint changed the route, computed by re-routing with each one relaxed, never guessed by a language model.

A split panel: a real geocode request and response for Deansgate, Manchester beside the map with the returned point marked
Geocoding

Forward and reverse geocoding

GET /geocode turns free text into ranked coordinates; GET /geocode/reverse turns a point back into the nearest address, street or POI, with opening hours and phone where OpenStreetMap carries them.

A four-by-four travel-time matrix table: Stockport, Bury, Altrincham and Rochdale against four Manchester destinations, shaded by minutes from one API call
Matrix

Many-to-many time and distance

POST /matrix scores a grid of sources against targets in one call: duration and distance for every pair, null where a pair is unreachable.

Reach

Reachable-area isochrones

POST /isochrone returns reachability polygons as GeoJSON for a time or distance budget, on foot, by bike or by car, from the same engine that does the routing.

Optimise

Multi-vehicle route optimisation

POST /optimise (also /optimize) plans several vehicles against several stops, with the same truck and ADR constraints as routing, up to the fair-use cap of 200 unique locations per problem.

Compatible

Coordinates in, either way

Bare coordinate pairs are always lon,lat; JSON bodies use named lat/lon fields instead. Distances are metres, durations are seconds. Full conventions are one click away below.

A dimensioned truck route, start to finish.

The first request in the docs, run unmodified: a 44-tonne, 4 m truck carrying an ADR tunnel-code D load, on the OSRM-compatible endpoint.

bash
export BASE=https://api.mapmap.ai
export API_KEY=snk_...

curl "$BASE/route/v1/truck/-0.1276,51.5072;-1.8904,52.4862?height=4.0&weight=44.0&hazmat=true&tunnel_code=D" \
  -H "Authorization: Bearer $API_KEY"
json
{
  "code": "Ok",
  "routes": [
    {
      "distance": 190843.0,
      "duration": 8611.0,
      "weight": 8611.0,
      "weight_name": "duration",
      "geometry": "u{~vFvyys@fS]...",
      "legs": ["..."]
    }
  ],
  "waypoints": [
    { "name": "Victoria Embankment", "location": [-0.1276, 51.5072] },
    { "name": "Corporation Street", "location": [-1.8904, 52.4862] }
  ]
}

geometry is an encoded polyline at precision 5; add ?geometries=geojson for raw GeoJSON.

A terminal card showing a real isochrone response as plain GeoJSON, annotated kepler.gl, QGIS, deck.gl
Export

Straight into your GIS stack

Isochrones, matrices and route reports come back as plain GeoJSON, so results drop into kepler.gl, QGIS or deck.gl rather than a proprietary viewer.

An API key is one call away.

POST /v1/keys issues a provisional key from an email address and acceptance of the terms. Verify the email and the free tier unlocks: 50,000 calls a month, card-free.

Self-hosted deployments run the identical gateway, so the same request shapes, keys and error envelope carry over if you ever move the API onto your own infrastructure.

Ink illustration of a terminal window with a key on a lanyard beside it and isochrone rings spreading across a faint street grid

The docs, not marketing copy.

Every endpoint, parameter and error above is documented in full, with the same examples run against the live gateway.

Point your app at the gateway.

Routing, geocoding, matrix, isochrone and optimisation, all behind one key. 50,000 free calls a month, card-free, no sales call required to start.