# NDW actuele verkeersgegevens

Snelheden en intensiteiten van tienduizenden meetpunten op de weg, elke minuut ververst. Ook werkzaamheden en incidenten.

- Uitgever: Nationaal Dataportaal Wegverkeer
- Gebied: Nederland · Laagste detail: meetlus
- Periode: heden · Ververst: elke minuut
- Toegang: Open · Licentie: Open data (bronvermelding)
- Koppelsleutels: meetlocatie-id
- Status: ok (2026-10-16)
- URL: https://opendata.ndw.nu

## Wat kun je ermee?
- **De spits in beeld.** Volg één meetpunt een week en zet snelheid tegen tijd.
- **Effect van een afsluiting.** Vergelijk de drukte op omliggende wegen voor en tijdens werkzaamheden.

## Zo verwerk je het
1. **Kies een bestand uit de map.** opendata.ndw.nu is een gewone bestandsmap met 31 bestanden (16 oktober 2026). Naast snelheden en intensiteiten (trafficspeed.xml.gz) staan er o.a. laadpunten (charging_point_locations.geojson.gz, ook OCPI), emissiezones, geplande brugopeningen, wegwerkzaamheden en evenementen, tijdelijke maximumsnelheden, truckparkings en verkeersborden. De meeste bestanden waren van de dag zelf (Last-Modified).
   `https://opendata.ndw.nu/`

