HomeAPIsKBO API
KBO API🇧🇪 Crossroads Bank · enriched

KBO API: Belgian business register data in one REST call

The Crossroads Bank for Enterprises publishes free Open Data files, but they carry no employee figures, no financials and no ownership, and they arrive as daily delete-and-insert files you have to stitch together. CompanyData gives you 2.4M Belgian businesses with those fields added, in one live REST API.

150 free calls in week one · No credit card · One API covers 200+ countries
2,378,537
Belgian businesses
50+
data fields per record
Nacebel
official codes on every record
<200 ms
median response time
GET /api/company/search?nationalId=0417497106
Anheuser-Busch InBev SA/NV
Leuven, Belgium
Active
Enterprise number0417.497.106
Legal formPublic limited company
Nacebel code1105 · Brewing
Websiteab-inbev.com
Employee band10,000+
Source: Crossroads Bank · sample200 OK · 148 ms
The basics

What is the KBO API?

The Kruispuntbank van Ondernemingen, in French the Banque-Carrefour des Entreprises, is Belgium's official business register. It publishes Open Data files free after registration: enterprise number, establishment numbers, legal form, address, Nacebel activity codes, denominations and status. For static reference data that is a genuinely open source.

The limits are what the register does not hold and how it ships. There are no employee counts, they sit with RSZ/ONSS; no financials, those live at the National Bank's Balanscentrale; and no owners or group structure. The files publish daily as delete-and-insert pairs you must apply in order, and live lookups need the paid Public Search SOAP service. CompanyData starts from the same register, adds employee bands, structured financials, group structure and higher-fill contact data, and serves it through one API that also covers 200+ other countries.

The official register, in short

  • Open Data files free after registration: enterprise number, address, Nacebel, status
  • contact.csv carries telephone, email and web address, which few registers do
  • Public Search SOAP for live lookups is paid, at an unpublished rate on a prepaid balance
  • No employee counts, no financials, no ownership or group structure
  • Full and update files publish daily as delete-and-insert pairs to reconcile
  • One country, so separate integrations for the rest
Try it live

Look up any Belgian business

Register fields plus the enrichment layer, in one response. Pick a business, you need no key for the example.

  • Official Nacebel codes on every record
  • Phone, email and website at higher fill than contact.csv
  • The same request across 200+ countries
Side by side

KBO and CompanyData, field by field

Belgium is one of the few registers that publishes contact details at all, but only a fraction of records carry one. CompanyData fills those gaps and adds the employee, financial and group fields the register never held.

Data pointOfficial registerCompanyData API
Businesses in the file1,958,7342,378,537
Legal name and denominations
Enterprise number515,2812,352,674
Registered address500,5632,164,216
Nacebel code and legal form
Website635,074
Telephone1,029,895
Mobile number548,557
Business email557,681
Employee band
Director or contact person1,646,102
Revenue and business sizeNBB Balanscentrale, separate✓ structured fields
Group structure✓ included
International records365M worldwide
Ready to query, no file wranglingdaily delete-and-insert files✓ one live API

Our column counts every registered entity we hold for this country, active or inactive. Some registers only serve active entities through their API, which we think is a gap: a holding or a trust can be dormant and still matter as an entity, so we keep it. Measured live in our own file, August 2026, and refreshed monthly. Register figure: enterprises on the KBO Public Search counter, active entries only, 19 August 2026.

Search and filter

The Open Data files are code-driven flat files: to select a segment you download the full set, join it against code.csv and reconcile the daily update pairs yourself. CompanyData lets you filter on Nacebel, employee band, revenue, region or city and export in bulk with the enrichment already attached.

Price

The Open Data files are free but static, and the Public Search SOAP service that answers live is paid at an unpublished rate on a prepaid balance. CompanyData is credit-based from EUR 0.02 per credit, with 150 free calls in your first week and one API for 200+ countries.

See the difference

More fields than the register returns

Employee bands, revenue, directors and higher-fill contacts: one lookup away. Defaults to Belgium, switch country whenever you want.

Try one:
Best practice

Working with the official KBO data yourself

The Open Data route is genuinely open, but it is files, not a live lookup. Here is how to get started in three steps, and the six things that cost small teams the most time, whether you enrich with us or not.

1

Register for the Open Data files

Sign up on economie.fgov.be to download the free full and update files. Registration is required before any download is available.

2

Decode everything against code.csv

The files are code-driven: statuses, legal forms and Nacebel labels all resolve through the bilingual code.csv. Nothing is human-readable until you join it.

3

Apply the daily update pairs in order

Updates ship as delete-and-insert rows and must be applied in sequence. For a live single lookup you need the paid Public Search SOAP service instead.

Honestly: the KBO Open Data files are fine if you want a static reference set and are happy to wrangle daily files. If you need employee bands, financials, group structure, higher-fill contacts or international coverage, you end up with us.

Get your API key
01

Enterprise and establishment numbers share one column

Both are ten digits in the same EntityNumber column, told apart only by the dot pattern: 9999.999.999 is an enterprise, 9.999.999.999 an establishment. Match on the wrong one and you join to the wrong row.

02

The check digit is 97 minus the rest

