KBO Connect API
Alles wat je nodig hebt om te integreren met de KBO Connect API.
Batch API
EnterpriseZoek tot 50 bedrijven of vestigingen op in één enkele POST-aanroep. Ontworpen voor bulk-CRM-verrijking, KYC-pipelines en nachtelijke datasynchronisatie. Onbekende nummers worden stilzwijgend weggelaten — je ontvangt altijd een gedeeltelijk resultaat.
// POST /v1/companies/batchconst response = await fetch('https://api.kboconnect.be/v1/companies/batch',{method: 'POST',headers,body: JSON.stringify(["0123456789","0987654321","0456789123"])});const companies = await response.json();// Response: array of matching companies[{"enterprise_number": "0123.456.789","denomination": { "nl": "Voorbeeld NV" },"status": "active","address": { "city": "Brussel" }}// ... meer resultaten]
POST /establishments/batch werkt op dezelfde manier met vestigingsnummers.
Authenticatie
De KBO Connect API gebruikt Bearer-tokenauthenticatie. Voeg je API-sleutel toe aan de Authorization-header van elk verzoek.
// Authentication headerconst headers = {'Authorization': 'Bearer your_api_key','Content-Type': 'application/json','Accept-Language': 'nl'};
Eerste verzoek
Maak je eerste API-aanroep om bedrijfsgegevens op te halen aan de hand van een ondernemingsnummer. Het formaat kan met of zonder punten zijn.
curl -X GET "https://api.kboconnect.be/v1/enterprises/0123456789" \-H "Authorization: Bearer your_api_key" \-H "Accept-Language: nl"
// GET /v1/enterprises/0123456789const response = await fetch('https://api.kboconnect.be/v1/enterprises/0123456789',{ headers });const company = await response.json();// Response:{"enterprise_number": "0123.456.789","denomination": {"nl": "Voorbeeld NV"},"status": "active","juridical_form": {"code": "014","description": "Naamloze vennootschap"},"address": {"street": "Koningsstraat","house_number": "123","postal_code": "1000","city": "Brussel"},"activities": [{"nace_code": "62010","description": "Computerprogrammering"}]}
Endpoints
Overzicht van alle beschikbare API-endpoints. Klik op een endpoint voor meer details.
/v1/enterprises/{enterprise_number}Haal bedrijfsgegevens op aan de hand van het ondernemingsnummer/v1/enterprises/searchZoek bedrijven op naam, adres of NACE-code/v1/establishments/{establishment_number}Haal vestigingsgegevens op aan de hand van het vestigingsnummer/v1/enterprises/{enterprise_number}/branchesGeef alle vestigingen van een onderneming weer/v1/nace-codesGeef alle beschikbare NACE-codes met beschrijvingen weer/v1/companies/batchBatch API/v1/establishments/batchBatch APIZoeken en filteren
De search-endpoint ondersteunt verschillende queryparameters om resultaten te filteren.
| Parameter | Type | Beschrijving |
|---|---|---|
| q | string | Zoekterm voor bedrijfsnaam |
| city | string | Filter op stad |
| postal_code | string | Filter op postcode |
| nace_code | string | Filter op NACE-activiteitscode |
| status | string | active, inactive, all |
| page | integer | Paginanummer (standaard: 1) |
| limit | integer | Resultaten per pagina (max: 100) |
// GET /v1/enterprises/search?q=software&city=Brusselconst response = await fetch('https://api.kboconnect.be/v1/enterprises/search?' +'q=software&city=Brussel&limit=10',{ headers });const results = await response.json();// Response:{"total": 245,"page": 1,"limit": 10,"enterprises": [{"enterprise_number": "0123.456.789","denomination": "Voorbeeld Software NV","city": "Brussel","nace_code": "62010"},// ... meer resultaten]}
Uw quotum programmatisch bewaken
Elk geverifieerd API-antwoord bevat vier antwoordheaders die je programmatisch kunt uitlezen — zonder het dashboard te bezoeken.
| Header | Beschrijving |
|---|---|
| X-Monthly-Limit | Uw totale maandelijkse API-oproeflimiet voor het huidige abonnement |
| X-Monthly-Used | Aantal API-aanroepen verbruikt in de huidige factureringsperiode |
| X-Monthly-Remaining | Resterende aanroepen — max(0, limiet − verbruikt) |
| X-Quota-Warning | Ingesteld op "true" wanneer u uw maandelijkse limiet nadert |
// Reading quota headers from any API responseconst res = await fetch('https://api.kboconnect.be/v1/enterprises/0123456789',{ headers });const limit = parseInt(res.headers.get('X-Monthly-Limit'));const used = parseInt(res.headers.get('X-Monthly-Used'));const remaining = parseInt(res.headers.get('X-Monthly-Remaining'));const warning = res.headers.get('X-Quota-Warning') === 'true';if (warning) {console.warn(`⚠ Low quota: ${remaining} of ${limit} calls remaining`);}
API Speeltuin
Probeer de KBO Connect API rechtstreeks vanuit uw browser met uw eigen API sleutel.