Hosted in The Netherlands

Maps, places, and routing for your product.

Worldwide tiles, geocoding, and routing on a single API for web and mobile applications.

GET /geocode/autocomplete
Live
Damrak 1, Amst
Damrak 1
1012 LG · Centrum
52.37° N
Damrak 100
1012 LM · Centrum
Damrak 80
1012 LK · Centrum
Central Park
N
1 km
POST /directions/v1
200 · 18 ms
Amsterdam → Utrecht
via F2 · 3 turns
Distance
47.2 km
Duration
2h 44m
Profile
bike
POST /isochrone/v1
86 ms
Reachable within 5 / 10 / 15 / 20 min
2015105
Bike · weekday 10:004 bands
KNMI Harmonie
Live
Temp
Wind
Rain
−10°10°30°C

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.

Light · default
Dark
/styles/dark.json
Grayscale
/styles/grayscale.json
White
/styles/white.json
Coming soon
Custom
bring your own colors
Soon

Drop the style URL into MapLibre.

No re-rendering, no asset pipeline, no tile-server to maintain. Swap themes by swapping URLs.

map.tsx
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.

POST · /directions/v1
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..."
  }
}
Worldwide map data
Every country, every continent. Refreshed weekly.
Plain HTTP, no SDK
Curl, fetch, anything that speaks JSON.
Hosted in the Netherlands
Owned-and-operated EU infrastructure.
Predictable monthly bill
One counter. Alerts at 80% and 100%.
New · Weather

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.