KvK API
KvK en Kadaster API
Deze blog is gemaakt door Huib Preij van Preij Software.
De beschrijving van de Kadaster API staat onderaan, dus na de beschrijving van de KVK.
Het gebruik van de KvK API kost €5,65 per maand.
De Kadaster API is geheel gratis.
Kijk op: https://developers.kvk.nl/nl/apis
De test omgeving is gratis.
Goed voorbeeld: https://developers.kvk.nl/nl/support/oas-swagger/zoeken-api
Zoals je hierboven ziet zijn er verschillende API's bij de KvK.
Met ZOEKEN krijg je maar een beperkt aantal gegevens. Wel de straatnaam maar niet het huisnummer. Maar belangrijk, je krijgt het KvKnummer en het Vestigingsnummer.
De opvragen zijn gratis (buiten de €5,65 per maand).
Afhankelijk welke gegevens je nodig hebt, gebruik je één van de API's
Dus vaak zal je twee opvragen na elkaar moeten doen.
Eerst de ZOEKEN API om KvKnummer en Vestiginsnummer op te halen.
Daarna bijv BEDRIJFSPROFIEL, om mbv KvKnummer andere gegevens op te halen.
Als je op GET klikt krijg je voorbeeld scherm met alle zoek opties.Met ZOEKEN krijg je maar een beperkt aantal gegevens. Wel de straatnaam maar niet het huisnummer. Maar belangrijk, je krijgt het KvKnummer en het Vestigingsnummer.
De opvragen zijn gratis (buiten de €5,65 per maand).
Afhankelijk welke gegevens je nodig hebt, gebruik je één van de API's
Dus vaak zal je twee opvragen na elkaar moeten doen.
Eerst de ZOEKEN API om KvKnummer en Vestiginsnummer op te halen.
Daarna bijv BEDRIJFSPROFIEL, om mbv KvKnummer andere gegevens op te halen.
Kies bij Handelsnaam en vervolgens EXECUTE, en je krijgt de code te zien die hij gebruikt.
"Preij Software" kan je in de testomgeving niet gebruiken. Je moet één van de handelsnamen gebruiken van de voorbeelden of het KvKnummer.
'https://developers.kvk.nl/test/api/v1/zoeken?handelsnaam=Preij%20Software&pagina=1&aantal=10'
Dit is de URL in de test-omgeving. Preij Software als handelsnaam zal hier niet werken omdat je uit de testdata moet kiezen die boven GET staat.
Als je de API-KEY hebt aangevraagd, duurde het bij mij nog geen 24 uur, dan kan je een "echte" test doen. De URL ziet er dan als volgt uit.
https://api.kvk.nl/api/v1/zoeken?handelsnaam=Preij%20Software&pagina=1&aantal=10
De code in WebDev ziet er dan alsvolgt uit:
ResultaatJson is JSON <description="OpvraagKvK">
ResultaatResponse is restResponse
hReq is httpRequest
hReq..Method = httpGet
hReq..Header["apikey"] = EDT_API_KEY
hReq..URL=URLENCODE( https://api.kvk.nl/api/v1/zoeken?handelsnaam=Preij%20Software&pagina=1&aantal=10)
ResultaatResponse = RESTSend(hReq)
ResultaatJson = ResultaatResponse..Content
IF ResultaatResponse..StatusCode = 200 THEN
EDT_Result = ResultaatJson
ELSE
Info("Fout opgetreden status is "+ ResultaatResponse..StatusCode)
END
Het kan zijn dat je URL nog middels URLEncode moet coderen. Spaties vervangen etc.
{ "pagina":1, "aantal":10, "totaal":1, "resultaten":[ { "kvkNummer":"62261673", "vestigingsnummer":"000010842535", "handelsnaam":"Preij Software", "adresType":"bezoekadres", "straatnaam":"Pluim-es", "plaats":"Krimpen aan den IJssel", "type":"hoofdvestiging", "links":[ { "rel":"basisprofiel", "href":"https:\/\/api.kvk.nl\/api\/v1\/basisprofielen\/62261673" }, { "rel":"vestigingsprofiel", "href":"https:\/\/api.kvk.nl\/api\/v1\/vestigingsprofielen\/000010842535" } ] } ] }
Plak de JSON in Notepad++
Sla het bestand vervolgens op als JSON sleep dat in WebDev naar de External Descriptions.
Dit moet een JSON bestand zijn vandaar dat ik de stap met Notepad++ maak.
Dit moet een JSON bestand zijn vandaar dat ik de stap met Notepad++ maak.
Nu kan je de JSON openen met <description="OpvraagKvK">.
ResultaatJson is JSON <description="OpvraagKvK">
Zodat je straks bij het verwerken van het resultaat makkelijk de verschillende velden uit de JSON kan gebruiken, zoals
De opvraag kan meerdere resultaten geven, bijv op één adres zitten meerdere bedrijven.
Het aantal teruggegeven resultaten staat in dit geval in ResultaatResponse..count.
Het aantal teruggegeven resultaten staat in dit geval in ResultaatResponse..count.
nAantal is int = ResultaatResponse..Count
EDT_Straatnaam = ResultaatHandelsnaam.resultaten[1].straatnaam
Als het aantal groter is dan één dan kan je met een loop door de resultaten lopen.
LET OP: Bij zoeken staat in de Help
https://developers.kvk.nl/nl/support/oas-swagger/zoeken-api
https://developers.kvk.nl/nl/support/oas-swagger/zoeken-api
dat er bepaalde combinaties wel of niet mogelijk zijn.
Niet mogelijk: Straatnaam+huisnummer+Plaats
Wel mogelijk: Straatnaam+plaats
Niet mogelijk: Straatnaam+huisnummer+Plaats
Wel mogelijk: Straatnaam+plaats
Wel mogelijk: Postcode+huisnummer (Postcode zonder spatie tussen cijfers en letters.
Bij huisnummer staat dat je dat alleen in combinatie met Postcode kan gebruiken.
Kadaster API
BAG betekent: Basisregistratie Adressen en Gebouwen
De kadaster API werkt in principe hetzelfde.
Er zijn echter een paar essentiële verschillen.
Het gebruik vd Kadaster API is gratis.
Je krijgt van het kadaster twee API-Keys:
1. Key voor de testomgeving.
Haalt gegevens op van 2018. Geen actuele gegevens dus.
De URL wijkt ook iets af.
https://api.bag.acceptatie.kadaster.nl/lvbag/individuelebevragingen/v2/adressen?postcode=2925CN&huisnummer=96
Er zijn echter een paar essentiële verschillen.
Het gebruik vd Kadaster API is gratis.
Je krijgt van het kadaster twee API-Keys:
1. Key voor de testomgeving.
Haalt gegevens op van 2018. Geen actuele gegevens dus.
De URL wijkt ook iets af.
https://api.bag.acceptatie.kadaster.nl/lvbag/individuelebevragingen/v2/adressen?postcode=2925CN&huisnummer=96
2. Key voor de Productie omgeving.
De Url voor de productie omgeving:
https://api.bag.kadaster.nl/lvbag/individuelebevragingen/v2/adressen?postcode=2925CN&huisnummer=96
https://api.bag.kadaster.nl/lvbag/individuelebevragingen/v2/adressen?postcode=2925CN&huisnummer=96
Het woord "acceptatie" ontbreekt hier.
In de handleiding (Download) staat in het voorbeeld van de URL het woord "bag" op de verkeerde plaats.
Hoe het werkt en goede voorbeelden staan in:
https://lvbag.github.io/BAG-API/Technische%20specificatie/#/Adres/bevraagAdressen
https://lvbag.github.io/BAG-API/Technische%20specificatie/#/Adres/bevraagAdressen
In de code van de Rest request Wijkt de Header van de Kadaster af van de KvK.
ResultaatJson is JSON
ResultaatHandelsnaam is JSON <description="KadasterAdres">
ResultaatResponse is restResponse
hReq is httpRequest
hReq..Method = httpGet
hReq..Header["x-api-key"] = EDT_API_KEY
hReq..URL = URLEncode(EDT_HeleUrl)
ResultaatResponse = RESTSend(hReq)
ResultaatHandelsnaam= ResultaatResponse..Content
Bij Header staat hier "x-api-key" en bij de KvK staat daar "apikey"
Succes.
Huib Preij.
Huib Preij.
huib.preij@gmail.com
Tel: 0621540371
Reacties
Een reactie posten
Bedankt voor je reactie. We mailen je zo snel mogelijk terug! WDG