Belgium KBO/BCE Company Scraper - Named Directors & NACEBEL
Pricing
from $5.00 / 1,000 company records
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
Maintained by CommunityActor stats
0
Bookmarked
12
Total users
6
Monthly active users
9 days ago
Last modified
Categories
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
Functionsblock) - 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.
Is it legal, and where does the data come from?
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
| Field | Type | Description |
|---|---|---|
searchMode | string | byNumber (exact lookup, best for KYC/enrichment) or byName (phonetic name search). Default byNumber. |
enterpriseNumbers | array | Enterprise / VAT numbers (any format), used in byNumber mode. |
searchQuery | string | Company name, used in byName mode. |
language | string | Label language: en, nl, fr, de (data is identical). Default en. |
activeOnly | boolean | Name search: return only active entities. Default true. |
maxResults | integer | Cap 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 backcurl -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-clientimport { 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-clientfrom apify_client import ApifyClientclient = 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.
Related actors
Part of a suite of official government registry actors - no public API to build or maintain, pay per result, nothing to configure.
| Country | Actors |
|---|---|
| Poland | BDO · CRBR · KRS (financials) · EKW · KNF · KRS (board) · KRZ · MSiG · KYB check · PEP (Sejm) · REGON (sites) · REGON · UOKiK |
| Germany | Insolvenzbekanntmachungen · Handelsregister |
| Spain | BORME · Registro Mercantil · Registro Público Concursal |
| Italy | INI-PEC · Registro Imprese |
| Austria | Ediktsdatei · WKO |
| France | Societe.com |
| Belgium | KBO / BCE (this actor) |
| Czechia | ISIR |
| Slovakia | RPVS |
| Cyprus | DRCOR |
| Ireland | CRO |
| Portugal | Publicações MJ |
| Nigeria | CAC |
| Colombia | RUES |
| USA | California SoS · California UCC |
| UAE | ADGM |
| Global | Adverse 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