Documentation menu
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:36What 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.
Your first map in 3 minutes
3:15From 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:28Sign 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:37Everything 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:01One curl call, a real two hundred, and the response read line by line: distance, duration, and the encoded polyline decoded onto a map.
Truck routing: dimensions that reroute
1:39A forty-four tonne artic from Dover to Birmingham. Change one number, the height, and the route moves away from a restricted structure.
ADR dangerous goods: the tunnel block
1:42A 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.
Isochrones: how far in fifteen minutes?
1:03The 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.
Travel-time matrices: which depot is actually nearest?
1:13Southend 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.
Search along a route: what the stop actually costs
1:09A 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.
plan_day: an itinerary becomes a route
1:37Five 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:48Eleven 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.
Safety cameras, gated by law before data
1:04The 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.
Meet in the middle, and other route primitives
1:31Three 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.
Search and geocoding
Search: type it in any language
1:14Any 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.
Maps and map data
Satellite and traffic, one toggle each
1:08Two 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.
Click anything: what's here
1:10Sixty-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.
Static map images, no key
1:14One 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.
Studio
Studio tour: design, test, publish
3:03Studio 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.
Restyle a map in 60 seconds
1:09Nineteen 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.
Test-drive your style: the Navigation tab
1:26Route 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.
Publish, then use it in the SDK
1:32One 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.
Fonts, labels and POI visibility
1:26Fourteen 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.
Agents
Wire an agent to MapMap in 2 minutes
2:20One 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:50No 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.
An agent routes a truck, and refuses the tunnel
1:46A 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:41Ten 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:31It 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:45One 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.
A geo-hallucination firewall
1:52As 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.
Web SDK
Build a store locator with the Web SDK
4:213,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.
Migrating from Mapbox GL JS or the Google Maps JavaScript API
3:29The 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.
The Figma plugin: design on real map data
1:32All 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.
Navigation
The nav app: turn-by-turn on MapMap
1:55The 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:34Bristol 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:35Buildings 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:15The 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:07Three 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:047.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:24A 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:29Four 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.
Self-host sizing, and what runs where
1:59Two 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:28Fifty 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.
Showcase
London, in 3D, in your browser
2:17LIDAR 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:13Buses 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:25Columbus 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:14The 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.