National Road Database (NWB) and road data
Rijkswaterstaat's National Road Database is the national road network as lines: every road with a street name or number, from motorway to residential street, split into road sections with road authority, municipality and hectometre markers. On 16 October 2026 that was 1,667,080 road sections and 162,114 hectometre points. Plus NWB Waterways (4,825 waterway sections) and Road Data (WEGGEG) with speed limits and lanes on national roads, linked to the road sections. Via PDOK as OGC API, WFS and WMS.

Road sections in the National Road Database by road authority: municipality is the largest part, 92% in October 2026
Breakdown in October 2026: municipality 92%, province 4.3%, national government 1.2%, water authority 1.2%, other authority (ports, forestry service and others) 0.9%. Total: 1,667,080 road sections.
What can you do with it?4 ideas
Who manages which road?
The wegbehsrt field tells you: 92% of road sections belong to a municipality, 4.3% to a province, 1.2% to the national government and 1.2% to a water authority. Colour a map of your region by authority.
Where can you drive 130?
WEGGEG has the speed limit per road section, with times: 130 from 7 pm to 6 am and lower during the day. On 16 October 2026 it held 7,176 rows with 130 and 10,999 with 100.
Accidents and traffic on the map
Much traffic data (NDW, accident records) refers to an NWB road section or hectometre post. Use wvk_id to join them to the road itself.
How many kilometres of road per municipality?
Sum the length of the road sections (st_lengthshape, in metres) per municipality and per authority. On dual carriageways each carriageway has its own road sections.
How to process it4 steps
Road sections in a street or municipality
The OGC API can filter on gme_naam, stt_naam, wegbehsrt, wegnummer and wvk_id; at most 1,000 per page, follow the next link.
https://api.pdok.nl/rws/nationaal-wegenbestand-wegen/ogc/v1/collections/wegvakken/items?f=json&limit=100&gme_naam=Utrecht&wegbehsrt=R
Speed limits on the A2
WEGGEG filters on omschr (the speed) and wvk_id. Join on wvk_id to the road sections for the road number. begintijd and eindtijd give the time window (19 and 6 = evening and night).
https://api.pdok.nl/rws/weggegevens/ogc/v1/collections/wegvak_max_snelheden/items?f=json&limit=10&omschr=130
Counting with the WFS
The OGC API gives no total. The WFS does, also with a filter. An unfiltered count over all road sections takes about 18 seconds.
https://service.pdok.nl/rws/nationaal-wegenbestand-wegen/wfs/v1_0?service=WFS&version=2.0.0&request=GetFeature&resultType=hits&typeNames=wegvakken&FILTER=%3CFilter%3E%3CPropertyIsEqualTo%3E%3CPropertyName%3Ewegbehsrt%3C/PropertyName%3E%3CLiteral%3ER%3C/Literal%3E%3C/PropertyIsEqualTo%3E%3C/Filter%3E
Waterways
NWB Waterways has waterway sections with name and number, and kilometre markers (2,886).
https://api.pdok.nl/rws/nationaal-wegenbestand-vaarwegen/ogc/v1/collections/vaarwegvakken/items?f=json&limit=10&vwg_naam=Veerse%20Meer
Interesting combinations


Where is traffic most often at a standstill?
Place the NDW measuring points on the NWB road sections and count per section the minutes below 30 km/h.


