KVK Nummer Opzoeken: De Complete Gids voor Developers
Leer hoe je KVK nummers opzoekt, automatiseert en integreert in je applicatie. Complete gids met code voorbeelden en veelgemaakte fouten.
KVK Nummer Opzoeken: De Complete Gids voor Developers
Het KVK-nummer is de sleutel tot elk Nederlands bedrijf. Of je nu een factureringssysteem bouwt, een B2B-platform ontwikkelt of bedrijfsgegevens wilt verrijken — het opzoeken van KVK-nummers is een van de meest voorkomende taken voor developers die werken met Nederlandse bedrijfsdata.
In deze gids leggen we uit wat een KVK-nummer precies is, hoe je het opzoekt en hoe je het hele proces automatiseert.
Wat is een KVK-nummer?
Elk bedrijf dat in Nederland is ingeschreven bij de Kamer van Koophandel krijgt een uniek, achtcijferig identificatienummer. Dit nummer wordt bij de inschrijving toegekend en verandert niet gedurende het bestaan van de onderneming.
Belangrijke kenmerken van het KVK-nummer:
- Altijd exact 8 cijfers lang
- Kan beginnen met een of meer nullen (bijvoorbeeld
01234567) - Is uniek per rechtspersoon, niet per vestiging
- Verschilt van het vestigingsnummer (dat 12 cijfers telt)
Let op: een KVK-nummer is niet hetzelfde als een BTW-nummer. Het BTW-nummer is afgeleid van het fiscaal nummer en heeft een heel ander format (NL123456789B01).
Waar kun je KVK-nummers opzoeken?
1. KVK.nl (handmatig)
De officiële website van de Kamer van Koophandel biedt een zoekfunctie op kvk.nl. Je kunt zoeken op bedrijfsnaam, KVK-nummer of adres. Dit werkt prima voor incidentele lookups, maar is niet geschikt voor automatisering.
2. KVKBase API (geautomatiseerd)
Met KVKBase kun je KVK-nummers opzoeken via een eenvoudige REST API. Dit is ideaal voor integratie in je applicatie.
# Opzoeken op KVK-nummer
curl -H "Authorization: Bearer YOUR_API_KEY" \
"https://api.kvkbase.nl/api/v1/lookup/12345678"
# Zoeken op bedrijfsnaam
curl -H "Authorization: Bearer YOUR_API_KEY" \
"https://api.kvkbase.nl/api/v1/search?q=Bol.com"
Het antwoord bevat alle openbare gegevens: handelsnaam, adres, rechtsvorm, SBI-codes en meer.
3. JavaScript voorbeeld
Als je vanuit een webapplicatie werkt, kun je de API ook aanroepen met fetch:
async function lookupKvk(kvkNumber) {
const response = await fetch(
`https://api.kvkbase.nl/api/v1/lookup/${kvkNumber}`,
{
headers: {
'Authorization': 'Bearer YOUR_API_KEY',
'Content-Type': 'application/json'
}
}
);
if (!response.ok) {
throw new Error(`Lookup failed: ${response.status}`);
}
return response.json();
}
// Gebruik
const bedrijf = await lookupKvk('12345678');
console.log(bedrijf.handelsnaam); // "Voorbeeld BV"
console.log(bedrijf.adres); // Volledig adres
Veelgemaakte fouten bij het opzoeken van KVK-nummers
1. Voorloopnullen weglaten
Een van de meest voorkomende fouten is het opslaan van KVK-nummers als integer in plaats van als string. Het nummer 01234567 wordt dan 1234567 — en dat is geen geldig KVK-nummer meer.
// Fout: sla KVK-nummers nooit op als integer
const kvkNummer = 01234567; // Wordt 342391 (octaal!) of 1234567
// Goed: altijd als string opslaan
const kvkNummer = "01234567";
In je database gebruik je een VARCHAR(8) of CHAR(8) kolom, nooit een numeriek type.
2. Niet controleren of een bedrijf nog actief is
Een KVK-nummer kan toebehoren aan een bedrijf dat is uitgeschreven of ontbonden. Controleer altijd de status van het bedrijf als je het nummer gebruikt voor facturering of contracten.
3. KVK-nummer en vestigingsnummer verwarren
Het vestigingsnummer (12 cijfers) identificeert een specifieke vestiging van een bedrijf. Eén bedrijf kan meerdere vestigingen hebben, elk met een eigen vestigingsnummer, maar ze delen allemaal hetzelfde KVK-nummer.
4. Geen input-validatie toepassen
Voordat je een API-aanroep doet, valideer je het format lokaal:
function isValidKvkFormat(kvkNumber) {
return /^\d{8}$/.test(kvkNumber);
}
Dit bespaart onnodige API-calls en geeft de gebruiker direct feedback.
Automatisering: wanneer en waarom?
Handmatig KVK-nummers opzoeken werkt voor een enkel bedrijf, maar zodra je met grotere volumes werkt, wil je het proces automatiseren. Typische scenario’s:
- Onboarding: bij registratie van een B2B-klant automatisch bedrijfsgegevens ophalen
- Facturering: juiste bedrijfsnaam en adres op facturen garanderen
- CRM-verrijking: bestaande klantrecords aanvullen met actuele KVK-data
- Compliance: periodiek controleren of bedrijven nog actief zijn
Met KVKBase kun je dit in een enkele API-aanroep doen, inclusief BTW-nummer en adresgegevens.
Caching en performance
Bij het integreren van KVK-lookups in je applicatie is caching essentieel. Bedrijfsgegevens veranderen niet vaak, dus een cache van 24 uur is voor de meeste toepassingen voldoende.
const cache = new Map();
const CACHE_TTL = 24 * 60 * 60 * 1000; // 24 uur
async function cachedLookup(kvkNumber) {
const cached = cache.get(kvkNumber);
if (cached && Date.now() - cached.timestamp < CACHE_TTL) {
return cached.data;
}
const data = await lookupKvk(kvkNumber);
cache.set(kvkNumber, { data, timestamp: Date.now() });
return data;
}
Conclusie
Het opzoeken van KVK-nummers is een fundamentele bouwsteen voor elke applicatie die met Nederlandse bedrijven werkt. Door het juiste format te gebruiken (string, niet integer), input te valideren en slimme caching toe te passen, bouw je een betrouwbare integratie.
KVKBase biedt een snelle, goed gedocumenteerde API waarmee je in minuten aan de slag kunt. Geen complexe authenticatie, geen XML-parsing — gewoon een simpele REST API die JSON teruggeeft.