KVK API-kosten verlagen: kies de goedkoopste call per klus
KVKBase Team

KVK API-kosten verlagen: kies de goedkoopste call per klus

Een lookup kost 1 token, een verrijkte 2 en een volledig profiel 12. Zo kies je per klus de juiste KVKBase-call en betaal je niet voor data die je weggooit.

kvkapiprijzenoptimalisatie

Veel teams beginnen met de verrijkte lookup overal, want die geeft de meeste data en is één regel code. Daarna komt de eerste waarschuwing dat het tegoed opraakt, en niemand weet welke functie de tokens heeft gebruikt. Alle calls waren correct. Ze waren alleen niet allemaal nodig.

In dit artikel zie je wat elke KVKBase-call kost en welke bij welke klus past, zodat je minder tokens gebruikt zonder data te missen die je echt nodig hebt.

Wat kost elke call

KVKBase telt gebruik in tokens. Een basis-lookup op KVK-nummer (naam, adres, status) kost 1 token. Met ?enrich=true krijg je handelsnamen, rechtsvorm, SBI-codes en vestigingen voor 2 tokens. Het volledige profiel uit het KVK Basisprofiel (?enrich=true&vat=true) voegt personeelsaantallen, inschrijfdatum, officiële SBI-omschrijvingen en het btw-nummer van rechtspersonen toe, en kost 12 tokens. Een zoekopdracht kost 1 token en alle vestigingen van een bedrijf opvragen kost 5.

De enige gratis call is GET /v1/verify/{kvkNumber}. Die zegt of een nummer bestaat en of de inschrijving actief is, en verder niets. De actuele prijzen en tokenbundels per abonnement staan op de prijzenpagina, en de volledige lijst in de API-referentie.

Het verschil is groot. Het volledige profiel kost twaalf keer zoveel als een basis-lookup. Gebruik je het voor iets wat alleen een naam en plaats nodig heeft, dan betaal je elf tokens voor data die je weggooit.

Laat de vraag de call bepalen

Zie elke functie in je product als een vraag, en kies de goedkoopste call die hem beantwoordt.

“Is dit een echt, actief bedrijf?” is een verify-call, en die is gratis. Een aanmeldformulier dat typefouten en beëindigde nummers weigert kan er de hele dag op draaien. Let op één detail: verify kent de naam niet altijd. Afhankelijk van waar het antwoord vandaan komt kan name null zijn en kan active onbekend zijn. Behandel een onbekende status dus als “vraag opnieuw met een lookup”, niet als “niet actief”.

“Van wie is dit nummer en waar zitten ze?” is de basis-lookup van 1 token. Dat dekt factuurgegevens, een checkout-prefill en de meeste klantrecords. In onze gids over KVK-nummer opzoeken staan de velden uit het antwoord.

“Onder welke naam handelen ze en wat doen ze?” vraagt om de verrijkte lookup van 2 tokens. Gebruik die als je op handelsnaam matcht of op SBI-code segmenteert.

“Hoe groot is dit bedrijf en wat is het btw-nummer?” is de enige reden om 12 tokens te betalen. Doe dat op het moment dat een beslissing ervan afhangt, zoals bij een kredietlimiet of een KYC-dossier, en niet bij elke regel van een import.

Begin niet met de dure call

Een goedkoop patroon is escaleren. Verifieer eerst, want dat is gratis en filtert elke typefout en elk beëindigd bedrijf eruit. Doe de basis-lookup alleen voor nummers die erdoor komen. Doe het volledige profiel alleen voor de kleine groep die een fase bereikt waarin je het echt nodig hebt, bijvoorbeeld een klant die een offerte boven een bepaald bedrag vraagt.

async function onboard(kvkNumber, apiKey) {
  const headers = { Authorization: `Bearer ${apiKey}` };
  const base = "https://api.kvkbase.nl/v1";

  const check = await fetch(`${base}/verify/${kvkNumber}`, { headers })
    .then((r) => r.json());
  if (!check.exists) return { ok: false, reason: "onbekend nummer" };
  if (check.active === false) return { ok: false, reason: "niet actief" };

  // 1 token: naam en adres zijn genoeg voor het account
  const company = await fetch(`${base}/lookup/${kvkNumber}`, { headers })
    .then((r) => r.json());
  return { ok: true, company };
}

In een gemiddelde aanmeldfunnel komt een flink deel nooit voorbij het formulier: typefouten, testinvoer, afgebroken pogingen. Elk daarvan kostte eerst een token en kost nu niets. De ergste typefouten vang je ook zonder call af met de checksum- en formaatregels.

Batch bespaart round trips, geen tokens

POST /v1/lookup/batch neemt tot 25 KVK-nummers per request aan en is het juiste gereedschap voor imports. Het maakt lookups alleen niet goedkoper: elk nummer in de batch wordt gerekend tegen de prijs van de variant die je vraagt, dus 25 verrijkte lookups kosten 50 tokens, of je ze nu los of samen stuurt. De batch controleert vooraf of je genoeg tokens over hebt voor de hele lijst en weigert hem anders, wat handig is omdat je nooit met een half afgeronde import blijft zitten.

Wat een batch wel scheelt is tijd en rate limit. Het gratis abonnement staat 10 requests per minuut toe en Pro 300, dus 25 nummers per request komt veel verder dan 25 losse calls. Over het opschonen van een klantenbestand lees je meer in bedrijfsgegevens in je CRM automatisch verrijken.

Haal vóór je een batch verstuurt dubbele nummers uit de lijst, en nummers die je recent al hebt opgezocht. Bedrijfsdata verandert langzaam en actieve bedrijven worden bij ons 24 uur gecachet, dus binnen dat venster nog eens vragen levert niets op.

Stel geen vragen die al beantwoord zijn

De grootste besparing is vaak geen goedkopere call maar helemaal geen call. Controleer je elke nacht dezelfde 2.000 leveranciers om te zien of er iets veranderd is, dan betaal je 2.000 lookups om te horen dat bijna niets veranderde. Een monitoring-watch meldt wanneer een bedrijf echt wijzigt, en je zoekt alleen die op. Beide opties staan in bedrijfsdata actueel houden met webhooks en polling.

Sla ook op wat je binnenkrijgt. Gebruik het KVK-nummer als sleutel, bewaar de velden die je gebruikt samen met de datum van ophalen, en haal pas opnieuw op als het record ouder is dan je eigen grens, of als een zakelijke gebeurtenis, zoals een nieuwe factuur boven een drempel, om een verse check vraagt.

Een korte audit voor vandaag

Open je logs en tel de calls per endpoint en per variant over de laatste 30 dagen. Zoek drie dingen: verrijkte of volledige-profielcalls bij functies die alleen een naam tonen, lookups die volgen op een mislukte formuliervalidatie, en hetzelfde nummer dat vaker dan één keer per dag wordt opgevraagd. Op elk van die plekken doet een goedkopere call of een opgeslagen resultaat hetzelfde werk.

Benieuwd hoe jouw gebruik eruitziet? Maak een gratis KVKBase-account aan, laat je flow eerst langs het verify-endpoint lopen en vergelijk na een week het tokenverbruik.