# Luchtmeetnet air quality network

Measurements of nitrogen dioxide, particulate matter and ozone, every hour, from about a hundred stations across the Netherlands.

- Publisher: Luchtmeetnet, Rijksinstituut voor Volksgezondheid en Milieu
- Area: Netherlands · Finest detail: monitoring station
- Period: 2012 – heden · Refreshed: hourly
- Access: Open · Licence: Open data (bronvermelding)
- Join keys: stationsnummer, tijdstip
- Status: ok (2026-10-15)
- URL: https://www.luchtmeetnet.nl

## What can you do with it?
- **Show the rush hour.** Average NO₂ per hour of day over a month. On a busy street you see two humps: morning and evening rush.
- **New Year in the air.** Particulate matter (PM10, PM2.5) spikes around midnight on 1 January because of fireworks.
- **Test against WHO guidelines.** Calculate daily means and count how often a station exceeds the WHO guideline.

## How to process it
1. **Find a station.** Fetch the station list and check which pollutants each one measures.
   `https://api.luchtmeetnet.nl/open_api/stations?page=1`
2. **Fetch measurements, a week at a time.** Start and end can be at most a week apart. Loop through the pages.
3. **Mind the time zone.** Times are in UTC. Convert to Dutch time for rush-hour analysis.
4. **Use final figures later.** For annual reports: wait for RIVM's validated annual figures.

## Interesting combinations
- What does wind do to air quality? → [knmi-daggegevens](https://www.opendataindex.nl/en/bron/knmi-daggegevens.md) via datum en uur. Join per hour and compare still hours with windy ones.
- How much comes from traffic? → [ndw-verkeer](https://www.opendataindex.nl/en/bron/ndw-verkeer.md) via tijdstip + locatie. Find a road sensor near a street station and compare traffic and NO₂ per hour.

## Similar sources
- [rivm-gcn](https://www.opendataindex.nl/en/bron/rivm-gcn.md): Modelled annual mean for every kilometre, not hourly measurements.
- [eea-lucht](https://www.opendataindex.nl/en/bron/eea-lucht.md): The same stations, next to all of Europe's.
- [Samen Meten (RIVM)](https://samenmeten.rivm.nl): Low-cost citizen sensors: many more places, less accurate.

## What to watch out for
- **Hourly values are provisional.** Hourly values are not yet validated. Final figures come later in the year.
- **A station measures one spot.** A few hundred metres away it can be very different. For an average at your own address, use the RIVM GCN map.
- **Not every station measures everything.** Check which pollutants a station measures first, or you'll get an empty list.
- **At most one week per request.** Fetch longer periods in chunks; responses are paginated.

## How to fetch it
```bash
curl "https://api.luchtmeetnet.nl/open_api/measurements?station_number=NL49017&formula=NO2&start=2026-10-08T09:00:00Z&end=2026-10-15T09:00:00Z"
```