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

Documentation menu
docs / videos
Video library

Watch it done

47 short videos covering the platform end to end: your first map, the routing and analysis APIs, search, Studio, the Web SDK, turn-by-turn, wiring an agent, and running the whole stack yourself. Each one is also embedded on the documentation page it explains.

Getting started

MapMap in 90 seconds

1:36

What MapMap is, in ninety seconds: a routed map, a truck rerouting around a low bridge, an agent calling the tools, a map restyled in the browser, and the whole stack running on your own hardware.

On Docs overview

Your first map in 3 minutes

3:15

From an empty folder to a live map with a real route on it. One package, one key, a few lines of TypeScript, all copy-paste from the docs.

On Quickstart

Get an API key

1:28

Sign up, get a key issued on the spot, make your first call, and see the usage appear in your account. Fifty thousand requests a month, no card.

On Quickstart

Playground tour

2:37

Everything the playground does without signing up: preset journeys, five travel modes, live request and response, click-to-route, and a link that reproduces your exact setup.

On Playground

Routing and APIs

Your first route with curl

2:01

One curl call, a real two hundred, and the response read line by line: distance, duration, and the encoded polyline decoded onto a map.

On API reference

Truck routing: dimensions that reroute

1:39

A forty-four tonne artic from Dover to Birmingham. Change one number, the height, and the route moves away from a restricted structure.

On API reference

ADR dangerous goods: the tunnel block

1:42

A dangerous-goods load asks one question under ADR 8.6.4: may it enter that tunnel. The answer comes back blocked, in red, with the reason alongside it.

On API reference

Isochrones: how far in fifteen minutes?

1:03

The same fifteen minutes from one Manchester centre drawn three ways: 3.6 square kilometres on foot, 35.3 by bike, 271.9 by car. The contours follow roads, not a radius.

On Analysis APIs

Travel-time matrices: which depot is actually nearest?

1:13

Southend is 11.1 km away in a straight line and 58 minutes by road. Rochester is 15.5 km away and 21 minutes. The ranking reverses, and the estuary is why.

On Analysis APIs

Search along a route: what the stop actually costs

1:09

A coffee stop 559 m off the London to Birmingham route, priced by the routing engine at 1.4 km and 3.8 minutes of detour rather than by its distance from the line.

On Analysis APIs

plan_day: an itinerary becomes a route

1:37

Five stops with their dwell times in, one 88.3 km loop with clock-time arrivals out, back at the start at 12:35. Asking it to optimise the order returns a 503 on this deployment.

On MCP server

Elevation, and the grade that matters

1:48

Eleven and a half kilometres and five hundred and thirty nine metres of climb. Grade is averaged over the spacing you ask for, so the steepest number moves with the interval.

On API reference

Safety cameras, gated by law before data

1:04

The first object in the response is a legal decision, not a camera, then 83 real cameras on one route. Only GB data is loaded, so no live call can return the omitted mode.

On Analysis APIs

Meet in the middle, and other route primitives

1:31

Three real starts, three routes, one shared coordinate: 119 minutes against the midpoint's 157. The endpoint's own durations come back at half the real ones, so the film reads its minutes elsewhere.

On API reference

Search and geocoding

Search: type it in any language

1:14

Any script goes in and the accents fold away. Scored on twenty English city names, three land in the right country without the language parameter and twenty land right with it.

On API reference

Maps and map data

Satellite and traffic, one toggle each

1:08

Two header buttons, both measured before they were scripted. Satellite moves 84 per cent of the map's pixels over Rotterdam. Traffic is Netherlands flow plus UK closures and nothing else.

On Maps, tiles & Studio

Click anything: what's here

1:10

Sixty-five clicks, sixty-five popups with the right title, seven with any extra detail. The address line is the nearest reverse hit, so in dense retail it names the shop next door.

On Maps, tiles & Studio

Static map images, no key

1:14

One curl with no credential in it returns a real PNG, and a route polyline or a boundary polygon pipes straight into the same call. Rate limited rather than metered.

On API reference

Studio

Studio tour: design, test, publish

3:03

Studio end to end. Recolour the map, design the navigation look, drive the route with a tilted chase camera, then publish and copy the hosted style URL.

On Maps, tiles & Studio

Restyle a map in 60 seconds

1:09

Nineteen palette slots, live in the browser. Give the water your brand blue, warm the major roads, name the theme, and publish a hosted style URL.

On Maps, tiles & Studio

Test-drive your style: the Navigation tab

1:26

Route line, puck, banner and lane row, each landing on a real route in the same frame as its control, then a chase-camera drive. The lane diagram flag draws nothing in the preview.

On Maps, tiles & Studio

Publish, then use it in the SDK

1:32

One publish, three URLs: a latest, a pinned version that is immutable, and the theme. The style carries your colours and not your navigation design; that lives on the theme URL.

On Maps, tiles & Studio

Fonts, labels and POI visibility

1:26

Fourteen font families, seven label types that can break away from the theme font, nine label layers and one POI switch. The POI category colours save but never repaint the preview.

On Maps, tiles & Studio

Agents

Wire an agent to MapMap in 2 minutes

2:20

