Start here
This guide contains public integration notes for Belgium. Use it for identifier formats, search behavior, and country-specific caveats. The live source of truth for coverage, pricing, data sources, documents, legal forms, roles, and status values is the pricing page.Belgium coverage, pricing, and sources
Table of Contents
- Data Sources
- Company Identifiers
- Search Capabilities
- Quirks & Gotchas
- Mappings
- Data Availability
- Example API Responses
Data Sources
Belgium uses a dual-source strategy combining open data with live registry enrichment. For a given entity, base data comes from BCE Open Data (fast, pre-loaded) and is enriched in parallel by CBE Public Search (slower, extracted from the public portal) for fields not available in the open data. Both sources run in parallel and their results are streamed progressively to the client.All entity types
- BCE Open Data (Banque-Carrefour des Entreprises / Kruispuntbank van Ondernemingen): The Belgian open data portal operated by the FPS Economy. Updated regularly, this dataset covers ~2.5 million enterprises and provides base company data: legal name (multilingual), status, legal form, registration date, NACE activity codes, registered address, contact information (phone, website), and establishments. This is the primary source for fast company profiles.
- CBE Public Search (kbopub.economie.fgov.be): The public web interface of the Crossroads Bank for Enterprises. Used as an enrichment source running in parallel with BCE Open Data, providing data not available in the open dataset: legal representatives, other key persons (auditors, supervisory board), share capital, and additional establishment details. For companies not found in BCE Open Data (e.g., recently closed companies), CBE provides the complete profile in full mode.
Documents
- NBB CBSO (National Bank of Belgium, Central Balance Sheet Office). Official API (
consult.cbso.nbb.be) operated by the National Bank of Belgium. Provides financial statements (annual accounts, consolidated accounts, holding company accounts) filed by Belgian companies. Documents are available in PDF, XBRL, and CSV formats depending on how they were submitted. - eJustice / Moniteur Belge (Belgian Official Gazette): The official publication portal (
ejustice.just.fgov.be) operated by the FPS Justice. Provides legal publications including articles of association, appointments/resignations, capital changes, registered office changes, and other official company modifications. All publications are in PDF format. - Belgian UBO Registry: The official UBO register operated by the FPS Finance (Treasury). Provides ultimate beneficial owner data and UBO extract PDFs. No public API exists; data is extracted from the registry’s web interface.
How do the two sources work together?
How do the two sources work together?
- BCE Open Data (fast, ~1s): Returns base company data immediately: name, status, legal form, activities, address, contact info, establishments
- CBE Public Search (slower, ~5-10s): Returns enrichment data: legal representatives, other key persons, share capital
Company Identifiers
Query Identifiers
Belgium uses a single identifier system through the BCE/KBO (Crossroads Bank for Enterprises):Identifiers in API Response
Numero BCE (French: Crossroads Bank for Enterprises number). This is the single, universal identifier for all Belgian entities (commercial companies, sole proprietors, non-profits, and public entities alike).Search Capabilities
Quirks & Gotchas
Mappings
Company Status
Company status is determined deterministically from BCE Open Data and CBE Public Search. No AI inference is involved. The BCEstatus field provides a binary active flag (AC / ST). The juridicalSituation code adds a richer layer, surfaced in the status.statusDetails object:
Juridical Situation Codes
The KBO/CBE assigns each enterprise a juridical situation code from the official A152 code list. The mapping to standardised values is:Active states
Active states
Insolvency proceedings (company still exists)
Insolvency proceedings (company still exists)
Closed: dissolution
Closed: dissolution
Closed: mergers & splits
Closed: mergers & splits
Closed: bankruptcy concluded
Closed: bankruptcy concluded
Other / Unknown
Other / Unknown
status.statusDetails.Registration & Incorporation Dates
BothregistrationDate and incorporationDate return the same value, the BCE start_date field. In Belgium’s BCE/KBO system, registration and legal creation happen simultaneously upon filing. The registry maintains a single date per enterprise.
establishments[].creationDate), which represent when individual branch locations were opened, and these can differ from the enterprise start date.VAT Verification
The Belgian VAT number equals the enterprise number prefixed withBE (e.g. BE0403227515). VAT verification is performed against the EU VIES registry (VAT Information Exchange System) using a qualified check that includes a requester VAT number.
Establishments
Establishments represent physical branch locations where a company operates (offices, warehouses, retail locations), separate from the company’s registered office. A company can have multiple establishments.legalAddress.Legal Forms
Belgium uses the KBO/BCE juridical form codelist maintained by the FPS Economy. The mapping to standardized forms and ISO 20275 (ELF) codes is deterministic: a formal lookup table maps each code to its French name, English translation, standardized category, and ISO 20275 code.Key Business Forms (2019 Code of Companies and Associations)
Key Business Forms (2019 Code of Companies and Associations)
Pre-2019 Business Forms (Old Statutes)
Pre-2019 Business Forms (Old Statutes)
Cooperative Companies
Cooperative Companies
Non-Profit Organizations
Non-Profit Organizations
Civil Companies
Civil Companies
Public Law & Government Entities
Public Law & Government Entities
Foreign Entities & Branch Offices
Foreign Entities & Branch Offices
Economic Interest Groupings & Partnerships without Legal Personality
Economic Interest Groupings & Partnerships without Legal Personality
Other & Miscellaneous Forms
Other & Miscellaneous Forms
Legal Representatives
Legal representatives are extracted from the CBE Public Search portal. Role classification is deterministic: a formal lookup table maps each official CBE function code to its French name, English translation, and whether it constitutes a legal representative role. Both individuals and companies can hold legal representative roles. When a company is a legal representative, it is displayed with its enterprise number, and its permanent representative (the natural person acting on behalf of the company) is linked via therepresentedBy field.
Legal Representative Roles
Legal Representative Roles
Legal Representative Enrichment
Base legal representative data (names, roles, start dates) comes from the CBE portal. WhenagenticEnrichment: true is passed in the request, the system attempts to enrich person details from eJustice publications (Moniteur Belge).
This is best effort. Enrichment depends on publication availability and content. Not all fields are guaranteed for every legal representative. Founding acts typically contain birth date and nationality; appointment notices typically contain residence addresses. Recently appointed representatives or companies with sparse publication history may have partial or no enrichment.
What can be enriched:
- Birth date
- Nationality
- Residence address (geocoded)
enriching status. Enriched fields are attributed to ejustice in the dataSources array.
Other Key Persons
Other key persons include supervisory, audit, and advisory roles that do not carry statutory authority to bind the company.Other Key Person Roles
Other Key Person Roles
Shareholders
Belgium has no structured shareholder registry. Shareholder data is reconstructed by AI from financial documents (annual accounts filed with NBB CBSO).Activity Code Mapping
Belgium uses the NACE-BEL classification, which is the Belgian extension of the European NACE Rev. 2 standard. BCE Open Data provides three versions of NACE codes (2003, 2008, 2025); the system automatically selects the most recent version available.84.309). Standard NACE codes are 4-digit class-level codes (e.g., 84.30), derived by truncating the 5th digit. Multiple NACE-BEL codes can map to the same NACE class. If a code is already at class level (4 digits), it appears in NACE only, not in NACE_BEL.
Activity Code Versions
Data Availability
Data Availability Matrix
Documents by Company Type
Example API Responses
All examples use placeholder data. Query:POST /v2/company with { "id": "<id>", "countryCode": "BE", "dataPoints": ["company", "legalRepresentatives"] }
Active SA (Societe anonyme), with legal representatives
Active SA (Societe anonyme), with legal representatives
Closed Company
Closed Company
active: false and status Cesse. When the company no longer exists in BCE Open Data, all data comes from CBE Public Search in full mode.Sole Proprietor (Entreprise individuelle)
Sole Proprietor (Entreprise individuelle)
legalName is the individual’s name. The founder role (00001) is mapped as the legal representative.Non-Profit Association (ASBL)
Non-Profit Association (ASBL)
UBO Response (dedicated datapoint)
UBO Response (dedicated datapoint)
"dataPoints": ["ultimateBeneficialOwners"]:nature field is always "unknown" because the Belgian registry does not specify whether ownership is direct or indirect. Birth dates are in DD/MM/YYYY format from the API, parsed into structured components.Available Documents (example list)
Available Documents (example list)
"dataPoints": ["availableDocuments"] is requested.