Fgov APIkbopub.economie.fgov.be ↗
Access Belgian KBO/BCE public registry data: company details, directors, NACE activity codes, legal form, and address via 2 structured endpoints.
What is the Fgov API?
The KBO/BCE API provides structured access to Belgium's Crossroads Bank for Enterprises public registry through 2 endpoints. Use get_company to retrieve 10 fields of data on any registered Belgian entity — including name, status, legal form, registered address, function holders (directors and officers), NACE activity codes, and capacities — by enterprise number. Use search_companies to find entities by name with phonetic matching across the full national registry.
curl -X GET 'https://api.parse.bot/scraper/7d834100-e7dc-47ab-a072-36d9f5e579b3/get_company?enterprise_number=0417497106' \ -H 'X-API-Key: $PARSE_API_KEY'
Retrieve full public details of a Belgian registered entity by its enterprise number. Returns general information (name, status, legal form, address), the list of function holders (directors, officers) with their roles, NACE activity codes, and registered capacities. A single round-trip; no pagination.
| Param | Type | Description |
|---|---|---|
| enterprise_numberrequired | string | Belgian enterprise number (KBO/BCE). Accepts 9 or 10 digits, with or without dots (e.g. '0417497106' or '0417.497.106'). Leading zeros preserved. |
{
"type": "object",
"fields": {
"name": "string — official company name",
"email": "string or null — email address",
"phone": "string or null — phone number",
"status": "string — entity status (e.g. Actief)",
"address": "string or null — registered office address",
"website": "string or null — website URL",
"functions": "array of function holders with role, first_name (null for enterprise holders), last_name (null for enterprise holders), entity_name (enterprise number when held by an enterprise, null for persons), since date, and end_date (null if still active)",
"activities": "array of NACE activity codes with type, code, description, and since date",
"capacities": "array of registered capacities with name and since date",
"legal_form": "string — legal form (e.g. Naamloze vennootschap)",
"start_date": "string — registration start date",
"entity_type": "string — type of entity (e.g. Rechtspersoon)",
"abbreviation": "string or null — official abbreviation",
"legal_situation": "string — legal situation (e.g. Normale toestand)",
"enterprise_number": "string — formatted as 0000.000.000"
},
"sample": {
"name": "Anheuser-Busch InBev",
"email": null,
"phone": null,
"status": "Actief",
"address": "Grote Markt 1 1000 Brussel",
"website": null,
"functions": [
{
"name": "Biggar , Lynne",
"role": "Bestuurder",
"since": "26 april 2023"
},
{
"name": "Van de Put , Dirk",
"role": "Bestuurder",
"since": "26 april 2023"
}
],
"activities": [
{
"type": "BTW",
"since": "1 januari 2025",
"nace_code": "70.100",
"description": "Activiteiten van hoofdkantoren"
}
],
"capacities": [
{
"name": "Werkgever RSZ",
"since": "30 april 1988"
}
],
"legal_form": "Naamloze vennootschap",
"start_date": "2 augustus 1977",
"entity_type": "Rechtspersoon",
"abbreviation": "AB Inbev",
"legal_situation": "Normale toestand",
"enterprise_number": "0417.497.106"
}
}About the Fgov API
Endpoints and What They Return
The get_company endpoint accepts a Belgian enterprise number (9 or 10 digits, with or without dots) and returns a single entity record. The response includes the official company name, current status (e.g. Actief), legal form (e.g. Naamloze vennootschap), registered office address, email, phone, and website where available. The functions array lists all recorded function holders — directors, statutory auditors, and other officers — with their role, name fields, and any linked entity name for corporate holders. The activities array provides NACE codes with type, code string, human-readable description, and the date the activity was registered. The capacities array covers any additional registered authorizations or qualifications, each with a name and start date.
Search and Filtering
The search_companies endpoint accepts a search_word parameter and applies phonetic matching against company names in the KBO/BCE registry. Results are paginated at 20 per page with a maximum of 200 total results accessible. You can narrow results geographically by passing a Belgian postal_code. Each result in the results array includes enterprise_number, name, address, status, and entity_type, giving enough information to identify the correct entity before making a full get_company lookup.
Coverage and Scope
The registry covers all entities registered in the Belgian KBO/BCE system: corporations, sole proprietors, non-profit associations, and other legal forms. Enterprise numbers follow the standard Belgian format. Data reflects the public view of the KBO/BCE registry, which includes officially filed information. Fields like email, phone, and website are only returned when the entity has made them public in the registry.
The Fgov API is a managed, monitored endpoint for kbopub.economie.fgov.be — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when kbopub.economie.fgov.be changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.
This isn't an official kbopub.economie.fgov.be API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.
Will this API break when the source site changes?+
Is this an official API from the source site?+
Can I fix or extend this API myself if I need a new endpoint or field?+
What happens if I call an endpoint that has an issue?+
- Verify that a Belgian supplier or counterparty is actively registered using the
statusfield fromget_company - Extract the board of directors and officer list via the
functionsarray for KYC or due diligence workflows - Map Belgian companies to their NACE economic activity codes for sector classification or compliance screening
- Resolve a company name to its official enterprise number using
search_companiesbefore making a structured lookup - Filter company search results by Belgian postal code to find entities operating in a specific municipality
- Collect registered office addresses for geospatial analysis or mailing list construction
- Check legal form and registered capacities to determine whether an entity holds specific authorizations
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 200 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 100 req/min |
| Team | $300/mo | 20,000 | 300 req/min |
| Company | $1,000/mo | 100,000 | 500 req/min |
Each endpoint has a fixed posted price per successful call — most fall between 1 and 10 credits — shown on this API's page before you run it. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does kbopub.economie.fgov.be have an official developer API?+
What does the `functions` array in `get_company` actually contain?+
functions represents a recorded function holder for the entity. It includes the role title, first_name and last_name for individual holders (both are null for corporate holders), and entity_name for corporate function holders. This covers directors, managers, statutory auditors, and other formally registered roles.How does phonetic matching in `search_companies` behave for Dutch and French company names?+
search_companies endpoint applies phonetic matching to the search_word parameter as implemented in the KBO/BCE public search. This means near-homophones and variant spellings may return results, but results are capped at 200 total across all pages. Filtering by postal_code can help narrow results when the name is common.Does the API return historical company data or changes over time?+
since dates on activities and capacities — but does not expose a changelog, historical snapshots, or previous officers who no longer hold functions. You can fork this API on Parse and revise it to add an endpoint covering historical function holder records if that data is accessible in the registry.Can I retrieve data for Belgian establishments (sub-units) separately from the parent enterprise?+
search_companies endpoint returns an entity_type field that can distinguish establishments from enterprises in search results. However, get_company accepts an enterprise number and returns the top-level entity record. Detailed establishment-level lookups are not a current endpoint. You can fork this API on Parse and revise it to add a dedicated establishment endpoint.