Naar hoofdinhoud

KoppelingenPostcode API

Postcode API koppelen aan je website.

Met een postcode API vult je formulier of checkout het adres zelf aan: postcode en huisnummer erin, straat en plaats eruit. Wij koppelen de API van Postcode.nl of de gratis route via het Kadaster en PDOK, en voor zakelijke klanten de KVK API voor bedrijfsgegevens.

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 Postcode API je oplevert.

Adressen die bestaan. Straat en plaats komen uit de Basisregistratie Adressen en Gebouwen, dus een pakket of offerte gaat naar een adres dat er echt is.

Een korter formulier. Twee velden in plaats van vijf, en de bezoeker ziet meteen of het klopt.

Bedrijfsgegevens erbij. Een zakelijke klant typt zijn KVK-nummer of bedrijfsnaam, en naam en vestigingsadres komen mee.

Technisch

De koppeling in het kort.

Vorm van de koppeling
Postcode.nl: REST op api.postcode.eu, Nederlandse adressen via /nl/v1/addresses/postcode/, met de postcode en het huisnummer erachter. Gratis: de BAG API Individuele Bevragingen (v2) van het Kadaster en de PDOK Locatieserver. Bedrijven: de KVK API met Zoeken, Basisprofiel en Vestigingsprofiel
Authenticatie
Postcode.nl: key en secret via HTTP Basic. BAG API: gratis sleutel in de header X-Api-Key. PDOK: geen sleutel. KVK: sleutel bij een abonnement
Richting
Van het systeem naar de site
Verversing
Per aanvraag, op het moment dat de bezoeker invult
Wij bouwen het op
WordPress, Next.js, Maatwerk

Waar het misgaat

  • Een vrije zoekopdracht geeft altijd iets terug. Vraag je de Locatieserver van PDOK om "5281RA 65", dan krijg je "Eindhovenseweg 8a, 5281RA Boxtel" terug: een ander adres, zonder foutmelding, omdat het huisnummer op die postcode niet bestaat. Dat hebben we zelf nagemeten. Wie het eerste resultaat in het formulier zet, maakt van een typfout een verkeerd adres. Zoek daarom met filters op postcode en huisnummer; nul resultaten betekent dan dat het adres niet bestaat, en dat kun je de bezoeker laten zien.
  • De BAG API is niet bedoeld voor bulk. De BAG API Individuele Bevragingen is gratis, met een grens van 50.000 bevragingen per dag en 50 per seconde. Ga je over de daglimiet, dan werkt de sleutel pas na middernacht weer. Voor het vullen of opschonen van een hele klantenbase wijst het Kadaster naar het BAG Extract of de BAG GeoPackage, niet naar de API.
  • Een sleutel met secret hoort niet in de browser. Postcode.nl werkt met een key en een secret, mee als gebruikersnaam en wachtwoord. Staat dat in de code van je pagina, dan kan iedereen er aanvragen mee doen op jouw tegoed. Wij zetten de aanvraag altijd op je eigen server, en houden daar ook de snelheidslimiet in de gaten: 35 aanvragen per seconde voor aanvullen en valideren, 150 voor de Nederlandse postcode-API.
  • Toevoegingen worden op tien manieren ingetypt. 12A, 12-a, 12 A en 12 bis lijken voor een bezoeker hetzelfde. In de BAG zijn huisletter en huisnummertoevoeging twee aparte velden, en Postcode.nl vraagt de toevoeging als apart deel van het adres. Splits wat de bezoeker invult dus eerst netjes op, anders vindt de koppeling een bestaand adres niet.

Bron: documentatie van Kadaster, Apeldoorn

Wat is een postcode API?

Een postcode API is een dienst die je website een adres teruggeeft op basis van postcode en huisnummer. De bezoeker vult twee velden in, je site stelt de vraag op de achtergrond, en straat en plaats staan er meteen.

De bron is bijna altijd dezelfde: de Basisregistratie Adressen en Gebouwen, de BAG, die gemeenten bijhouden en het Kadaster landelijk beschikbaar stelt. Wat verschilt is wie de vraag beantwoordt, hoe snel, tegen welke voorwaarden, en wat er nog bij komt, zoals adressen in andere landen.

Er zijn meerdere aanbieders. Postcode.nl is een veelgebruikte betaalde, met Nederlandse adressen en aanvullen voor veertien landen. postcodeapi.nu is een aparte aanbieder die toevallig "Postcode API" als merknaam gebruikt. En PostNL heeft een eigen postcodecheck voor in de checkout. Daarnaast kun je rechtstreeks bij de overheid terecht, via het Kadaster en PDOK. Wij zijn geen van deze partijen; wij bouwen de koppeling met de bron die bij jouw situatie past.

