Belgium CBE Company Registry Scraper
Pricing
from $0.05 / 1,000 item extracteds
Belgium CBE Company Registry Scraper
Extract official Belgian CBE/KBO company records by enterprise number for B2B enrichment, KYB, legal-status checks, activities and officers.
Pricing
from $0.05 / 1,000 item extracteds
Rating
0.0
(0)
Developer
Stas Persiianenko
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
7 days ago
Last modified
Categories
Share
Belgium CBE / KBO Company Registry Scraper
Extract structured company records from Belgium's official Crossroads Bank for Enterprises (CBE/KBO) public registry.
Turn known Belgian enterprise numbers into clean records for sales research, KYB checks, compliance workflows, and company-data enrichment.
What does it do?
This actor visits the public CBE/KBO record page for each supplied Belgian enterprise number.
It returns one normalized company record per resolved enterprise.
The actor uses the official public registry page, not a third-party directory.
Every row keeps its official source URL and a retrieval timestamp.
Who is it for?
- π§πͺ Belgian B2B sales teams enriching account lists.
- π‘οΈ KYB and compliance teams verifying legal identity details.
- π Data teams joining CBE facts to internal CRM records.
- π’ Researchers checking corporate status and legal form.
- π Automation builders who need repeatable registry lookups.
Why use this CBE scraper?
A registry web page is useful for one manual lookup, but it is difficult to reuse in a spreadsheet or workflow.
This actor makes repeatable lookups exportable through an Apify dataset.
It preserves nested officers and NACE-BEL activity information when requested.
It also normalizes enterprise-number punctuation, so 0403227515 and 0403.227.515 work the same way.
Official data source
The source is the public CBE/KBO search service operated by the Belgian FPS Economy.
Source domain: https://kbopub.economie.fgov.be.
Only public record pages are requested.
Use the source URL in every output row to review the original record.
Data you receive
| Field | Description |
|---|---|
enterpriseNumber | Ten-digit Belgian enterprise number |
status | Public registry status |
legalState | Public legal situation |
names | Registered names shown by CBE/KBO |
registeredAddress | Registered-office address when present |
entityType | Entity classification |
legalForm | Legal form |
establishmentCount | Listed establishment-unit count |
officers | Listed function holders, role and date |
activities | Visible NACE-BEL activity codes |
sourceUrl | Official CBE/KBO record URL |
retrievedAt | ISO timestamp of extraction |
How much does it cost to scrape Belgian CBE company records?
This actor uses pay-per-event pricing: a small one-time start event plus one event for each company record saved.
Per-record pricing is tiered by Apify subscription plan. The current published price is shown on the actor page before you run it.
You are charged only for records emitted to the dataset; unresolved enterprise numbers do not produce item events.
Quick start
- Add one or more Belgian enterprise numbers.
- Keep the default maximum low for an inexpensive first run.
- Run the actor.
- Export the default dataset as JSON, CSV, Excel, or through the API.
- Use
sourceUrlwhen a reviewer needs to check an original record.
Input: enterprise numbers
Enter ten-digit Belgian enterprise numbers in Enterprise numbers.
Punctuation is optional.
For example, both 0403227515 and 0403.227.515 resolve to the same official record.
Invalid or unavailable numbers are skipped without creating misleading partial data.
Input: official record URLs
Advanced users can supply official kbopub.economie.fgov.be record URLs.
This is useful when a prior workflow already stores an official record link.
Only official CBE/KBO URLs are accepted.
Use enterprise numbers for the simplest and most stable workflow.
Input: optional detail fields
Include officers controls extraction of the visible function-holder table.
Include NACE-BEL activities controls extraction of visible activity codes and descriptions.
Disable either option when you need a smaller, identity-focused payload.
maxItems limits the number of company rows emitted in one run.
Output example
{"enterpriseNumber": "0403227515","status": "Active","names": ["KBC Group", "KBC Groupe", "KBC Groep"],"legalForm": "Public limited company","activities": [{"source":"VAT","code":"64.190"}],"sourceUrl": "https://kbopub.economie.fgov.be/...","retrievedAt": "2026-07-11T00:00:00.000Z"}
Fields unavailable in a public record may be omitted.
NACE-BEL activities
NACE-BEL codes classify economic activities in Belgium.
Activity rows include the visible source category, code, and description.
The registry may display activity versions differently over time.
Treat output as a current public-record snapshot, not historical legal advice.
Officers and roles
When enabled, officers contains visible function holders.
Each object contains the displayed role, name, and available since-date.
A person can appear more than once if the registry lists multiple roles.
Do not infer ownership, authority, or beneficial ownership from this field alone.
Tips for data quality
Start with one known number to validate your downstream mapping.
Keep source URLs when importing to a CRM or compliance tool.
Deduplicate by enterpriseNumber, not company display name.
Use the latest retrieval timestamp when records are refreshed.
Integrations
- π Send dataset rows to Make or Zapier after a run.
- π§© Join
enterpriseNumberto a CRM account table. - π₯ Export CSV for a sales-operations enrichment batch.
- π Use the source URL in a reviewer queue.
- ποΈ Store snapshots in a warehouse for change monitoring.
API usage: Node.js
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: process.env.APIFY_TOKEN });const run = await client.actor('automation-lab/belgium-cbe-company-registry-scraper').call({ enterpriseNumbers: ['0403227515'] });const items = await client.dataset(run.defaultDatasetId).listItems();console.log(items.items);
API usage: Python
from apify_client import ApifyClientclient = ApifyClient("YOUR_APIFY_TOKEN")run = client.actor("automation-lab/belgium-cbe-company-registry-scraper").call(run_input={"enterpriseNumbers": ["0403227515"]})print(client.dataset(run["defaultDatasetId"]).list_items().items)
API usage: cURL
curl "https://api.apify.com/v2/acts/automation-lab~belgium-cbe-company-registry-scraper/runs?token=$APIFY_TOKEN" \-H 'content-type: application/json' \-d '{"enterpriseNumbers":["0403227515"]}'
MCP
Use this actor through Apify MCP in Claude Desktop or Claude Code.
Add the server with claude mcp add --transport http apify https://mcp.apify.com/?tools=automation-lab/belgium-cbe-company-registry-scraper.
Claude Desktop JSON configuration:
{"mcpServers":{"apify":{"url":"https://mcp.apify.com/?tools=automation-lab/belgium-cbe-company-registry-scraper"}}}
Example prompt: βLook up Belgian enterprise number 0403227515 and return its legal form and NACE-BEL activities.β
Example prompt: βEnrich these Belgian enterprise numbers and give me a CSV-ready table.β
Reliability and limits
The actor makes sequential official-page requests with a short delay.
This conservative approach is designed to be respectful of the public registry.
A registry page that does not contain a company record is skipped.
The actor does not guess identity details from partial search results.
Legality and responsible use
CBE/KBO public-record access is subject to the source service's terms and applicable law.
You are responsible for your purpose, retention, and downstream use of data.
Do not use personal information for unlawful profiling or unsolicited outreach.
Check your compliance requirements before processing personal data.
Troubleshooting
Why did a number return no row? Confirm it has ten digits and that an official public record is available.
Why is a field missing? The official record may not display that detail, or the optional detail toggle may be off.
Why are officers repeated? One person can hold multiple registry-listed functions.
Why do names differ? CBE/KBO may show multiple language variants of a registered name.
Related scrapers
For other business-data workflows, browse actors from Automation Lab.
Use this actor when the authoritative source is Belgium's CBE/KBO registry.
Use a country-specific registry actor for a different jurisdiction.
FAQ
Can I search by company name? Version 0.1 focuses on reliable enterprise-number enrichment.
Can I monitor changes? Run recurring lookups and compare snapshots by enterprise number and retrieval time.
Does it provide beneficial ownership? No. It returns only visible public CBE/KBO record content.
Can I export to CSV? Yes. Apify datasets support CSV export after the run.
Support
Include an enterprise number, run ID, and source URL when reporting an issue.
Do not include credentials or non-public personal data in support requests.
The source record can change independently of this actor.
Feedback on additional validated lookup modes is welcome.