KVKBase Team

Belgische bedrijven zoeken per postcode, gemeente en sector

Zo vind je Belgische bedrijven per postcode, gemeente, provincie en NACE-sector: de overzichtspagina's op KVKBase en zoeken via de API, met limieten.

belgiepostcodesectorenzoeken

Wie een Belgische markt wil verkennen, denkt zelden in ondernemingsnummers. De vraag is eerder: welke bakkers zitten er in 9000, welke bouwbedrijven in Henegouwen, welke vennootschappen in mijn gemeente? Deze gids laat zien hoe je dat doet met de publieke overzichtspagina’s van KVKBase en met de zoek-API voor programmatisch gebruik, en hoe de Belgische postcodes helpen om je zoekopdracht te sturen.

De overzichtspagina’s op KVKBase

Voor verkennen zonder code zijn er vier ingangen, allemaal op /be aangehaakt:

  • Steden: bedrijven per gemeente en postcode.
  • Provincies: een overzicht per provincie, handig voor regionale zoektochten.
  • Sectoren: bedrijven per activiteit volgens de NACE-indeling.
  • Rechtsvormen: bedrijven per vorm, zoals BV, NV of vzw.

Daarnaast vind je op /be/bedrijven het algemene overzicht van de bedrijfspagina’s. Die pagina’s zijn gebouwd om te bladeren en te vergelijken, niet om een volledige export te maken. Natuurlijke personen, dus eenmanszaken, tonen we niet op publieke pagina’s. Dat is een bewuste keuze rond privacy: hun adres kan het woonadres zijn.

De Belgische postcode als hulpmiddel

Een Belgische postcode bestaat uit vier cijfers. De reeksen volgen vrij nauwkeurig de provincies, al zijn er uitzonderingen. Met onderstaand schema weet je meteen in welke provincie een postcode valt, en hoe je een zoektocht per gewest kunt opdelen.

PostcodesProvincie of gewest
1000 tot 1299Brussel
1300 tot 1499Waals-Brabant
1500 tot 1999 en 3000 tot 3499Vlaams-Brabant
2000 tot 2999Antwerpen
3500 tot 3999Limburg
4000 tot 4999Luik
5000 tot 5999Namen
6000 tot 6599 en 7000 tot 7999Henegouwen
6600 tot 6999Luxemburg
8000 tot 8999West-Vlaanderen
9000 tot 9999Oost-Vlaanderen

Twee dingen vallen op. Vlaams-Brabant en Henegouwen hebben elk twee reeksen: 1500 tot 1999 loopt rond Brussel en 3000 tot 3499 rond Leuven en Tienen. Henegouwen heeft 6000 tot 6599 (rond Charleroi) en 7000 tot 7999 (Bergen en Doornik). Reken je dus met een eenvoudige “eerste cijfer”-regel, dan klopt je indeling niet altijd. Een kleine opzoektabel in je code is betrouwbaarder.

Voor het eerste cijfer geldt wel een ruwe vuistregel: 1 is Brussel en omgeving, 2 is Antwerpen, 3 is Vlaams-Brabant en Limburg, 4 is Luik, 5 is Namen, 6 en 7 zijn Luxemburg en Henegouwen, 8 is West-Vlaanderen en 9 is Oost-Vlaanderen.

Zoeken via de API

Voor programmatisch gebruik heb je GET https://api.kvkbase.nl/v1/be/search. Je geeft een q (een naamdeel, minstens twee tekens), een postalCode (vier cijfers), of allebei. Een zoekopdracht kost 1 token. Je sleutel haal je na registratie, de volledige referentie staat in de API-documentatie.

curl -s "https://api.kvkbase.nl/v1/be/search?postalCode=9000&q=bakkerij&pageSize=25" \
  -H "Authorization: Bearer YOUR_API_KEY"

Elk resultaat bevat cbeNumber, cbeNumberFormatted, name, entityType, legalForm, legalFormShort, postalCode, city, country en isActive. Dat is genoeg om een lijst te tonen of een selectie te maken.

De limiet van 25 resultaten

Dit is het punt waarop mensen vaak verrast worden. Een zoekopdracht levert nooit meer dan 25 resultaten, ook niet als je page ophoogt: page en pageSize knippen alleen binnen diezelfde 25. Het antwoord bevat total, page, pageSize en capped. Staat capped op true, dan zijn er mogelijk meer bedrijven dan getoond.

