Naar hoofdinhoud

KoppelingenKNMI

KNMI API koppelen aan je website.

Met een weer API op je website zien bezoekers wat het weer doet bij jou in de buurt, in je eigen ontwerp in plaats van een losse widget. Wij koppelen de KNMI API van het KNMI Data Platform: waarnemingen van de weerstations en modeldata, gratis te gebruiken met een eigen sleutel.

Vertrouwd door

200+ bedrijven en webshops

Dux
Swim Essentials
Vouwwagenspecialist
Fit Preps
Fysio Moov
Mörgenn
MBST
Sunwave Brands
Flaske
Boumij Makelaars

Wat het oplevert

Wat een koppeling met KNMI je oplevert.

Het weer bij je aanbod. Een camping, terras of buitenactiviteit laat zien wat de bezoeker kan verwachten, op de pagina waar hij beslist.

De officiële bron. Metingen van de weerstations van het KNMI, onder een open licentie, met een duidelijke regel voor bronvermelding.

Je eigen ontwerp. Geen ingesloten widget met eigen opmaak en script van buiten, wel een blok dat past bij de rest van je site.

Technisch

De koppeling in het kort.

Vorm van de koppeling
De Open Data API (bestanden per dataset, op https://api.dataplatform.knmi.nl/open-data/v1) en de EDR API (waarden per locatie en periode, als CoverageJSON)
Authenticatie
Een gratis API key van het Developer Portal, mee in de Authorization-header
Richting
Van het systeem naar de site
Verversing
Waarnemingen per tien minuten, een paar minuten na afloop beschikbaar; de verwachting per modelrun
Wij bouwen het op
WordPress, Next.js, Maatwerk

Waar het misgaat

  • Bij het KNMI moet je de bron juist wel noemen. De open data staat onder CC BY 4.0, en het KNMI schrijft letterlijk dat de gebruiker moet vermelden dat de gegevens van het KNMI afkomstig zijn. Dat is het omgekeerde van de RDW, waar je de bron niet mag noemen. Zet dus "Bron: KNMI" bij het weerblok, ook als het ontwerp daar strak is. Wie het weglaat, gebruikt de gegevens buiten de licentie.
  • Een sleutel heeft een limiet per uur. Met een eigen, geregistreerde sleutel mag je 1.000 aanvragen per uur doen. Er is ook een anonieme sleutel, maar die deel je met iedereen die hem gebruikt, en hij heeft een vervaldatum. Een site die bij elk bezoek een aanvraag doet, zit met de anonieme sleutel snel aan de grens. Wij vragen altijd een eigen sleutel aan en bewaren het antwoord op de server, zodat één aanvraag al je bezoekers bedient.
  • Steeds opnieuw vragen of er iets nieuws is, geldt als misbruik. Het KNMI schrijft dat overmatig pollen naar nieuwe bestanden wordt gezien als misbruik. Daarvoor is de Notification Service, die een bericht stuurt zodra er een nieuw bestand in een dataset staat. Voor een weerblok op een site is een vast ritme met een cache meestal genoeg; voor een verwachting die direct na een nieuwe modelrun moet staan, gebruiken we de melding.
  • De oude scripttoegang stopt eind 2026. Wie de dag- en uurgegevens van het KNMI nog met een script ophaalt via de oude route op knmi.nl, moet overstappen. Het KNMI zegt zelf dat die manier eind 2026 stopt en adviseert het KNMI Data Platform. Daarvoor heb je een gratis sleutel nodig, en een bestaand script moet waarschijnlijk worden aangepast. Werkt je site nu met die gegevens, plan de overstap dan voordat het weerblok leeg blijft.

Bron: documentatie van KNMI, De Bilt

Wat is het KNMI Data Platform?

Het KNMI is het Koninklijk Nederlands Meteorologisch Instituut: de instantie die in Nederland het weer meet en verwacht. Het KNMI Data Platform (KDP) is de plek waar het instituut die gegevens als open data beschikbaar stelt, voor iedereen die ze wil gebruiken.

Daar staan onder meer de waarnemingen van de weerstations per tien minuten, per uur, per dag, per maand en per jaar, en de uitvoer van het weermodel HARMONIE voor Nederland, Europa en het Caribisch gebied. De meeste gegevens zijn gratis en staan onder de open licentie CC BY 4.0.

Voor ontwikkelaars is er een Developer Portal met de API's: de Open Data API, de EDR API, een kaartdienst (WMS) en de Notification Service. Je maakt er een account aan en vraagt per toepassing een sleutel aan.

Open Data API of EDR API

De Open Data API levert bestanden. Je vraagt de lijst van bestanden in een dataset op, kiest het bestand dat je nodig hebt, en krijgt een tijdelijke link om het te downloaden. De waarnemingen per tien minuten komen bijvoorbeeld als NetCDF-bestand met alle stations erin. Dat is de route voor wie veel gegevens tegelijk wil verwerken.

De EDR API is gemaakt om precies te vragen wat je nodig hebt: één parameter, op één locatie of in een gebied, over een bepaalde periode. Het antwoord komt als CoverageJSON en is veel kleiner dan een heel bestand. Voor een weerblok met de temperatuur en neerslag van het station bij jou in de buurt is dat de logische route.

Beide werken met een sleutel in de Authorization-header en hebben dezelfde grens van 1.000 aanvragen per uur voor een geregistreerde sleutel. Met een cache op de server kom je daar bij een website niet in de buurt.

Waarnemingen of verwachting: wat je laat zien

Waarnemingen zijn wat er gemeten is: de temperatuur, wind en neerslag van het afgelopen kwartier of de afgelopen dag. Die zijn kant-en-klaar te gebruiken en geven een site iets actueels, zoals "nu 17 graden en droog" bij de ingang van een camping.

Een weersverwachting op je website is een ander verhaal. Het KNMI levert de verwachting als uitvoer van het weermodel HARMONIE, in GRIB-bestanden met waarden per uur voor een raster over het land. Dat is geen weerbericht in gewone taal. Om er "morgen zon, 22 graden" van te maken, halen we het bestand op de server op, lezen we de waarden voor jouw locatie uit en zetten we die om naar iets wat een bezoeker in één oogopslag leest.

Het kan, en het blijft dicht bij de officiële bron. Het vraagt wel meer werk dan een widget. Daarom bespreken we eerst wat je bezoeker echt moet weten: is het vandaag droog, wordt het warm genoeg voor het terras, of moet de buitenactiviteit naar binnen.

Waar je het weer op je site voor gebruikt

Voor een recreatiebedrijf hoort het weer bij de keuze. Een gast die twijfelt tussen twee dagen, kijkt naar het weer en naar de beschikbaarheid. Staat je aanbod via Recras of Booking Experts op de site, dan kan het weer daar direct naast staan, of kan een activiteitenpagina bij een natte verwachting het binnenprogramma eerst laten zien.

Voor horeca met een terras of een strandpaviljoen is het eenvoudiger: is het vandaag terrasweer. Een klein blok bovenaan de pagina, bij de openingstijden, zegt meer dan een widget onderaan. Hoe dat samengaat met menukaart en reserveren lees je bij een website voor je horecazaak.

En er is een derde toepassing: terugkijken. Een evenement dat wil laten zien hoe vaak het in juni droog was, of een verhuurder die wil uitleggen waarom hij in een bepaalde maand meer vraagt, haalt dat uit de historische waarnemingen. Die staan op hetzelfde platform.

Buienradar en andere weer-API's

Wie zoekt naar een weer-API vindt meer dan het KNMI: Buienradar, en diensten als Weerlive, Meteoserver, Open-Meteo en OpenWeatherMap. Ze verschillen in bron, in vorm en in wat je ermee mag, en een deel levert de verwachting al in gewone taal.

Buienradar zet een JSON-feed met waarnemingen online die elke tien minuten wordt ververst. Die mag je gratis gebruiken op je eigen website, maar alleen voor niet-commerciële doeleinden, met een bronvermelding en een link naar buienradar.nl. Voor commercieel gebruik vraag je eerst toestemming aan Buienradar. Voor een bedrijfssite gaan wij daar altijd van uit.

Voor andere aanbieders lezen we per geval de voorwaarden na, omdat die per dienst verschillen in limieten, prijs en wat je erbij moet vermelden. Het KNMI zelf heeft het voordeel dat de licentie helder is en de bron officieel.

De KNMI API koppelen met WordPress of met maatwerk

Op WordPress maken we een blok dat je op elke pagina kunt plaatsen, in de opmaak van je thema. Een kleine uitbreiding op de server haalt de gegevens op een vast ritme op, bewaart ze in de database en levert ze aan het blok. De sleutel blijft op de server en de bezoeker merkt niets van een aanvraag.

Op een maatwerksite in Next.js is het een serverroute met een cache, eventueel met een melding van de Notification Service als trigger voor een nieuwe verwachting. Dat is de route als het weer meer bepaalt dan een blok, zoals de volgorde van activiteiten of de tekst van een bevestigingsmail.

Het weerblok en de techniek erachter vallen bij ons onder Design & Development.

Bijgewerkt op

Specialist voor koppelingen

Portret van Jos van der Pluijm tussen de stellingen van een magazijnJosDesign & Development085 83 30 533jos@klubb.nl

Veelgestelde vragen

Hoe kan ik KNMI-data downloaden?

KNMI-data download je via het KNMI Data Platform. Losse datasets kun je op het platform zelf bekijken; automatisch ophalen gaat via de Open Data API, met een gratis API key van het Developer Portal. Je vraagt de lijst van bestanden in een dataset op en krijgt per bestand een tijdelijke downloadlink. Voor een complete dataset in één keer is er een aparte bulk-sleutel.

Waar kan ik historische data van het KNMI vinden?

Historische waarnemingen van het KNMI staan op het KNMI Data Platform, per uur, dag, maand en jaar. Met de EDR API vraag je ze op per station en periode, als CoverageJSON. De oude scripttoegang voor dag- en uurgegevens op knmi.nl stopt eind 2026; het KNMI adviseert over te stappen op het Data Platform.

Is de KNMI API gratis?

Ja. De API's van het KNMI Data Platform zijn gratis en de meeste data staat onder de open licentie CC BY 4.0. Je hebt wel een API key nodig, die je gratis aanvraagt op het Developer Portal. Gratis betekent niet onbeperkt: een geregistreerde sleutel mag 1.000 aanvragen per uur doen, dus een cache op de server hoort erbij.

Heb ik een API key nodig voor de KNMI API?

Ja. Elke aanvraag gaat met een API key in de Authorization-header. Er is een anonieme sleutel die iedereen deelt, met een lagere limiet en een vervaldatum. Voor een website vragen wij altijd een eigen sleutel aan op het Developer Portal, zodat je niet afhankelijk bent van het gebruik van anderen.

Wat is het verschil tussen de Open Data API en de EDR API van het KNMI?

De Open Data API levert hele bestanden per dataset, bijvoorbeeld alle stations per tien minuten in één NetCDF-bestand. De EDR API geeft alleen wat je vraagt: een parameter op een locatie of in een gebied, over een periode, als CoverageJSON. Voor een weerblok op een website is de EDR API meestal de handigste route.

Moet ik vermelden dat het weer van het KNMI komt?

Ja. De open data van het KNMI valt onder CC BY 4.0, en het KNMI schrijft dat je moet vermelden dat de gegevens van het KNMI afkomstig zijn. Een regel als "Bron: KNMI" onder het weerblok is genoeg. Dat is anders dan bij RDW Open Data, waar je de bron juist niet mag noemen.

Mag ik de Buienradar API op mijn website gebruiken?

Alleen zonder toestemming als het niet-commercieel is. Buienradar staat gratis gebruik van de JSON-feed toe op je eigen website, voor niet-commerciële doeleinden, met bronvermelding en een link naar buienradar.nl. Voor commercieel gebruik of een app vraag je eerst toestemming. Voor een bedrijfssite gaan wij uit van commercieel gebruik.

Kan ik een weersverwachting van het KNMI op mijn site tonen?

Ja, maar niet als kant-en-klaar weerbericht. Het KNMI levert de verwachting als uitvoer van het weermodel HARMONIE, in GRIB-bestanden met waarden per uur. Wij halen die op de server op, lezen de waarden voor jouw locatie uit en zetten ze om naar een eenvoudige verwachting voor vandaag en morgen.

Hoe actueel zijn de waarnemingen van het KNMI?

De waarnemingen per tien minuten staan een paar minuten na afloop van elk interval op het KNMI Data Platform. Ontbrekende waarnemingen kunnen tot zeven dagen later nog worden aangevuld. Voor een website halen wij de gegevens op een vast ritme op en bewaren ze, zodat het weerblok snel laadt.

Werkt een KNMI-koppeling ook op WordPress?

Ja. We bouwen een blok in de opmaak van je thema, en een uitbreiding op de server haalt de gegevens op een vast ritme op en bewaart ze in de database. De sleutel blijft op de server, de bezoeker laadt alleen het bewaarde weer en je blijft ruim binnen de limiet van de API.

Let's work together.

Het weer bij je aanbod, in je eigen ontwerp.