## Interessante koppelingen
- Drukte en luchtkwaliteit → [luchtmeetnet](https://www.opendataindex.nl/bron/luchtmeetnet.md) via tijdstip + locatie. Per uur koppelen bij een straatstation.

## Vergelijkbare bronnen
- [Rijkswaterstaat verkeersintensiteiten](https://www.rijkswaterstaat.nl): Gemiddelden per jaar, makkelijker voor trends.

## Waar je op moet letten
- **Fietsdata niet als open API.** NDW heeft een Fiets data API (dexter.ndw.nu/api/explore/bicycle-data/v1, documentatie op docs.ndw.nu), maar die vraagt een OAuth-token: met een persoonlijk NDW-account of, voor scripts aangeraden, een serviceaccount dat je bij de NDW-servicedesk aanvraagt; zonder token 401 (16 oktober 2026). Fietstellingen zijn voor iedereen te bekijken op dexter.ndw.nu/opendata/bicycle/ (een webapplicatie, niet verder getest).

## API (Bestanden (DATEX II v2.3 en v3, XML; GeoJSON en OCPI-JSON))

- Basis: https://opendata.ndw.nu
- Toegang: Geen sleutel of account: gewone bestanden over HTTPS. Historische data (Dexter) en de Fiets data API vragen wel een account. (getest)
- Formaten: xml, xml.gz, geojson, json, csv, zip
- Omvang: 20573 meetlocaties met minuutwaarden in trafficspeed.xml.gz (16 okt 2026, 23:32) (getest)
- Filteren: Geen querytaal: je kiest een bestand en filtert zelf na het uitpakken (bijvoorbeeld op measurementSiteReference of op het gebied).; 

### Endpoints
- `GET /trafficspeed.xml.gz`: Snelheden en intensiteiten per meetlocatie, elke minuut (DATEX II v2.3, 1,0 MB gezipt, 53 MB uitgepakt). Stopt op 9 februari 2027.
- `GET /snelheden_en_intensiteiten_meetgegevens.xml.gz`: Dezelfde minuutwaarden in DATEX II v3 (1,0 MB), de opvolger van trafficspeed. Ook met configuratie (_configuratie_meetlocaties, 1,8 MB) of beide samen (2,7 MB).
- `GET /traveltime.xml.gz`: Reistijden per traject, elke minuut, in seconden met een referentiereistijd ernaast (DATEX II v2.3, 2,2 MB). Opvolger: reistijden_meetgegevens.xml.gz (v3, 1,8 MB).
- `GET /measurement_current.xml.gz`: Meetlocatietabel (9,3 MB): per meetlocatie naam, rijstroken, richting, ligging en per index wat er gemeten wordt (rijstrook, intensiteit of snelheid, lengteklasse).
- `GET /actueel_beeld.xml.gz`: Situatieberichten nu (DATEX II v3, 466 kB): ongevallen, files, spitsstroken, weer, plus werkzaamheden en tijdelijke maatregelen.
- `GET /planningsfeed_wegwerkzaamheden_en_evenementen.xml.gz`: Wegwerkzaamheden en evenementen, gepland en actueel (16 MB).
- `GET /planningsfeed_brugopeningen.xml.gz`: Geplande en actuele brugopeningen met impact op het wegverkeer (106 kB).
- `GET /tijdelijke_verkeersmaatregelen_maximum_snelheden.xml.gz`: Tijdelijke maximumsnelheden (39 kB); ook _afsluitingen.xml.gz (373 kB) voor afgesloten wegen en rijstroken.
- `GET /veiligheidsgerelateerde_berichten_srti.xml.gz`: Veiligheidsberichten (SRTI, 16 kB): spookrijder, gladheid, obstakels, beperkt zicht.
- `GET /Matrixsignaalinformatie.xml.gz`: Wat de matrixborden boven de snelweg nu tonen (1,0 MB); locaties in ndw_msi_shapefiles_latest.zip.
- `GET /dynamische_route_informatie_paneel.xml.gz`: Teksten op de dynamische route-informatiepanelen (DRIP's, 471 kB).
- `GET /emissiezones.xml.gz`: Milieuzones en zero-emissiezones met hun regels (DATEX II v3, 155 kB), één keer per dag (06:10).
- `GET /charging_point_locations.geojson.gz`: Openbare laadlocaties met exploitant en per connectortype aantal, beschikbaarheid en vermogen (GeoJSON, 4,7 MB). Ook als OCPI (charging_point_locations_ocpi.json.gz, 17 MB) en tarieven (charging_point_tariffs_ocpi.json.gz, 3,9 MB).
- `GET /Truckparking_Parking_Status.xml`: Bezetting van truckparkings (DATEX II v3, 18 kB, niet gezipt); de vaste gegevens in Truckparking_Parking_Table.xml.
- `GET /ndw_avg_meetlocaties_shapefile.zip`: Meetlocaties als shapefile (68 MB). Vervalt bij de overstap naar DATEX II v3.
- `GET /VILD6.14.A.zip`: VILD-locatietabel 6.14 (40 MB) voor de Alert-C-locaties in situatieberichten.

### Parameters
- `If-None-Match / If-Modified-Since`: Stuur de ETag of Last-Modified van je vorige download mee: ongewijzigd geeft 304 zonder inhoud. (getest)
- `Range`: Alleen een deel van een bestand ophalen (206 Partial Content), handig om de kop van een groot bestand te bekijken. (getest)

### Velden in de bestanden (selectie) (13)
`measurementSiteReference@id` tekst, `measurementTimeDefault` datetime, `measuredValue@index` integer, `vehicleFlowRate` integer, `averageVehicleSpeed/speed` getal, `numberOfInputValuesUsed` integer, `travelTime/duration` getal, `properties.operator_name` tekst, `properties.availabilities[].total / available` integer, `properties.availabilities[].power_max` getal, `properties.availabilities[].connector_type` tekst, `properties.last_updated` datetime, `parkingOccupancy` getal

### Limieten en valkuilen
- Geen sleutel en geen gedocumenteerde limiet. De meeste bestanden worden elke minuut vervangen (Last-Modified en ETag); vaker ophalen heeft geen zin. (getest)
- Levering uiterlijk op seconde 60 na de meetminuut. (uit de beschrijving)
- Alleen het nu: de map bewaart geen eerdere minuten. Historie staat in Dexter, alleen voor overheden, onderwijs en partijen met een overeenkomst. (uit de beschrijving)
- DATEX II-migratie: per 9 februari 2027 stoppen trafficspeed, traveltime, measurement en measurement_current (v2.3) en de meetlocatie-shapefile. Bouw nieuw werk op de v3-bestanden (snelheden_en_intensiteiten_…, reistijden_…); tot dan staan beide naast elkaar. (uit de beschrijving)
- De .gz-bestanden komen als application/xml zonder Content-Encoding: je client pakt ze niet zelf uit. Eerst gunzip, dan XML lezen. (getest)
- Een meetwaarde is alleen een index (1, 2, 3 …). Welke rijstrook en lengteklasse dat is, staat per meetlocatie in measurement_current (bv. index 1 = rijstrook 1, intensiteit, 1,85–2,4 m). Zonder die tabel kun je de waarden niet lezen. (getest)
- Veel lege waarden: in trafficspeed van 16 okt 2026 23:32 waren 34.273 van de 98.210 snelheden -1. 's Nachts rijden er weinig voertuigen; filter -1 altijd weg. (getest)
- Snelheden boven 255 km/u worden bij sommige meetsystemen als (snelheid − 256) gemeld; 256 km/u is bijna altijd een foutwaarde. (uit de beschrijving)
- Laadpunten: tel locaties (features), niet de som van availabilities.total; vermogen staat in watt (11040, 22080), niet in kW. (ervaring)
- opendata.ndw.nu heeft geen robots.txt (404). Let op: data.ndw.nu (bereikbaarheidskaart en oude API's) stuurt robots.txt door naar een pagina met Disallow: /. (getest)
- De verkeersborden-bestanden (verkeersborden_actueel_beeld.csv.gz, 235 MB) staan in dezelfde map; de API daarvoor staat bij de bron Verkeersborden (NDW). (getest)

### Voorbeeld
```
https://opendata.ndw.nu/Truckparking_Parking_Status.xml
```

## Wat je ermee kunt bouwen
- [Dashboard met files, snelheden en wegwerkzaamheden](https://www.opendataindex.nl/bouwen/files-en-wegwerkzaamheden.md): Een dashboard dat elke minuut toont hoe hard er op de snelwegen gereden wordt, waar het stilstaat en welke wegen dicht zijn, uit de open bestanden van NDW, met de maximumsnelheid van de borden ter plaatse.
- [Laadpunten per buurt en per elektrische auto](https://www.opendataindex.nl/bouwen/laadpalen-per-buurt.md): Een kaart van je gemeente die per buurt laat zien hoeveel publieke laadpunten er zijn, per 1.000 inwoners en per 100 auto's, en hoeveel elektrische auto's er op één laadpunt aangewezen zijn.


## Voorbeelden met echte cijfers (2)

Per voorbeeld de bevinding, de peildatum en de aanroep die precies deze cijfers ophaalt.

- **Openbare laadlocaties voor elektrische auto's per exploitant: het meest Vattenfall InCharge (22.217 laadlocaties), dan EQUANS en TotalEnergies** (oktober 2026). Tabel charging_point_locations. [Voorbeeld](https://www.opendataindex.nl/voorbeeld/ndw-laadlocaties-exploitant)
  - `https://opendata.ndw.nu/charging_point_locations.geojson.gz`
- **Openbare laadlocaties naar hoogste laadvermogen: 11 kW of minder is het grootste deel, 63% in oktober 2026** (oktober 2026). Tabel charging_point_locations. [Voorbeeld](https://www.opendataindex.nl/voorbeeld/ndw-laadlocaties-vermogen)
  - `https://opendata.ndw.nu/charging_point_locations.geojson.gz`
