Documentation
Tile endpoints, the geocoding and routing APIs, and how to run the whole thing on your own hardware.
Endpoints
bash
# vector tiles
https://tiles.de-13.123ok.uk/v1/omt/{z}/{x}/{y}.mvt?key=KEY
# raster
https://tiles.de-13.123ok.uk/v1/raster/{z}/{x}/{y}@2x.webp?key=KEY
# TileJSON
https://tiles.de-13.123ok.uk/v1/omt.json?key=KEYStyles
Six published styles, all editable — fork the JSON, change what you like, host it yourself or let us serve it.
| Style | Best for | Dark variant |
|---|---|---|
streets | general purpose | yes |
terrain | outdoor, hiking | yes |
minimal | data overlays | yes |
satellite-hybrid | imagery with labels | no |
transit | public transport | yes |
print | high-contrast static output | no |
Caching
Tiles are served with a 30-day max-age and a strong ETag. Cache them at the edge, in the browser, in your app — we would rather you did.
There is no anti-caching clause in the terms. If you want to put a CDN in front of us and serve a million views from one tile request, that is a sensible thing to do and it is allowed.
Geocoding
bash
GET /geocode/v1/search?q=…&limit=5&lang=de&bias=13.4,52.5
GET /geocode/v1/reverse?lat=52.5&lon=13.4&layers=address,poi
GET /geocode/v1/structured?street=…&number=…&city=…&country=DERouting
bash
GET /route/v1/{profile}/{coordinates}?steps=true&alternatives=2
GET /matrix/v1/{profile}/{coordinates}?sources=0&destinations=all
POST /route/v1/optimise # up to 200 stopsIsochrones
Time or distance contours, returned as GeoJSON polygons, up to eight bands per request.
PMTiles
A single-file tile archive readable over HTTP range requests. Put the file on any static host — object storage, a CDN, a USB stick — and it works without a tile server.
bash
# serve straight from object storage, no server needed
https://your-bucket.example/planet-20260803.pmtiles
# MapLibre reads it directly with the pmtiles protocol
protocol://https://your-bucket.example/planet.pmtilesContainers
bash
docker compose up -d # tileserver + nominatim-style geocoder + osrm
# resource guidance for a planet install
# tiles : 120 GB disk, 4 GB RAM
# geocoding : 900 GB disk, 64 GB RAM
# routing : 400 GB disk, 128 GB RAM per profile