The last two digits equal 97 minus the first eight modulo 97. It is a cheap client-side validity check before you ever call.

03

Validators hardcoded to BE0 are already wrong

The first enterprise number starting with 1 was issued on 19 September 2023. Any check that assumes a leading zero rejects legitimate new Belgian businesses.

04

contact.csv exists but fills thinly

Belgium is unusual in publishing telephone, email and web address at all, but the practical fill rate is low, so a register-only contact strategy leaves most records blank.

05

Open Data holds only active entities

Ceased businesses do not appear in the files at all; they show up only through the paid Public Search service, so churn analysis needs a second source.

06

CBE personal data is not for direct marketing

Personal data reused from the Crossroads Bank may not be used for direct marketing. We carry the marketability flags so you can enforce that in your own flow.

Use cases

What teams use Belgian register data for

KYB and onboarding

Verify Belgian counterparties on the enterprise number. Status, legal form and registered address checked automatically.

Lead generation

Build prospect lists filtered by Nacebel code, region, revenue or employee band.

CRM enrichment

Backfill enterprise numbers, Nacebel codes, revenue and contact data across your Belgian accounts in bulk.

Risk and compliance

Track ceased entities, insolvencies and changes across your Belgian supplier base.

Form autofill

Type-ahead on denominations in your signup form, so the enterprise number and address arrive exactly as the register writes them.

ERP and finance systems

Key suppliers and customers to an enterprise number once, then keep name, status and address current automatically.

Beyond Belgium

Belgium is one of 200+ countries on the same API

The same request, the same response schema, from the Crossroads Bank to Companies House, the German Handelsregister and Sirene. Build the Belgian integration once and take it across the border.

Explore the Company Data API
Belgium is one of 200+ countries on the same API

KBO API pricing

Transparent, credit-based pricing. Start with a free trial.

Free trial

Make your first 150 lookups free

  • 150 lookups and 10 exports in week one, key right after signup
  • 1 credit per business returned, usage-based after that
  • No credit card, no contract, no sales call

Questions? Ask a human.

No ticket queue. Your question lands with our data team and you get an answer within 24 hours.

Amsterdam HQVijzelgracht 53D · +31 20 705 2360
BerlinFriedrichstraße 123 · +49 30 21480480
DubaiBuilding A1, Dubai Digital Park, Dubai Silicon Oasis

Mon to Fri 9:00 to 17:30 CET · info@companydata.com

What our customers say

Real feedback from the people using CompanyData every day.

9.2/10 on Kiyoh from verified reviews

★★★★

A reliable partner for years, responsive, efficient, and high-quality.

Ann Sofie Westlake
Ann Sofie Westlake
Head of Marketing, Quartix
★★★★★

The best data company we have worked with.

Helmut Huberti, M.D.
Helmut Huberti, M.D.
World Arthrosis Org., Heidelberg
★★★★★

Great feedback from our team on the data quality.

Stefania Guerra
Stefania Guerra
Dyson, Milan

Frequently asked questions

What is the KBO API?

KBO is the Kruispuntbank van Ondernemingen, Belgium's official business register, known in French as the Banque-Carrefour des Entreprises. It publishes free Open Data files with the enterprise number, establishment numbers, legal form, address, Nacebel activity codes and status, and a paid Public Search SOAP service for live lookups.

Is the KBO API free?

The Open Data files are free after registration, but they are flat files published daily as delete-and-insert pairs, not a live API. The Public Search SOAP service that answers a single live query is paid, at an unpublished rate against a prepaid request balance.

With CompanyData your first 150 lookups are free in week one, and pricing is usage-based after that.

Does KBO give phone numbers and email addresses?

Unusually for a business register, yes: the contact.csv file carries telephone, email and web address. The catch is the fill rate, which is low, so most records come back without them. We add contact data at higher fill on the records where it exists, with the marketability flags attached.

Does KBO have employee counts or financials?

No. Employee figures are held by the social security bodies RSZ and ONSS, and financial accounts sit at the National Bank's Balanscentrale, a separate system with its own pricing. The register itself carries neither. We add employee bands and structured financials alongside the register fields.

How is a Belgian enterprise number formatted?

The ondernemingsnummer is ten digits, written 9999.999.999. Establishment numbers are also ten digits but written 9.999.999.999, and both live in the same column, told apart by the dot pattern. The last two digits equal 97 minus the first eight modulo 97. Since 19 September 2023 numbers can start with a 1, so any validator hardcoded to a leading zero is already wrong.

Can I get Belgian business data in bulk?

Through the Open Data files, yes, but you download the full set, decode it against code.csv and reconcile the daily update pairs yourself. We support bulk selections filtered by Nacebel code, region, revenue and employee band, exported to Excel, CSV or straight over the API, with the enrichment already attached.

How many Belgian businesses do you cover?

2.4M Belgian registrations, including establishments, continuously updated from the register and other official sources.

Make 150 free API calls before you spend anything

Tell us which Belgian businesses you need. You get a trial key with 150 lookups and 10 exports, plus a real sample response for your segment, within 24 hours.

or call +31 (0)20 705 2360

Call us: +31 (0)20 705 2360