Postcode.nl, de BAG of PDOK: welke route kies je?

Postcode.nl is de route voor een webshop die ook in het buitenland verkoopt of die aanvullen tijdens het typen wil, zoals je dat van grote webshops kent. Je betaalt een jaarbedrag met een prijs per aanvraag, je kunt gratis testen na registratie, en er zijn kant-en-klare plugins voor onder meer WooCommerce, Magento en Shopware.

De BAG API Individuele Bevragingen van het Kadaster is gratis en geeft meer dan alleen straat en plaats: ook het verblijfsobject achter het adres, met gegevens zoals oppervlakte en gebruiksdoel. Je vraagt er een sleutel voor aan via een formulier. Er is geen aparte testomgeving, dus je test direct met je eigen sleutel op de echte gegevens.

De Locatieserver van PDOK is de route zonder drempel: open, gratis en zonder sleutel. Hij heeft een aanvulfunctie voor tijdens het typen, een vrije zoekfunctie en een opzoekfunctie, en geeft bij een adres ook coördinaten terug. Voor een eenvoudig contact- of aanvraagformulier is dat vaak genoeg.

Onze vuistregel: alleen Nederland en een gewoon formulier, dan PDOK of de BAG API. Een webshop met buitenlandse klanten of veel verkeer in de checkout, dan Postcode.nl, omdat daar een vaste snelheidslimiet en ondersteuning tegenover staan.

Hoe de koppeling in een formulier werkt

Het formulier stuurt postcode en huisnummer naar een endpoint op je eigen server. Die zet de invoer eerst in de goede vorm: postcode in hoofdletters zonder spatie, het huisnummer los van huisletter en toevoeging. Pas dan gaat de vraag naar de bron.

Komt er één adres terug, dan vullen we straat en plaats in en laten we de velden aanpasbaar. Komen er meerdere terug, bijvoorbeeld omdat er op hetzelfde nummer een A en een B zijn, dan laten we de bezoeker kiezen. Komt er niets terug, dan zeggen we dat ook, in plaats van stil een ander adres in te vullen.

En de bron kan uitvallen. Daarom blijft het formulier altijd gewoon in te vullen met de hand. Een koppeling die het formulier blokkeert als de API niet antwoordt, kost je meer aanvragen dan hij oplevert.

Bedrijfsgegevens ophalen met de KVK API

Voor zakelijke formulieren is het adres vaak niet genoeg. Met de KVK API zoek je in het Handelsregister op KVK-nummer, naam, of postcode met huisnummer, en haal je daarna het Basisprofiel of Vestigingsprofiel op: de officiële naam, de rechtsvorm, de activiteiten en het bezoek- en postadres.

De KVK API is niet gratis en niet anoniem. Je sluit een abonnement af per sleutel, betaalt per bevraging, en Zoeken zelf is gratis. Je moet ingeschreven staan in het Handelsregister en een overeenkomst tekenen; de aansluiting volgt daarna binnen enkele werkdagen. Om te bouwen is er een gratis testomgeving met fictieve bedrijven.

Wat het oplevert, zit vooral achter het formulier. Een aanvraag die met het KVK-nummer en het vestigingsadres binnenkomt, zet je direct compleet in je CRM, bijvoorbeeld in HubSpot, zonder dat iemand bedrijfsgegevens overtypt.

Gratis is niet zonder voorwaarden

De overheid zet veel gegevens open, net als bij RDW Open Data, maar gratis betekent niet onbeperkt. De BAG API heeft zijn vaste grenzen per dag en per seconde. Bij de Locatieserver van PDOK staat geen getal, en dat is geen uitnodiging om er een hele database mee te vullen.

Wij bewaren daarom wat we ophalen. Een adres dat vandaag is opgevraagd, hoeft morgen niet opnieuw. Dat scheelt aanvragen, en het scheelt laadtijd voor de bezoeker.

Bij Postcode.nl en de KVK API is het omgekeerd: daar kost elke aanvraag geld. Een formulier dat bij elke toetsaanslag een vraag stelt, of een bot die het formulier duizend keer invult, zie je terug op de factuur. Een korte wachttijd voordat de aanvraag vertrekt en een simpele bescherming tegen bots horen er dus bij.

Postcode API koppelen met WordPress of met maatwerk

Op WordPress komt de postcodecheck in het formulier dat je al gebruikt. Een kleine uitbreiding op de server doet de aanvraag en vult de velden; de sleutel blijft op de server. Voor een WooCommerce-webshop gebruiken we waar het kan de officiële plugin van Postcode.nl, en bouwen we zelf wat die niet doet, zoals de koppeling met KVK-gegevens of de gratis BAG-route.

