Belgium KBO/BCE Company Scraper - Named Directors & NACEBEL avatar

Belgium KBO/BCE Company Scraper - Named Directors & NACEBEL

Pricing

from $5.00 / 1,000 company records

Go to Apify Store
Belgium KBO/BCE Company Scraper - Named Directors & NACEBEL

Belgium KBO/BCE Company Scraper - Named Directors & NACEBEL

Scrape Belgium's KBO/BCE registry from the official public search: company identity, status, legal form, address, NACEBEL activity codes and NAMED directors/managers. Lookup by enterprise/VAT number or company name. No API key.

Pricing

from $5.00 / 1,000 company records

Rating

0.0

(0)

Developer

getregdata

getregdata

Maintained by Community

Actor stats

0

Bookmarked

12

Total users

6

Monthly active users

9 days ago

Last modified

Share

Belgium KBO/BCE Company Scraper - Directors, VAT & NACEBEL Activities

Extract official company data from Belgium's KBO/BCE (Crossroads Bank for Enterprises / Kruispuntbank van Ondernemingen / Banque-Carrefour des Entreprises) - the national company register. Get enterprise & VAT number, status, legal form, registered address, NACEBEL activity codes and, crucially, the named directors and managers of each company. Look up by enterprise/VAT number or by company name, in bulk. There is no official public API for the KBO/BCE public search - this actor is the API.

No login, no API key, nothing to configure - a number or a name in, structured JSON out.

Goes deeper than the GLEIF index

Most "Belgian company" tools just echo the shallow GLEIF index - enterprise number, name, address, legal form - and stop. This actor reads the official KBO/BCE detail page and returns the data the others omit:

  • Named directors / managers (the Functions block) - with role and appointment date.
  • NACEBEL activity codes - VAT, NSSO, and EC schemes, across the 2025 / 2008 / 2003 versions.
  • Ex officio strike-offs (struckOff, strikeOffs) - a company struck off for not filing its accounts or its UBO data can still show status "Active" and "Normal situation". The strike-off sits in its own row, and this actor returns it with its reason and date.
  • Full registered-seat address, status, legal situation, start date, and establishment-unit count.
  • All registered names and abbreviations with language and "since" dates.

That makes it a real KYC / KYB / due-diligence source for Belgium, not just a lead list.

What data do you get?

One record per company:

{
"enterpriseNumber": "0417.497.106",
"vatNumber": "BE0417497106",
"name": "Anheuser-Busch InBev",
"status": "Active",
"legalSituation": "Normal situation",
"struckOff": false,
"strikeOffs": [],
"startDate": "August 2, 1977",
"entityType": "Legal person",
"legalForm": "Public limited company",
"address": { "full": "Grand-Place 1, 1000 Bruxelles", "street": "Grand-Place 1", "postalCode": "1000", "municipality": "Bruxelles", "country": "Belgium" },
"establishmentUnits": 5,
"activities": [ { "code": "70.100", "description": "Activities of head offices", "scheme": "VAT", "version": "2025", "since": "January 1, 2025" } ],
"functions": [ { "function": "Director", "personName": "Van Damme, Alexandre", "since": "April 24, 2024" } ],
"source": "KBO/BCE Public Search (kbopub.economie.fgov.be)",
"sourceUrl": "https://kbopub.economie.fgov.be/kbopub/toonondernemingps.html?ondernemingsnummer=0417497106",
"scrapedAt": "2026-06-28T00:00:00.000Z"
}

How much does it cost?

Pay per result - you are not charged for Apify platform usage, only per company record. See the Pricing tab on this page for the current figure. The free Apify plan returns a small preview. No subscription, no minimum.

Data comes from the official KBO/BCE Public Search at kbopub.economie.fgov.be, operated by the Belgian FPS Economy. This actor reads the free public-search interface only - it does not bypass any login or paywall, and it does not access the non-public Belgian UBO register. Company-officer data is published by the register by law for transparency (see CJEU Manni, C-398/15). Use the data lawfully (KYC/AML, due diligence, B2B); the registry's reuse terms prohibit reuse of personal data for direct marketing.

How do I use it?

Click Try it and look up companies by enterprise or VAT number (any format: 0417.497.106, 0417497106, BE0417497106):

{ "searchMode": "byNumber", "enterpriseNumbers": ["0417.497.106", "BE0400378485"] }

Or search by name: { "searchMode": "byName", "searchQuery": "Colruyt", "activeOnly": true, "maxResults": 25 }.

Input options

FieldTypeDescription
searchModestringbyNumber (exact lookup, best for KYC/enrichment) or byName (phonetic name search). Default byNumber.
enterpriseNumbersarrayEnterprise / VAT numbers (any format), used in byNumber mode.
searchQuerystringCompany name, used in byName mode.
languagestringLabel language: en, nl, fr, de (data is identical). Default en.
activeOnlybooleanName search: return only active entities. Default true.
maxResultsintegerCap on records extracted (0 = no limit). Default 0.

What you can do with it

  • KYC / KYB onboarding - verify a Belgian counterparty's existence, status, and directors from the VAT number.
  • Due diligence & credit risk - check the legal situation (e.g. bankruptcy), activity codes, and management.
  • B2B data enrichment - resolve enterprise/VAT numbers to legal name, address, and NACEBEL sector.
  • Sales & market research - build a sector map of active Belgian entities by name.

Run it from code

# cURL - start a run and get the dataset back
curl -X POST "https://api.apify.com/v2/acts/regdata~belgium-kbo-company-scraper/run-sync-get-dataset-items?token=YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{ "searchMode": "byNumber", "enterpriseNumbers": ["0417.497.106"] }'
// Node.js - apify-client
import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'YOUR_TOKEN' });
const run = await client.actor('regdata/belgium-kbo-company-scraper').call({ searchMode: 'byNumber', enterpriseNumbers: ['0417.497.106'] });
const { items } = await client.dataset(run.defaultDatasetId).listItems();
# Python - apify-client
from apify_client import ApifyClient
client = ApifyClient("YOUR_TOKEN")
run = client.actor("regdata/belgium-kbo-company-scraper").call(run_input={"searchMode": "byNumber", "enterpriseNumbers": ["0417.497.106"]})
items = client.dataset(run["defaultDatasetId"]).list_items().items

Integrations

Runs anywhere Apify does: call it from the REST API, schedule recurring enrichment, pipe results into n8n / Make / Zapier, or use it from any MCP client (Claude, Cursor) via mcp.apify.com.

FAQ

Is it legal? Yes. It reads the free public KBO/BCE search; officer data is published by law for transparency (CJEU Manni). It does not touch the non-public UBO register. Respect the registry's reuse terms (no personal-data reuse for direct marketing).

Do I need an account, API key, or proxy? No - none of them. Just an Apify account.

byNumber vs byName? byNumber is an exact lookup (best for KYC / enrichment); byName is the registry's phonetic search (refine common names with a place or legal form).

A company has no directors listed - why? Some entities (VAT units, dormant subsidiaries) legitimately have no listed directors, so functions is empty. That is a correct answer, not a miss.

The status says Active - can the company still be struck off? Yes. Belgium strikes companies off ex officio for not filing annual accounts or UBO data, and the status field keeps saying "Active". Read struckOff and strikeOffs (reason, type and date) before onboarding or granting credit. A struck-off entry looks like { "reason": "Striking off as a result of non-filing of annual accounts", "type": "nonFilingAnnualAccounts", "since": "Since November 24, 2020", "sinceDate": "2020-11-24" }.

What export formats are supported? JSON, CSV, Excel, or XML, or read live via the API.

Part of a suite of official government registry actors - no public API to build or maintain, pay per result, nothing to configure.

CountryActors
PolandBDO · CRBR · KRS (financials) · EKW · KNF · KRS (board) · KRZ · MSiG · KYB check · PEP (Sejm) · REGON (sites) · REGON · UOKiK
GermanyInsolvenzbekanntmachungen · Handelsregister
SpainBORME · Registro Mercantil · Registro Público Concursal
ItalyINI-PEC · Registro Imprese
AustriaEdiktsdatei · WKO
FranceSociete.com
BelgiumKBO / BCE (this actor)
CzechiaISIR
SlovakiaRPVS
CyprusDRCOR
IrelandCRO
PortugalPublicações MJ
NigeriaCAC
ColombiaRUES
USACalifornia SoS · California UCC
UAEADGM
GlobalAdverse media

Common combinations: company register -> UBO -> insolvency/debtors -> adverse media is the standard KYB/onboarding chain.

For Poland that whole chain is one call: Poland KYB Risk Check takes a NIP or KRS and returns identity, beneficial owners and insolvency - screened against the company and every beneficial owner - as a single verdict. The component registry lookups it runs bill as usual, plus a small orchestration fee.

Full suite: apify.com/regdata · Callable from any MCP client via mcp.apify.com