De oplossing is verfijnen in plaats van pagineren:

  • Voeg een naamdeel toe aan je postcode, bijvoorbeeld q=bouw of q=advies.
  • Doorloop meerdere naamdelen of letters en dedupliceer op cbeNumber.
  • Combineer niet te algemeen: met q=bv en een grote postcode zit je meteen aan de limiet.

Een volledige lijst van alle bedrijven in een postcode krijg je zo niet. Dat is niet het doel van deze endpoint. Heb je een lijst nummers, dan is de batch-endpoint de betere route: zie bedrijven in bulk controleren.

Zoeken per sector

De API-zoekopdracht kent geen sectorfilter. Wil je bedrijven van één sector, dan zijn er twee wegen. Op de pagina sectoren blader je per NACE-activiteit. Programmatisch haal je bedrijven op via naam en postcode en lees je in de volledige gegevens per bedrijf het veld activities. Daar staat de NACE-code van de hoofdactiviteit en de nevenactiviteiten in, met een aanduiding welke de hoofdactiviteit is. Hoe die codes in elkaar zitten lees je in de gids over NACE-codes zoeken per sector.

Een voorbeeld in JavaScript dat een postcode doorzoekt en per hit de volledige fiche opvraagt:

const headers = { Authorization: `Bearer ${process.env.KVKBASE_API_KEY}` };
const search = await fetch(
  "https://api.kvkbase.nl/v1/be/search?postalCode=9000&q=bakkerij&pageSize=25",
  { headers }
).then((r) => r.json());

for (const hit of search.results.filter((h) => h.isActive !== false)) {
  const company = await fetch(
    `https://api.kvkbase.nl/v1/be/lookup/${hit.cbeNumber}?lang=nl`,
    { headers }
  ).then((r) => r.json());
  const main = company.activities.find((a) => a.isMain);
  console.log(hit.name, hit.city, main?.sbiCode);
}

Elke lookup kost 1 token, dus filter eerst op wat je echt nodig hebt.

Praktische toepassingen

Een paar patronen die in de praktijk goed werken:

  • Een commercieel voorstel voor één streek: blader via provincies of steden om te zien welke bedrijven er zijn, en gebruik de API om een kleine, gerichte lijst te verrijken.
  • Een controle van leveranciers in een regio: zoek op postcode en naamdeel, controleer isActive en bewaar de nummers.
  • Een analyse per rechtsvorm: gebruik rechtsvormen als vertrekpunt en lees in de uitleg over rechtsvormen wat de afkortingen betekenen.

Houd er rekening mee dat gegevens niet realtime zijn en dat we geen volledigheid garanderen. Controleer voor een contract of grote levering altijd het bedrijf zelf, zoals uitgelegd in een bedrijf controleren voor je zaken doet.

Verder lezen

Wie meer wil weten over een afzonderlijke vestiging van een bedrijf, leest de gids over de vestigingseenheid. De codevoorbeelden voor elke endpoint staan in API-codevoorbeelden in curl, JavaScript en Python, en een nummer opzoeken zonder code kan met de gratis tool. Voor het algemene verhaal over de API zie je de integratiegids.

Veelgestelde vragen

Kan ik alle bedrijven van een postcode ophalen via de API?
Niet in één keer. Een zoekopdracht geeft maximaal 25 resultaten terug en het veld capped meldt of er mogelijk meer zijn. Combineer de postcode met een naamdeel om de lijst stap voor stap te verfijnen.
Kan ik in de API zoeken op NACE-sector?
De zoek-endpoint accepteert enkel een naam (q) en een postcode (postalCode). Voor sectoren gebruik je de overzichtspagina's op KVKBase, of je filtert zelf op het veld activities in de bedrijfsgegevens.
Welke postcodes horen bij welke provincie?
De Belgische postcode is vier cijfers en de reeksen volgen grofweg de provincies, bijvoorbeeld 1000 tot 1299 voor Brussel en 2000 tot 2999 voor Antwerpen. Let op dat Vlaams-Brabant en Henegouwen elk uit twee reeksen bestaan.
Staan eenmanszaken in de overzichtspagina's?
Nee. Natuurlijke personen worden uit privacyoverwegingen niet getoond op de publieke pagina's van KVKBase. Ze komen er dus niet in voor, ook al zijn ze actief.