One command adds the MCP server. The agent provisions its own key, picks up the whole tool set, and routes a dangerous-goods truck from a chat prompt.

On MCP server

x402: your agent pays per call

2:50

No card, no signup. The agent hits a 402, pays fifteen thousandths of a dollar in USDC on Base, and gets its route. The settled transaction is on chain.

On Machine payments (x402)

An agent routes a truck, and refuses the tunnel

1:46

A 44 tonne hazmat artic through the tunnel at 7,903 m undeclared and around it at 9,456 m declared. It is the hazmat flag that moves the route, not the tunnel category code.

On MCP server

Skills: teach your agent to build with MapMap

1:41

Ten Markdown files, 1,438 lines, no code. Two entirely reasonable calls that earn a 400 without them, and the same job answering 200 with them.

On Agent skills

An agent plans your day

1:31

It spots a stop that came back ambiguous and pins the coordinates, then measures a second order when optimisation returns a 503. One alternative order measured, not a solved tour.

On MCP server

Report a map error, an agent answers

1:45

One real report on a real closure, answered in public by the triage agent in under a minute with its evidence and a suggested fix. The verdict was needs evidence, not confirmed.

On Analysis APIs

A geo-hallucination firewall

1:52

As free text a model's own recommendation marks a pub verified 846 km away in Norway. Sent as structured claims with a locality, all five land in Wakefield. Unverified means unknown, not false.

On API reference

Web SDK

Build a store locator with the Web SDK

4:21

3,513 real UK library branches out of an OpenStreetMap extract, clustered, nearest five found, then a real 3,521 m route. Nearest is a straight line, and the film shows why that matters.

On SDKs & installation

Migrating from Mapbox GL JS or the Google Maps JavaScript API

3:29

The same depot map ported twice, with both diffs on screen. A symbol layer ported verbatim carries no text-font, and the labels quietly change typeface as a result.

On SDKs & installation

The Figma plugin: design on real map data

1:32

All three blockers cleared and proved on camera, and the plugin's search run end to end with no key set. The plugin's source has been lost, so this runs the shipped bundle in a browser.

On SDKs & installation

Navigation

The nav app: turn-by-turn on MapMap

1:55

The Android build booting, the product page, and the screen-pinned-puck lesson out of the boilerplate. The app cannot be opened without issuing a key, and the daily cap was spent.

On MapMap Nav

Turn-by-turn in the browser

2:34

Bristol to Bath through the published package, keyless: banner, lanes, puck and chase camera off one real route response. The language parameter has no default anywhere in the stack.

On MapMap Nav

Navigation you can always see

1:35

Buildings and canopies dissolving on the sightline, a window along the next two hundred metres, and an x-ray line for the landmarks that never give way. Nothing drops below 28 per cent visible.

On 3D demos

Studio-grade voice guidance

1:15

The 3D drive with its real pre-generated clips playing at the distances the live client asks for them. Nine clips ship on this corridor and eight of them speak.

On MapMap Nav

Landmark directions

1:07

Three consecutive turns on a live Manchester route read just after a named landmark. Five of the eight eligible turns get nothing, and the phrase comes from a second call, not the route.

On MapMap Nav

Lane guidance

1:04

7.1 km through Reading, fifteen turns, five lane diagrams. Where OpenStreetMap has no lane tagging there is no diagram at all, and the 3D beats at the end are a hard-coded window.

On MapMap Nav

Self-host

docker compose up: a whole maps stack

2:24

A bare box to a working maps stack. Tiles built in seconds, health green, a key issued, a truck route with ADR returned. Then the internet is cut and it keeps routing.

On Self-hosting

Territory packages and OTA updates

2:29

Four layers, four BLAKE3 hashes, one signature. A second version writes one blob and shares three, and a device swaps atomically after fetching 169,213 bytes of it.

On Territory packages & OTA updates

Self-host sizing, and what runs where

1:59

Two containers and two required settings. Routing engine 58.6 MiB at rest and 80.4 under load, gateway 18.5 MiB. Every measured figure is Monaco; the UK numbers are documentation.

On Self-hosting

Account and billing

Plans, quotas and the 402

1:28

Fifty thousand of fifty thousand, then the wall: a 429 without a payment rail, a 402 with one, a 200 after credit. A truck or ADR call draws twenty units, not one.

On Machine payments (x402)

Showcase

London, in 3D, in your browser

2:17

LIDAR heights, surveyed trees, generated facades and four times of day, in a browser tab with no plugin. Live feeds were blocked for this capture on purpose.

On 3D demos

The live city

1:13

Buses on their real lanes, arrival boards on real poles, vessels on the Thames, and the same machinery on New York's feed. Fixes are thirty to ninety seconds old, so a vehicle is an anchor.

On 3D demos

Manhattan

1:25

Columbus Circle to the Chrysler Building through 5,121 buildings. The router chose the line: Broadway through Times Square is pedestrianised and 7th onto 42nd is a banned left.

On 3D demos

What a head unit needs that a phone does not

2:14

The drive at 1920 by 720 in a dashboard bezel, and the four elements deleted to put it there. Cluster mode never touches the renderer, and this has never run on real head-unit hardware.

On CarPlay & Android Auto