De overheid heeft een gratis dienst beschikbaar gesteld voor het ontsluiten van adresgegevens. Dit doen zij via het zogeheten 'PDOK'-loket. Concreet houdt dit in dat deze instelling diverse webservices aanbiedt, waarmee door diverse GEO-data kan worden gezocht.
Een veel gewenste functionaliteit in webshops is het vinden van de plaats + straat op basis van het ingevoerde postcode en huisnummer. Hiervoor heeft het PDOK een 'locatieserver' ingericht met een webservice/api. Alle informatie daarover is uiteraard op de site van het PDOK te vinden. Als u gebruik gaat maken van deze service, let dan op dat u de aanvragen cachet! Deze dienst wordt aangeboden op zogeheten 'fair use policy'. Als u dus teveel postcodes per uur aanvraagt, kan het zijn dat u wordt geblokkeerd.
Adresgegevens behorende bij een postcode kan via de volgende url worden opgevraagd,
https://api.pdok.nl/bzk/locatieserver/search/v3_1/free?q=*
Dit is een lucene/solr endpoint. De syntax die hiervoor gebruikt wordt, wordt in de Solr documentatie omschreven. Als u hier de ins & outs van wilt weten, kost dit waarschijnlijk minimaal een dag om er bekend mee in te raken.
Een voorbeeld voor het zoeken op postcode + huisnummer ziet er als volgt uit:
https://api.pdok.nl/bzk/locatieserver/search/v3_1/free?fq=postcode:1071XX&fq=huisnummer~1*
Deze opdracht is alsvolgt opgebouwd: 'fq' staat voor 'facet-query'. Een 'facet' is een onderdeel van een adres, bij deze zoekopdracht wordt dus gezocht op postcode '1071XX'. Als huisnummer wordt een zogeheten 'fuzzy'-zoekopdracht gebruikt, omdat huisnummers met toevoegsels niet consequent hetzelfde worden genoteerd/ingevoerd. Solr sorteert vervolgens de gevonden resultaten op basis van score ('best match').
Voorbeeld implementatie:
