
Verkeersborden en bereikbaarheidskaart (NDW)
Het Nationaal Dataportaal Wegverkeer houdt een landelijk bestand bij van verkeersborden: per bord de RVV-code (A1 voor een snelheidslimiet, C22a voor een milieuzone …), onderborden, kant van de weg, het NWB-wegvak, gemeente, verkeersbesluit en sinds wanneer het bord gezien is. Alleen al in Amsterdam stonden er op 16 oktober 2026 97.175 borden in. De verkeersborden-API v4 geeft het actuele beeld (dagelijks bijgewerkt) en alle wijzigingen; het hele bestand is ook te downloaden. Daarnaast een bereikbaarheidskaart die per gemeente berekent welke wegen open zijn voor een voertuig met bepaalde afmetingen, nog in bèta.

Verkeersborden C22a (milieuzone) per gemeente: het meest Amsterdam (91 borden), dan Rotterdam en Arnhem
Verkeersborden C22a (milieuzone) per gemeente, oktober 2026, in borden. Totaal: 615; de grootste 12 van 64 categorieën staan in de grafiek. Amsterdam is 15% van het totaal. Alle borden met RVV-code C22a in het actuele beeld (status geplaatst). Dit telt borden, geen zones: een zone heeft een bord bij elke ingang. Gemeentenamen zoals NDW ze geeft ('s-Gravenhage = Den Haag).
Wat je ermee kunt bouwen1
Wat kun je ermee?4 ideeën
Waar begint de milieuzone?
Er staan 615 borden C22a (milieuzone) in 64 gemeenten; Amsterdam heeft er 91, Rotterdam en Arnhem elk 73. Zet ze op de kaart en je ziet de grens van elke zone.
Hoeveel borden staan er in jouw gemeente?
Vraag het actuele beeld op met countyCode (bv. GM0599 voor Rotterdam) en tel per RVV-code.
Van bord naar verkeersbesluit
Een deel van de borden heeft een trafficOrderUrl zoals gmb-2024-403036: het verkeersbesluit in het Gemeenteblad. Zo controleer je of er voor elk bord een besluit is.
Wat verandert er op straat?
De events-dienst geeft elke gepubliceerde wijziging met een tijdstempel, ook borden die zijn weggehaald (status REMOVED). Volg zo een gemeente die naar 30 km per uur overstapt.
Zo verwerk je het4 stappen
Altijd filteren
current-state zonder filter geeft het hele land. Alleen rvvCode=A1 is al 97 MB, Amsterdam 56 MB. Filter op rvvCode, countyCode, roadAuthorityType (R, P, G, W, T), status of bbox. Een onbekende parameter wordt stil genegeerd.
https://wegkenmerken.ndw.nu/api/rest/static-road-data/traffic-signs/v4/current-state?rvvCode=C22a&countyCode=GM0363
Wijzigingen bijhouden
events geeft maximaal 100 wijzigingen per keer, oudste eerst. offset is een tijdstempel: geef het tijdstip van de laatste ontvangen wijziging mee om verder te lezen.
https://wegkenmerken.ndw.nu/api/rest/static-road-data/traffic-signs/v4/events?limit=100&countyCode=GM0363
Het hele bestand
Het actuele beeld als CSV (246 MB gezipt) of GeoJSON in RD en in graden, op opendata.ndw.nu.
https://opendata.ndw.nu/verkeersborden_actueel_beeld.csv.gz
Bereikbaarheidskaart (bèta)
GET municipalities geeft de 342 gemeenten met hun grenzen; POST accessibility.geojson met voertuigkenmerken en een gemeente geeft de wegvakken die wel en niet toegankelijk zijn. Volgens de beschrijving alleen bedoeld voor wegbeheerders.
https://data.ndw.nu/api/rest/static-road-data/accessibility-map/v2/municipalities
Interessante koppelingen


Welke snelheid geldt op welk wegvak?
Koppel de A1-borden (snelheidslimiet) via roadSectionId aan de wegvakken van het NWB en kleur het wegennet op de limiet.


Borden per inwoner
Tel per gemeente de borden en deel door het aantal inwoners uit de CBS-cijfers. Grote verschillen zeggen ook iets over hoe volledig een gemeente is ingewonnen.
Vergelijkbare bronnen
OpenStreetMapOSM heeft maximumsnelheden en toegangsregels als kenmerk van de weg, ingevoerd door vrijwilligers; NDW heeft de borden zelf, met foto en verkeersbesluit.
Nationaal Wegenbestand (NWB) en weggegevensHet wegennet zelf; WEGGEG heeft maximumsnelheden alleen voor rijkswegen. De verkeersborden gelden voor alle wegen.
NDW actuele verkeersgegevensLive snelheden en intensiteiten van hetzelfde portaal; dit is de statische kant van de weg.
Waar je op moet letten
- Bèta en zonder rechten
De bereikbaarheidskaart is volgens de eigen beschrijving in bèta, alleen bedoeld voor wegbeheerders, en er kunnen geen rechten aan worden ontleend. De situatie op straat gaat altijd voor.
- Niet gevalideerd
Alle 615 milieuzoneborden hadden validated = n. De borden komen uit inwinning en meldingen; een bord kan ontbreken of al weg zijn.
- Oude adressen werken niet meer
De oude adressen data.ndw.nu/api/rest/static-road-data/traffic-signs/v1/… geven 404. Gebruik v4 op wegkenmerken.ndw.nu.
- Grote antwoorden
Er is geen paginering in current-state: een gemeente of een veelvoorkomende code levert tientallen MB's op. Voor heel Nederland is het downloadbestand beter.
APIREST (GeoJSON, JSON, CSV) · gelezen 16 okt 2026
Geen sleutel of account; alle aanroepen werkten anoniem. getest
milieuzoneborden C22a in het actuele beeld, in 62 gemeenten (16 okt 2026); het hele bestand is 235 MB gezipt getest
geojsonjsoncsv
Basisadres
https://wegkenmerken.ndw.nu/api/rest/static-road-data/traffic-signs/v4
Endpoints 5
- GET
/current-stateHet actuele beeld: elk bord als GeoJSON-feature (of CSV), dagelijks bijgewerkt. Met een filter wordt live gefilterd, inclusief wijzigingen van vandaag. Zonder status-filter alleen geplaatste borden (PLACED). - GET
/eventsAlle gepubliceerde wijzigingen, oudste eerst, maximaal 100 per keer; verder lezen met offset (tijdstempel). - GET
/collectionsDe ondersteunde coördinatenstelsels (CRS84 en RD, EPSG 28992). - GET
https://wegkenmerken.ndw.nu/api/images/{id}Foto van het bord (JPEG, ~14 kB); het adres staat in imageUrl. - GET
https://opendata.ndw.nu/verkeersborden_actueel_beeld.csv.gzHet hele actuele beeld als bestand: CSV (235 MB gezipt) of GeoJSON in RD (_rd.geojson.gz, 228 MB) en in graden (_wgs84.geojson.gz, 236 MB). Eén keer per dag rond 12:05.
De API's van deze bron 1 · uit de documentatie van de aanbieder uit de beschrijving
Bereikbaarheidskaart API (v2, bèta)
Berekent per gemeente of begrenzingskader welke wegvakken bereikbaar zijn voor een voertuig met bepaalde afmetingen, gewicht, brandstof en milieuklasse, op basis van het NWB en de verkeersborden. Geen sleutel. Volgens de eigen beschrijving alleen voor wegbeheerders en in bèta. Wij deden geen aanroepen: robots.txt van data.ndw.nu zegt Disallow: /.
https://data.ndw.nu/api/rest/static-road-data/accessibility-map/v2- POST
/accessibility.geojsonBereikbare en niet-bereikbare wegvakken als GeoJSON. Body: area (type municipality met id GM0344, of boundingBox), vehicle (type bus/car/light_commercial_vehicle/motorcycle/tractor/truck, width, height, weight, length, axleLoad, hasTrailer, emissionClass, fuelTypes), optioneel destination, exclusions en effectivelyAccessible - GET
/municipalitiesAlle gemeenten met hun begrenzing - GET
/road-operatorsAlle wegbeheerders
Filteren uit de beschrijving
Elke voorwaarde is een eigen queryparameter; combinaties gelden als EN. Exacte overeenkomst, geen jokertekens.
Parameters 11
countyCode | Gemeentecode, bv. GM0363 (Amsterdam). Ander formaat (GM363) geeft 400 met de regel ^GM\d{4}$. Ook op /events. | getest |
rvvCode | RVV-code van het bord (A1, C22a …); meerdere met komma's (C22a,C22c). | getest |
roadSectionId | NWB-wegvak-id's; geen limiet op het aantal. | uit de beschrijving |
status | Status van het bord. Zonder deze parameter kreeg je alleen PLACED; status=REMOVED gaf 407 weggehaalde milieuzoneborden. | getest |
roadAuthorityType | Soort wegbeheerder als letter uit de specificatie (die legt de letters niet uit). Met G bleven er in Rotterdam 72 van de 73 C22a-borden over. | getest |
roadAuthorityCode | Code van één wegbeheerder. | uit de beschrijving |
bbox | Begrenzingskader; 4.88,52.36,4.92,52.38 met rvvCode=C22a gaf 2 borden. | getest |
bbox-crs / crs | Stelsel van de bbox en van de antwoorden: http://www.opengis.net/def/crs/OGC/1.3/CRS84 (standaard) of http://www.opengis.net/def/crs/EPSG/9.9.1/28992 (RD). | getest |
contentType | contentType=csv (of de kop Accept text/csv) geeft een platte CSV met 36 kolommen. | getest |
offset | Alleen /events: publicatietijdstip vanaf waar je leest (yyyy-MM-ddTHH:mm:ss.SSSZ); standaard 1970. | uit de beschrijving |
limit | Alleen /events: blokgrootte, standaard en maximaal 100 (101 geeft 400). | getest |
Velden per bord (current-state, GeoJSON-properties) 15
| Naam | Type | Betekenis |
|---|---|---|
id | uuid | Vaste id van het bord |
rvvCode | tekst | Bordcode volgens het RVV 1990 (A1, C22a …) |
blackCode | tekst | De waarde op het bord, bv. 50 bij een A1 |
zoneCode | tekst | ZB, ZH, ZE, ZO of leeg (zonebord) |
status | tekst | PLANNED, PLACED of REMOVED |
validated | j/n | Gecontroleerd; alle 615 C22a-borden hadden n |
textSigns | lijst | Onderborden met type (VRIJ, EMIS, KEN, RICH, UIT, VOOR, TIJD), tekst en bij TIJD openingHours in OSM-notatie |
placement / side / bearing | tekst / graden | Plaatsing (L, B), kant (L, R, N, NO …) en kijkrichting 0–359 |
fraction | getal | Positie op het wegvak, 0 tot 1 |
drivingDirection | tekst | H of T: met of tegen de digitaliseerrichting van het NWB-wegvak |
roadName / roadNumber / roadSectionId / nwbVersion | tekst / getal / datum | Weg en NWB-wegvak waar het bord bij hoort, met de NWB-versie |
countyCode / countyName / townName | tekst | Gemeente (GM-code) en woonplaats |
Toon alle 15
| Naam | Type | Betekenis |
|---|---|---|
imageUrl | url | Foto van het bord |
firstSeenOn / lastSeenOn / placedOn / removedOn | datum | Wanneer het bord voor het eerst en laatst gezien, geplaatst of weggehaald is |
trafficOrderUrl | tekst | Kenmerk van het verkeersbesluit, bv. gmb-2024-272098 |
Limieten en valkuilen
- current-state heeft geen paginering: zonder filter krijg je het hele land. Alleen rvvCode=A1 is al 97 MB, Amsterdam 56 MB. Filter altijd, of neem het downloadbestand. ervaring
- events: hoogstens 100 per aanroep (limit=101 geeft 400). getest
- Geen sleutel en geen gedocumenteerde snelheidslimiet; antwoorden kwamen binnen 0,1 seconde voor een gefilterde vraag. getest
- De documentatie noemt nog data.ndw.nu en de parameternamen rvv-code en road-section-ids. De OpenAPI-specificatie en de werkende API gebruiken wegkenmerken.ndw.nu/api met rvvCode en roadSectionId. De oude v1-adressen op data.ndw.nu geven 404. getest
- Een onbekende parameter wordt stil genegeerd (foo=bar gaf gewoon 73 borden). Een tikfout in een filternaam levert dus ongemerkt het ongefilterde, veel grotere antwoord op. getest
- events heeft geen publicatietijdstip in het antwoord, terwijl offset daarop werkt. Bewaar zelf het moment van je laatste aanroep en lees vanaf daar verder; een event kan dan dubbel binnenkomen. getest
- In events heet de structuur anders dan in current-state: location.wgs84.latitude, location.road.roadSectionId, location.county.code, details.imageUrl. current-state is plat. getest
- Koppel roadSectionId aan het NWB (wvk_id), maar let op nwbVersion: wegvakken veranderen tussen NWB-versies. ervaring
- wegkenmerken.ndw.nu heeft geen robots.txt (de webapp geeft voor elk pad de startpagina terug); data.ndw.nu stuurt robots.txt door naar een pagina met Disallow: /. Daarom hebben wij de bereikbaarheidskaart niet aangeroepen. getest
Probeer het HTTP 200 · 386 ms · 16 okt
https://wegkenmerken.ndw.nu/api/rest/static-road-data/traffic-signs/v4/current-state?rvvCode=C22a&countyCode=GM0363
{
"type": "FeatureCollection",
"features": [
{
"type": "Feature",
"id": "061dc8bb-f323-48d7-bc5b-a03e6fa9187c",
"geometry": {
"type": "Point",
"coordinates": "…"
},
"properties": {
"validated": "n",
"rvvCode": "C22a",
"zoneCode": "ZB",
"status": "PLACED",
"textSigns": [
{
"type": "EMIS",
"text": "[[c22a3]]"
},
{
"type": "EMIS",
"text": "[[c22a9]]"
}
],
"placement": "L",
"side": "W",
"bearing": 274,
"fraction": 0.9918174,
"drivingDirection": "T",
"roadName": "Jan Vroegopsingel",
"roadSectionId": 600980960,
"nwbVersion": "2026-05-01",
"countyName": "Amsterdam"
}
},
{
"type": "Feature",
"id": "087aa8eb-2990-498e-af72-e185d1dfd664",
"geometry": {Ingekort antwoord, opgeslagen bij het oogsten. Klik op het adres voor het echte, actuele antwoord.
Gelezen uit NDW Docs: Verkeersborden download API 4.0, met alle velden, parameters en voorbeelden · OpenAPI 3-specificatie (versie 4.0, server wegkenmerken.ndw.nu/api) · NDW Docs: Bereikbaarheidskaart API (bèta) · Broncode van de bereikbaarheidskaart, met een kopie van de OpenAPI-specificatie v2. Labels: uit de beschrijving staat in wat de api zelf publiceert. getest uit onze eigen kleine aanroep. platform geldt voor elk api van dit platform, volgens de documentatie. ervaring zelf ondervonden bij het bouwen van open data index.
Zo haal je het op
curl "https://wegkenmerken.ndw.nu/api/rest/static-road-data/traffic-signs/v4/current-state?rvvCode=C22a"
Meer van NDW in onze index
4 datasets in data.overheid.nl, Nationaal Georegister. Dit zijn de laatst gewijzigde.
- RVV Verkeersborden2026-10-30
- Emissiezones (milieuzones en nul-emissiezones)2026-06-22
- NWB Buitenland2026-06-19
- Regionaal Verkeersmanagement Netwerk (RVM)2023-08-11
Meer in dit thema
Bekijk hoe deze pagina is opgebouwd
bron: ndw-wegkenmerken blokken: [] secties: - ideeen - verwerken - koppelingen - vergelijkbaar - beperkingen - code cache: tag: bron:ndw-wegkenmerken ververs: na statuscheck, als de bron nieuwer is statuscheck: methode: Last-Modified van het downloadbestand verkeersborden_actueel_beeld.csv.gz verwacht: dagelijks
Bron: content/bronnen/ndw-wegkenmerken.yaml · Markdown