Op een maatwerksite in Next.js is het een eigen serverroute met een cache ervoor. Dat is de route voor een offertetool of aanmeldportaal waarin het adres meer bepaalt, zoals het werkgebied, de bezorgkosten of de vraag welke vestiging een aanvraag krijgt.

Formulieren en maatwerk als dit 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

Is er een gratis postcode API in Nederland?

Ja. De BAG API Individuele Bevragingen van het Kadaster is gratis, met een sleutel die je via een formulier aanvraagt en een grens van 50.000 bevragingen per dag. De Locatieserver van PDOK is ook gratis en werkt zonder sleutel. Betaalde diensten zoals Postcode.nl voegen buitenlandse adressen, een vaste snelheidslimiet en kant-en-klare plugins toe.

Is er een API om postcodes te zoeken met een adres?

Ja. Met de Locatieserver van PDOK zoek je op straat, huisnummer en plaats en krijg je het volledige adres met postcode terug, gratis en zonder sleutel. Controleer wel of het resultaat echt het gevraagde adres is: een vrije zoekopdracht geeft altijd het dichtstbijzijnde resultaat, ook als het adres niet bestaat.

Wat is het verschil tussen Postcode.nl en postcodeapi.nu?

Het zijn twee aparte aanbieders van adresgegevens. Postcode.nl levert Nederlandse adressen en aanvullen voor veertien landen, met een jaarabonnement en een prijs per aanvraag. postcodeapi.nu gebruikt "Postcode API" als merknaam en zet postcode en huisnummer om in straat en plaats. Beide hebben plugins voor WooCommerce. Wij koppelen de aanbieder die bij je site past.

Heb ik een API key nodig voor de BAG API?

Ja. Voor de BAG API Individuele Bevragingen vraag je een gratis sleutel aan via een formulier van het Kadaster, en die gaat mee in de header X-Api-Key. Er is geen aparte testomgeving, dus je test meteen op de echte gegevens. Wil je zonder sleutel beginnen, dan is de Locatieserver van PDOK de route.

Wat is het verschil tussen de BAG API en de Locatieserver van PDOK?

De BAG API van het Kadaster geeft per adres de volledige gegevens uit de BAG, zoals het verblijfsobject en het pand, en vraagt een gratis sleutel. De Locatieserver van PDOK is een zoekdienst zonder sleutel, gemaakt om adressen te vinden en aan te vullen tijdens het typen. Voor een formulier is PDOK vaak genoeg; voor gebouwgegevens is het de BAG API.

Wat kost de KVK API?

De KVK API kost € 6,40 per maand per sleutel, plus € 0,02 per bevraging. Zoeken in het Handelsregister is gratis; het Basisprofiel en Vestigingsprofiel worden per bevraging gerekend. Je moet zelf in het Handelsregister staan en een overeenkomst tekenen. Om te bouwen is er een gratis testomgeving met fictieve bedrijven.

Werkt een postcodecheck ook in de WooCommerce-checkout?

Ja. Postcode.nl heeft een officiële plugin voor WooCommerce die straat en plaats aanvult op postcode en huisnummer. Wil je de gratis BAG-route of KVK-gegevens in de checkout, dan bouwen we een kleine uitbreiding die de aanvraag via je eigen server laat lopen, zodat de sleutel niet in de browser staat.

Kan ik ook Belgische of Duitse adressen laten aanvullen?

Ja, maar niet via de BAG of PDOK, want die bevatten alleen Nederlandse adressen. Postcode.nl vult adressen aan in veertien landen, waaronder België, Duitsland, Frankrijk en het Verenigd Koninkrijk. Voor een webshop met buitenlandse klanten is dat de logische route, eventueel met de gratis Nederlandse bron ernaast.

Krijg ik ook coördinaten bij een adres?

Ja. De Locatieserver van PDOK geeft bij elk adres een punt in lengte- en breedtegraad terug. De BAG API geeft geometrie in het Nederlandse RD-stelsel, en dan moet je met de header Accept-Crs aangeven dat je dat stelsel wilt. Handig voor een kaart, een werkgebied of het berekenen van een afstand.

Wat gebeurt er als de postcode API niet antwoordt?

Dan vult de bezoeker het adres zelf in en werkt het formulier gewoon door. Wij bouwen de koppeling zo dat een uitblijvend antwoord nooit het versturen blokkeert. Bij een vaste limiet, zoals de 50 bevragingen per seconde van de BAG API, wacht de koppeling kort en probeert het opnieuw.

Let's work together.

Twee velden invullen, de rest staat er al.