Maps, places, and routing for your product.
Worldwide tiles, geocoding, and routing on a single API for web and mobile applications.
One map. Every theme.
Switch themes without re-rendering tiles. Light for the day, dark for the night, minimal for dashboards. Same data, same edges, your style. Drop in a one-line JSON URL and MapLibre does the rest.
Drop the style URL into MapLibre.
No re-rendering, no asset pipeline, no tile-server to maintain. Swap themes by swapping URLs.
import maplibregl from 'maplibre-gl'; import { Protocol } from 'pmtiles'; maplibregl.addProtocol('pmtiles', new Protocol().tile); const { url } = await fetch('https://api.rijwind.com/tiles/v1/token', { headers: { Authorization: 'Bearer rw_live_••••' }, }).then((r) => r.json()); const style = await fetch('https://rijwind.com/styles/light.json') .then((r) => r.text()) .then((s) => JSON.parse(s.replace('{{TILE_URL}}', url))); new maplibregl.Map({ container: 'map', style });
Drop in a single request.
Use the language you already ship in. The API speaks plain HTTP. No SDK required, no client library to keep in sync.
curl https://api.rijwind.com/directions/v1 \ -H "Authorization: Bearer rw_live_••••" \ -d '{ "locations": [ { "lat": 52.3676, "lon": 4.9041 }, { "lat": 52.0907, "lon": 5.1214 } ], "costing": "bicycle" }' { "trip": { "summary": { "length": 47.2, "time": 9840 }, "shape": "kxr~Hg{cZ..." } }
Live weather on the map.
Rain radar, temperature, wind particles and pressure from five European model sources, rendered in your browser straight from open data. No tile server behind it, just one file per model run on a CDN.
Start building today.
Try every endpoint on the free tier. Ship to production from €15 a month.