Maps for developers
Maps you can also run yourself
Vector tiles, geocoding and routing from open data. Use our API, or download the same tiles and run them on your own hardware — the licence does not change.
Three products, one dataset
Vector and raster tiles
MVT in the OpenMapTiles schema plus a shortbread variant, and rendered raster for the cases where vector is a nuisance.
Styles and schemas
Geocoding
Forward, reverse and structured search with per-country address parsing, autocomplete under 30 ms, and no separate 'premium' address dataset.
Routing
Car, bike, foot and truck profiles with turn restrictions, live traffic optional, plus matrices and isochrones.
Bulk downloads
The whole planet, a continent or a country — as PMTiles, MBTiles or an OSM extract. Updated daily.
Downloads
Works with your stack
MapLibre, Leaflet, OpenLayers, deck.gl, QGIS and anything that speaks TileJSON. No proprietary SDK required.
Honest attribution
OpenStreetMap contributors and the open datasets we blend in, credited in the style and in the docs.
Two lines to a map
import maplibregl from 'maplibre-gl';
const map = new maplibregl.Map({
container: 'map',
style: 'https://tiles.de-13.123ok.uk/styles/terrain/style.json?key=' + KEY,
center: [13.4, 52.5],
zoom: 11
});# download once, serve forever
curl -O https://dl.de-13.123ok.uk/planet/planet-20260803.pmtiles
# 82 GB
docker run -p 8080:8080 -v $PWD:/data \
cartline/tileserver /data/planet-20260803.pmtilescurl 'https://api.de-13.123ok.uk/route/v1/car/'\
'13.388,52.517;13.397,52.529?steps=true&key='$KEY
# → 1.9 km, 4 min 12 s, 8 manoeuvrescurl 'https://api.de-13.123ok.uk/geocode/v1/search?'\
'q=Alexanderplatz+1+Berlin&limit=3&key='$KEY
# → 3 results, best match confidence 0.94