Belgian Company Enrichment — KBO/BCE Lookup, No Login Required avatar

Belgian Company Enrichment — KBO/BCE Lookup, No Login Required

Pricing

Pay per usage

Go to Apify Store
Belgian Company Enrichment — KBO/BCE Lookup, No Login Required

Belgian Company Enrichment — KBO/BCE Lookup, No Login Required

Enrich Belgian company data from the official KBO/BCE database. Look up any enterprise by number, name, or address. Returns legal form, NACE activities, capital, management, address, and more. No cookies, no login.

Pricing

Pay per usage

Rating

0.0

(0)

Developer

Studio Amba

Studio Amba

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

a day ago

Last modified

Share

Belgian Company Enrichment — KBO/BCE Lookup

Enrich Belgian company data from the official Kruispuntbank van Ondernemingen (KBO/BCE) database. Look up any enterprise by number, name, or address. Returns legal form, NACE activity codes, capital, management, address, VAT status, and more. No cookies, no login required.

How to scrape Belgian company data

This actor provides three search modes for accessing official Belgian company data:

Mode 1: Enterprise Number Lookup (fastest)

Paste one or more KBO/BTW enterprise numbers. The actor fetches the official company page and extracts all available data. Accepts multiple formats: 0417.497.106, 0417497106, or BE0417497106.

Use this for B2B lead enrichment — feed a list of enterprise numbers from your CRM and get back full company profiles.

Search by company name (or part of a name). The actor searches the KBO database, collects all matching enterprise numbers, then enriches each result. Useful for finding competitors, verifying company identity, or prospecting by name.

Find all companies registered at a specific address. Search by postal code, street name, and house number. Useful for mapping business density in an area, or checking who else is registered at a shared office address.

What data does Belgian Company Enrichment extract?

FieldTypeDescription
enterpriseNumberStringOfficial KBO number (format: 0417.497.106)
nameStringCurrent registered company name
abbreviationStringCompany abbreviation if registered
legalFormStringLegal form (NV, BV, VZW, CV, VOF, etc.)
entityTypeStringEntity type (Rechtspersoon, Natuurlijk persoon)
statusStringActive or stopped
legalConditionStringLegal condition with date (Normale toestand, Gerechtelijk akkoord, etc.)
startDateStringDate the company was registered
addressStringFull registered address
streetStringStreet name
houseNumberStringHouse number
postalCodeStringBelgian postal code
cityStringCity name
phoneStringPhone number (if registered in KBO)
emailStringEmail address (if registered in KBO)
websiteStringWebsite URL (if registered in KBO)
naceActivitiesArrayNACE-BEL activity codes with descriptions
capitalStringRegistered capital amount
numberOfEstablishmentsIntegerNumber of branch establishments
annualMeetingMonthStringMonth of annual general meeting
fiscalYearEndStringEnd date of fiscal year
vatRegisteredBooleanWhether VAT-registered
vatSinceStringVAT registration date
employerRegisteredBooleanWhether registered as employer (RSZ)
employerSinceStringEmployer registration date
managementArrayBoard members with function and appointment date
establishmentsArrayBranch unit details (if "Include Establishments" is enabled)
qualificationsArrayOfficial qualifications and registrations
previousEnterpriseNumbersArrayPrevious KBO numbers (from mergers, restructuring)
urlStringDirect link to the KBO Public Search page
scrapedAtStringISO timestamp of extraction

Input Parameters

ParameterTypeDefaultDescription
Search ModeSelectnumberChoose: Number Lookup, Name Search, or Address Search
Enterprise NumbersString ListOne or more KBO/BTW numbers
Company NameStringCompany name to search (name mode)
Postal CodeStringPostal code filter (name + address mode)
Street NameStringStreet name (address mode)
House NumberStringHouse number (address mode)
Include EstablishmentsBooleanfalseAlso scrape branch establishment data
Include ManagementBooleantrueAlso extract board members and positions
Active Companies OnlyBooleantrueSkip companies with stopped status
Max ResultsInteger100Maximum companies to return
LanguageSelectnlNederlands or Francais
Proxy ConfigurationObjectApify proxy settings

Example output

{
"enterpriseNumber": "0400.378.485",
"name": "Colruyt Group",
"abbreviation": null,
"legalForm": "Naamloze vennootschap",
"entityType": "Rechtspersoon",
"status": "Actief",
"legalCondition": "Normale toestand sinds 09/03/1950",
"startDate": "09/03/1950",
"address": "Edingensesteenweg 196, 1500 Halle",
"street": "Edingensesteenweg",
"houseNumber": "196",
"postalCode": "1500",
"city": "Halle",
"country": "Belgium",
"phone": null,
"email": null,
"website": null,
"naceActivities": [
{ "code": "74.999", "description": "Overige professionele, wetenschappelijke en technische activiteiten" },
{ "code": "47.110", "description": "Niet-gespecialiseerde detailhandel waarbij voedings- en genotmiddelen overheersen" },
{ "code": "70.100", "description": "Activiteiten van hoofdkantoren" }
],
"capital": "387.537.870,25 EUR",
"numberOfEstablishments": 38,
"annualMeetingMonth": "september",
"fiscalYearEnd": "31 maart",
"vatRegistered": true,
"vatSince": "01/01/1971",
"employerRegistered": true,
"employerSince": "01/01/1945",
"management": [
{ "function": "Bestuurder", "name": "Jef Colruyt", "appointmentDate": "26/09/2024" },
{ "function": "Bestuurder", "name": "Wim Colruyt", "appointmentDate": "30/09/2021" }
],
"establishments": [],
"qualifications": ["BTW-plichtige sinds 01/01/1971", "Werkgever RSZ sinds 01/01/1945"],
"previousEnterpriseNumbers": [],
"url": "https://kbopub.economie.fgov.be/kbopub/toonondernemingps.html?ondernemingsnummer=0400378485",
"language": "nl",
"scrapedAt": "2026-05-20T10:30:00.000Z"
}