Which signs stand along which road?
Every traffic sign in the NDW API has a roadSectionId and nwbVersion; that is the wvk_id of the road section in that NWB version.
Similar sources
OpenStreetMapOSM also has cycle paths, footpaths and road types and is kept by volunteers; the NWB is the official register of road authorities, with hectometre markers.
NDW live traffic dataSpeeds and volumes per measuring point, minute by minute; the NWB is the road network those measurements sit on.
Overture MapsGlobal road network from OSM and other sources, without Dutch road authorities or hectometre markers.
What to watch out for
- Only roads with a name or number
According to the description, only roads with a street name or road number are in the NWB. Unnamed paths and many cycle paths are missing.
- Road sections, not kilometres
A road section runs from junction to junction. Counting them mainly shows how densely the network branches; for length use st_lengthshape.
- WEGGEG only for national roads
Speed limits and lanes are only available for national roads. For municipal and provincial roads use the NDW traffic signs.
- Ids change between versions
The NWB is released in versions (collection updated on 5 October 2026). Other data sometimes name the version they were built on, such as nwbVersion in the NDW traffic signs (2026-03-01 for the first sign). Join with the same version where possible, and check for wvk_ids that no longer exist.
APIOGC WFS 2.0.0 · read 16 Oct 2026
No key. Fees: none; access constraints: https://creativecommons.org/publicdomain/zero/1.0/deed.nl. from the description
features in nwbwegen:wegvakken tested
application/gml+xml; version=3.2text/xml; subtype=gml/3.2.1text/xml; subtype=gml/3.1.1application/json; subtype=geojsonapplication/json
Base URL
https://service.pdok.nl/rws/nationaal-wegenbestand-wegen/wfs/v1_0
Endpoints 5
- GET
?request=GetCapabilitiesservice description - GET
?request=DescribeFeatureTypefields of a layer (XSD) - GET
?request=GetFeaturethe features themselves, with geometry - GET
?request=ListStoredQueriesstored queries - GET
?request=DescribeStoredQueriesstored query details
Layers and projections
- Wegvakken
nwbwegen:wegvakkenEPSG:28992, EPSG:25831, EPSG:25832, EPSG:3034, EPSG:3035, EPSG:3857, EPSG:4258, EPSG:4326 - Hectopunten
nwbwegen:hectopuntenEPSG:28992, EPSG:25831, EPSG:25832, EPSG:3034, EPSG:3035, EPSG:3857, EPSG:4258, EPSG:4326
Filtering from the description
OGC Filter Encoding (FES 2.0)
Parameters 6
typeNames | which layer: nwbwegen:wegvakken, nwbwegen:hectopunten | from the description |
outputFormat | e.g. application/json for GeoJSON | from the description |
srsName | projection, e.g. EPSG:4326 for web maps (default EPSG:28992, RD) | from the description |
count / startIndex | paging | from the description |
filter | FES XML filter on fields or geometry | from the description |
bbox | box in the chosen projection | platform |
Fields 59 · nwbwegen:wegvakken
| Name | Type | Meaning |
|---|---|---|
geom | geometrie | |
objectid | integer | |
wvkId | double | |
jteIdBeg | double | |
jteIdEnd | double | |
wegbehsrt | string | |
wegnummer | string | |
wegdeelltr | string | |
hectoLttr | string | |
bstCode | string | |
rpeCode | string | |
admrichtng | string |
Show all 59
| Name | Type | Meaning |
|---|---|---|
rijrichtng | string | |
sttNaam | string | |
sttBron | string | |
wpsnaam | string | |
gmeId | integer | |
gmeNaam | string | |
hnrstrlnks | string | |
hnrstrrhts | string | |
eHnrLnks | integer | |
eHnrRhts | integer | |
lHnrLnks | integer | |
lHnrRhts | integer | |
begafstand | integer | |
endafstand | integer | |
beginkm | double | |
eindkm | double | |
posTvWol | string | |
wegbehcode | string | |
wegbehnaam | string | |
distrcode | integer | |
distrnaam | string | |
dienstcode | string | |
dienstnaam | string | |
wegtype | string | |
wgtypeOms | string | |
routeltr | string | |
routenr | integer | |
routeltr2 | string | |
routenr2 | integer | |
routeltr3 | string | |
routenr3 | integer | |
routeltr4 | string | |
routenr4 | integer | |
wegnrAw | string | |
wegnrHmp | string | |
geobronId | integer | |
geobronNm | string | |
bronjaar | integer | |
openlr | string | |
bagOrl | string | |
frc | string | |
fow | string | |
altNaam | string | |
altNr | string | |
relHoogte | integer | |
stLengthshape | double | |
fuuid | string |
Limits and pitfalls
- At most 1,000 features per request (CountDefault). from the description
- Paging supported: count and startIndex (ImplementsResultPaging). from the description
- In the WFS fields are named differently from the OGC API: wvkId, sttNaam, gmeNaam (camelCase) versus wvk_id, stt_naam, gme_naam. Filtering on wegbehsrt works in both. tested
- WEGGEG has its own WFS (service.pdok.nl/rws/weggegevens/wfs/v1_0) with the layers wegvak_max_snelheden (26,441) and wegvak_rijstroken (22,910). tested
Try it HTTP 200 · 291 ms · 16 Oct
https://service.pdok.nl/rws/nationaal-wegenbestand-wegen/wfs/v1_0?request=GetFeature&service=WFS&version=2.0.0&typeNames=nwbwegen:wegvakken&outputFormat=application/json&srsName=EPSG:4326&count=1&propertyName=wvkId,sttNaam,gmeNaam,wegbehsrt,wegnummer
{
"type": "FeatureCollection",
"name": "wegvakken",
"crs": {
"type": "name",
"properties": {
"name": "urn:ogc:def:crs:OGC:1.3:CRS84"
}
},
"features": [
{
"type": "Feature",
"properties": {
"wvkId": 256198122,
"wegbehsrt": "G",
"wegnummer": "",
"sttNaam": "Reeshofpark",
"gmeNaam": "Tilburg"
},
"bbox": [
4.997212764244013,
51.5803340324217
],
"geometry": {
"type": "MultiLineString",
"coordinates": "…"
}
}
],
"bbox": [
4.99721276424401,
51.5803340324217
]
}Shortened response, saved at harvest time. Click the URL for the real, current response.
Read from GetCapabilities: layers, projections, formats, filters, limit · DescribeFeatureType: fields of nwbwegen:wegvakken. Labels: from the description stated in what the api itself publishes. tested from our own small call. platform applies to every api on this platform, per its documentation. experience learned while building open data index.
How to fetch it
curl "https://api.pdok.nl/rws/nationaal-wegenbestand-wegen/ogc/v1/collections/wegvakken/items?f=json&limit=5&wegnummer=002"
More from Rijkswaterstaat in our index
6,621 datasets in Nationaal Georegister, data.overheid.nl, ArcGIS Online Rijkswaterstaat, 4TU.ResearchData (via DataCite). These changed most recently.
- Bathymetrie Nederland - vaargeulen 1 mtr. RWS Midden-Nederland Noord2026-10-30
- Bathymetrie Nederland - vaargeulen 1 mtr. RWS Zee en Delta Zuid2026-10-30
- FIS_VNDS - Subchamber - vlakken2026-10-30
- Bathymetrie Nederland - vaargeulen 1 mtr. RWS Oost-Nederland Noord2026-10-30
- navigatiesnelheid2026-10-30
- vaarwegjunctie2026-10-30
More in this topic
See how this page is built
bron: rws-nwb blokken: [] secties: - ideeen - verwerken - koppelingen - vergelijkbaar - beperkingen - code cache: tag: bron:rws-nwb ververs: na statuscheck, als de bron nieuwer is statuscheck: methode: veld updated van de collectie wegvakken in de OGC API verwacht: maandelijks
Source: content/bronnen/rws-nwb.yaml · Markdown



