Hoe schoon is de lucht in mijn straat?
Een meetstation meet één plek, en Luchtmeetnet heeft er 102 voor heel Nederland. Hoe groot het verschil is, zie je in Amsterdam: in de week tot 15 oktober 2026 was stikstofdioxide (NO2) gemiddeld 10,7 microgram per kubieke meter in het Vondelpark en 24,3 aan de Haarlemmerweg. Voor je eigen adres is er de rekenkaart van het RIVM; op de Dam geeft die over 2024 een jaargemiddelde van 20,1. Uurwaarden zijn voorlopig, tijden staan in UTC, en een weekgemiddelde kun je niet zomaar naast een norm voor een jaargemiddelde leggen.
Kort antwoordOp de Dam in Amsterdam: een berekend jaargemiddelde van 20,1 µg/m³ NO2 over 2024 (RIVM). Dat is de helft van de EU-grenswaarde van 40 en twee keer het WHO-advies van 10. Het dichtstbijzijnde station, Oude Schans, mat in de week tot 15 oktober 2026 gemiddeld 14,4.
Stikstofdioxide in Amsterdam: het hoogst langs de grote wegen, het laagst aan de randen van de stad
Het berekende jaargemiddelde NO2 over 2024 uit de kaartdienst van het RIVM, voor een gebied van 16 bij 12 kilometer rond het centrum. Volgens de legenda van de dienst is blauw minder dan 14 microgram per kubieke meter en grijs 14 tot 16; crème en geel 16 tot 20, oranje 20 tot 30 en rood 30 of meer. De oranje en rode lijnen zijn de drukke wegen. Het is een rekenkaart, geen meting: voor een waarde op je eigen adres vraag je de kaart op dat punt op (zie het script).
Stap voor stap
- 1
Kijk welk meetstation het dichtst bij is in Luchtmeetnet.
- 2
Voor een jaargemiddelde op je eigen plek: de GCN-kaart van het RIVM.
- 3
Vergelijk met andere Europese steden via de EEA.
Koppelen via coördinaten
Begin met AI
Plak deze prompt in Claude of ChatGPT. Hij noemt de echte endpoints, de koppelsleutel en de valkuilen, zodat de assistent meteen bruikbare code schrijft. Controleer de uitkomst altijd met de bron zelf.
Bouw een webpagina waarop ik een punt op de kaart kies en zie hoe schoon de lucht daar is. Alle diensten hieronder zijn open (geen sleutel, CORS staat open). 1. Jaargemiddelde NO2 op dat punt, uit de RIVM-kaart (WMS GetFeatureInfo): https://data.rivm.nl/geo/alo/wms?service=WMS&version=1.3.0&request=GetFeatureInfo&layers=rivm_nsl_20260401_gm_NO22024&query_layers=rivm_nsl_20260401_gm_NO22024&styles=&crs=EPSG:4326&bbox=52.3721,4.8915,52.3741,4.8935&width=3&height=3&i=1&j=1&info_format=application/json De waarde staat in features[0].properties.GRAY_INDEX, in µg/m³, voor het jaar 2024. WMS 1.3.0 met EPSG:4326 wil de bbox als lat,lon (niet lon,lat). Het is een rekenkaart, geen meting. 2. De drie dichtstbijzijnde meetstations van Luchtmeetnet: - lijst: https://api.luchtmeetnet.nl/open_api/stations?page=1 (5 pagina's, alleen nummer en naam) - details met coördinaten, type (Traffic, Municipal …) en gemeten stoffen: https://api.luchtmeetnet.nl/open_api/stations/NL49017 - metingen: https://api.luchtmeetnet.nl/open_api/measurements?station_number=NL49017&formula=NO2&start=2026-10-08T00:00:00Z&end=2026-10-15T00:00:00Z Maximaal één week per verzoek, gepagineerd (pagination.last_page), tijden in UTC, uurwaarden voorlopig. Niet elk station meet elke stof: kijk in components (NO2, PM10, PM25, O3 …). Haal de stationdetails één keer op en bewaar ze; vraag niet bij elk bezoek alle 102 stations op. Uitkomst: de RIVM-waarde voor het gekozen punt, en per station de afstand, het type (verkeer of achtergrond), het gemiddelde en maximum van de afgelopen week, en een uurgrafiek in Nederlandse tijd. Zet de WHO-advieswaarde (10 µg/m³ als jaargemiddelde) en de EU-grenswaarde (40) erbij, en zeg dat een weekgemiddelde geen jaargemiddelde is. Als achtergrond kan de kaart zelf: dezelfde WMS met request=GetMap en crs=EPSG:28992.
Probeer het zelf
Een klein script dat de kern van de vraag beantwoordt. Nodig: Python 3.10+ en requests. Getest op 2026-10-15; hieronder de echte uitvoer van die proefdraai.
# Hoe schoon is de lucht in mijn straat? (1) Berekend jaargemiddelde NO2 op je plek (RIVM-kaart, WMS), (2) metingen
# van de afgelopen week op de Luchtmeetnet-stations in je stad, op afstand gesorteerd. Geen sleutel nodig.
import math, requests
from datetime import datetime, timedelta, timezone
API = "https://api.luchtmeetnet.nl/open_api"
UA = {"User-Agent": "opendataindex-voorbeeld/0.2 (+https://opendataindex.nl)"}
STAD, LON, LAT = "Amsterdam", 4.8925, 52.3731 # de Dam; zet hier je eigen coördinaten
def alle_paginas(pad, **params):
uit, pagina = [], 1
while True:
j = requests.get(f"{API}/{pad}", params={**params, "page": pagina}, headers=UA, timeout=60).json()
uit += j["data"]
if pagina >= j["pagination"]["last_page"]:
return uit
pagina += 1
def km(lon1, lat1, lon2, lat2): # benadering, goed genoeg binnen een stad
return 6371 * math.hypot(math.radians(lon2 - lon1) * math.cos(math.radians(lat1)), math.radians(lat2 - lat1))
# 1. Jaargemiddelde op je plek uit de RIVM-kaart (GetFeatureInfo; WMS 1.3.0 met EPSG:4326 = lat,lon-volgorde).
LAAG = "rivm_nsl_20260401_gm_NO22024" # NO2-kaart over 2024, gepubliceerd 1 april 2026
info = requests.get("https://data.rivm.nl/geo/alo/wms", headers=UA, timeout=60, params={
"service": "WMS", "version": "1.3.0", "request": "GetFeatureInfo", "layers": LAAG, "query_layers": LAAG,
"styles": "", "crs": "EPSG:4326", "bbox": f"{LAT - .001},{LON - .001},{LAT + .001},{LON + .001}",
"width": 3, "height": 3, "i": 1, "j": 1, "info_format": "application/json"}).json()
print(f"Berekend jaargemiddelde NO2 in 2024 op {LAT}, {LON}: {info['features'][0]['properties']['GRAY_INDEX']:.1f} µg/m³\n")
# 2. Stations in je stad (de lijst heeft alleen nummer en naam; details per station apart).
stations = [s for s in alle_paginas("stations") if s["location"].replace(" ", "").startswith(STAD + "-")]
eind = datetime.now(timezone.utc).replace(minute=0, second=0, microsecond=0)
start = eind - timedelta(days=7) # maximaal één week per verzoek; tijden in UTC
rijen = []
for s in stations:
d = requests.get(f"{API}/stations/{s['number']}", headers=UA, timeout=60).json()["data"]
if "NO2" not in d["components"]:
continue # niet elk station meet elke stof
lon, lat = d["geometry"]["coordinates"]
m = alle_paginas("measurements", station_number=s["number"], formula="NO2",
start=start.isoformat().replace("+00:00", "Z"), end=eind.isoformat().replace("+00:00", "Z"))
w = [x["value"] for x in m if x["value"] is not None]
if w:
rijen.append((km(LON, LAT, lon, lat), s["location"], d["type"], sum(w) / len(w), max(w), len(w)))
print(f"NO2 in µg/m³, {start:%d-%m %H:%M} tot {eind:%d-%m %H:%M} UTC (voorlopige uurwaarden)\n")
print(f"{'afstand':>8} {'station':32} {'soort':12} {'gem.':>5} {'max':>6} {'uren':>5}")
for afstand, naam, soort, gem, mx, n in sorted(rijen):
print(f"{afstand:6.1f} km {naam:32} {soort:12} {gem:5.1f} {mx:6.1f} {n:5}")
print("\nTer vergelijking: WHO-advies 10 µg/m³ als jaargemiddelde, EU-grenswaarde 40.")
Berekend jaargemiddelde NO2 in 2024 op 52.3731, 4.8925: 20.1 µg/m³ NO2 in µg/m³, 08-10 22:00 tot 15-10 22:00 UTC (voorlopige uurwaarden) afstand station soort gem. max uren 0.8 km Amsterdam-Oude Schans Municipal 14.4 52.0 168 1.7 km Amsterdam-Stadhouderskade Traffic 18.6 55.8 168 1.8 km Amsterdam-Haarlemmerweg Traffic 24.3 61.2 166 1.9 km Amsterdam-Van Diemenstraat Traffic 19.7 55.7 168 2.2 km Amsterdam-Jan van Galenstraat Traffic 21.3 59.3 168 2.3 km Amsterdam-Vondelpark Municipal 10.7 39.5 168 3.3 km Amsterdam-Einsteinweg Traffic 21.5 62.6 167 3.9 km Amsterdam-Nieuwendammerdijk Municipal 14.4 44.4 162 6.8 km Amsterdam-Ookmeer Municipal 12.6 57.3 167 8.7 km Amsterdam -Kantershof Municipal 11.6 34.2 168 Ter vergelijking: WHO-advies 10 µg/m³ als jaargemiddelde, EU-grenswaarde 40.
De bronnen3