Tips for best results

  • Batch enrichment: Paste up to 1,000 enterprise numbers for batch enrichment. The actor processes them sequentially with polite rate limiting.
  • Lead qualification: Use NACE codes to filter by industry. Code 47.xxx = retail, 62.xxx = IT, 70.xxx = management consulting.
  • Detect active companies: Enable "Active Companies Only" to skip dissolved or stopped entities.
  • Full company profile: Enable both "Include Management" and "Include Establishments" for the most complete profile.
  • French results: Set Language to fr to get results in French (the KBO site is bilingual).
  • Enterprise number formats: The actor accepts any common format — 0417.497.106, 0417497106, or BE0417497106 — and normalizes automatically.

How much does it cost?

Belgian Company Enrichment runs on the Apify platform. You pay only for compute resources used. No login or cookies required.

Enrichment sizeEstimated timeEstimated cost
1 company lookup~3 seconds~$0.003
10 companies~30 seconds~$0.02
100 companies~5 minutes~$0.15
1,000 companies~50 minutes~$1.20

Apify's free tier includes $5 of monthly compute — enough to enrich hundreds of companies at no cost.

Can I integrate?

Yes. Send enriched company data directly to your existing tools:

  • Google Sheets — Build a live Belgian company database, updated on schedule
  • HubSpot / Salesforce — Enrich CRM contacts with official company data
  • Slack — Get notified when new companies matching your criteria are registered
  • Webhooks — Push to any HTTP endpoint for custom enrichment pipelines

Set up integrations from the Apify console under the "Integrations" tab.

Can I use it as an API?

Yes. Call Belgian Company Enrichment programmatically from any language:

Python — Enrich a list of companies

from apify_client import ApifyClient
client = ApifyClient("YOUR_API_TOKEN")
run = client.actor("studio-amba/kbo-enrichment").call(run_input={
"mode": "number",
"enterpriseNumbers": ["0417.497.106", "0400.378.485", "0471.811.661"],
"includeManagement": True,
})
for company in client.dataset(run["defaultDatasetId"]).iterate_items():
print(f"{company['name']} ({company['legalForm']}) — {company['address']}")

JavaScript — Search by company name

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'YOUR_API_TOKEN' });
const run = await client.actor('studio-amba/kbo-enrichment').call({
mode: 'name',
companyName: 'Colruyt',
maxResults: 20,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach(c => console.log(`${c.enterpriseNumber} | ${c.name} | ${c.legalForm}`));

FAQ

What is KBO?

The KBO (Kruispuntbank van Ondernemingen) or BCE (Banque-Carrefour des Entreprises) is Belgium's official enterprise register. Every Belgian company, non-profit, and self-employed professional is registered with a unique enterprise number.

How to look up a Belgian company?

Enter the enterprise number (KBO/BTW number) in the "Enterprise Numbers" field. You can also search by company name or registered address.

What is a KBO number?

A KBO number is a unique 10-digit identifier assigned to every registered entity in Belgium. Format: 0XXX.XXX.XXX. It's also used as the BTW (VAT) number with a BE prefix.

How to find a company's NACE code?

This actor returns the official NACE-BEL activity codes registered in the KBO. NACE codes classify companies by economic activity (e.g., 47.110 = supermarket retail).

Is this a KBO API alternative?

Yes. The official KBO web service charges EUR 50 per 2,000 lookups. This actor provides the same public data at a fraction of the cost, without registration or contracts.

Can I use this for GDPR compliance?

This actor only returns publicly available data from the KBO public register. It does not access any restricted or personal data. The KBO explicitly prohibits using personal data from natural persons for direct marketing — this actor includes no such data.

Limitations

  • Data comes from the public KBO website — some fields (phone, email, website) are often empty because companies don't always register contact details
  • Name search uses phonetic matching, which may return false positives for common names
  • Management data depends on companies filing their board changes promptly
  • The KBO site occasionally has maintenance windows (typically weekends)
  • Rate limited to be polite to the government server — don't expect >1,000 lookups per hour

Other Belgian data scrapers

Working with Belgian business data? Combine with these tools:

Your feedback

Found a bug or want a feature added? Open an issue on the Issues tab. Your feedback helps improve this actor.