LuchtmeetnetUitgewerkt
Metingen van stikstofdioxide, fijnstof en ozon, elk uur, van zo'n honderd meetstations in heel Nederland.

Grootschalige concentratiekaarten (GCN)
Berekende jaargemiddelden van stikstofdioxide en fijnstof voor heel Nederland, in vakjes van een kilometer. Waar Luchtmeetnet meet, rekent GCN tussen de meetpunten in.

EEA luchtkwaliteit
Dezelfde Nederlandse meetstations als Luchtmeetnet, maar naast die van de rest van Europa. Handig om Amsterdam met Antwerpen of Keulen te vergelijken.
Meer voorbeelden met deze data
Vroegtijdige sterfte door fijnstof (PM2,5) in Nederland: lager dan in 18 van de 26 andere EU-landen
Stikstofdioxide in de buitenlucht in Nederland (jaargemiddelde van de meetstations): 15,7 microgram per kubieke meter in 2025, 40% minder dan in 2013
Fijnstof (PM2,5) op stedelijke achtergrondstations in Nederland: lager dan in 14 van de 26 andere EU-landen
Ammoniak in de lucht in 2025: de hoogste concentraties in de Gelderse Vallei en de Peel, de laagste langs de kust
Ook in de indexen
Datasets uit data.overheid.nl, het Nationaal Georegister, CBS, Eurostat en de stadsportalen die bij deze vraag passen.
- Deaths attributed to household air pollution vs. deaths attributed to ambient air pollutionOur World in Data
- Luchtkwaliteit langs wegen 2025 (Monitoringsronde 2024)Nationaal Georegister
- Data underlying the publication: Effect of drying conditions on quality of primed cabbage (Brassica oleracea) seeds and ethanol degradation as promising quality parameter4TU.ResearchData
- Lucht - Immissie verkeer 2024 Fijnstof (PM2,5)Nationaal Georegister
- Lucht - Immissie verkeer 2024 Fijnstof (PM10)Nationaal Georegister
- Lucht - Immissie verkeer prognose 2030 Fijnstof (PM2,5)Nationaal Georegister
- Lucht - Immissie verkeer prognose 2030 Fijnstof (PM10)Nationaal Georegister
- The influence of meteorology and air quality on parkrun athletic performance Meteorology, air quality and parkrunDANS Data Station Physical and Technical Sciences
- Fijnstof is een belangrijke indicator van luchtkwaliteit. De belangrijkste bronnen van fijnstof zijn verkeer en industrie. De advieswaarde van de Wereldgezondheids-organisatie (WHO) voor PM2.5 is 5 μg/m3. Het gemiddelde in Nederland is 8,7 μg/m3. Overal in Nederland wordt de WHO-advieswaarde …Provincie Noord-Holland
- Luchtkwaliteit langs wegen 2023 (Monitoringsronde 2024)Nationaal Georegister
Andere uitgezochte vragen
- Is er meer overlast in mijn buurt dan vorig jaar?3 bronnen
- Hoeveel subsidie krijgt een stichting in Amsterdam?3 bronnen
- Hoeveel warmer is het geworden?2 bronnen
- Hoe ziet mijn omgeving eruit vanuit de ruimte?3 bronnen
- Stegen de huizenprijzen hier harder dan in de rest van Europa?2 bronnen
- Hoeveel auto's rijden er elektrisch in mijn gemeente?2 bronnen