CompanyBelgium

Batch processing with the BCE/KBO API: practical guide

How to process thousands of companies efficiently? Complete guide to batch processing with the BCE/KBO API: import, validation and mass enrichment.

April 1, 20267 min read

In brief

Batch processing with the BCE/KBO API lets you validate, enrich or clean thousands of company records in a single run. The approach rests on three building blocks: normalising BCE numbers, a concurrency queue capped at 5-10 simultaneous calls to respect rate limiting, and CSV export of the results. Ideal for CRM migrations, supplier due diligence or B2B prospecting in Belgium.

Why batch processing?

Many use cases require processing large volumes of company data:

  • CRM migration: importing and enriching thousands of customer records
  • Data cleansing: validating and correcting existing data
  • Due diligence: verifying a supplier portfolio
  • Prospecting: enriching a B2B prospect list
Code
1
2
3
4
5
6
7
8
9
┌──────────────┐     ┌───────────────┐     ┌──────────────┐
│  CSV file    │────▶│  Worker Queue  │────▶│  BCE/KBO API │
│  or Database │     │  (Bull/Redis)  │     │              │
└──────────────┘     └───────┬───────┘     └──────────────┘

                     ┌───────▼───────┐
                     │  Enriched     │
                     │  results      │
                     └───────────────┘

Step 1: Prepare your data

Read and parse your CSV file containing company data.

Step 2: Normalize BCE numbers

A BCE number has 10 digits in the format 0XXX.XXX.XXX. Normalize all input.

Step 3: Queue with rate control

Process companies in batches of 5-10 with delays between batches to respect rate limits.

Step 4: Export results

Export enriched results to a CSV file.

Best practices

PracticeWhy
Limited concurrency (5-10)Respect rate limiting
Delay between batchesSmooth the load
Normalize inputsMaximize match rate
Handle errorsDon't block the whole batch

Conclusion

Batch processing is essential for large-scale projects. With proper rate management, you can process tens of thousands of companies efficiently. Also check the Node.js/TypeScript integration guide for the BCE API, the article on automating supplier verification, the page on rate limits and caching and the CRM pipeline for B2B prospecting in Belgium.

Frequently asked questions

How many Belgian companies can I process per hour in batch with the BCE/KBO API?

It depends on your pricing plan and concurrency strategy. With a concurrency of 5 simultaneous calls and a 200 ms delay between each batch, you can process around 1,500 companies per minute on a Pro plan. For larger volumes, optimise your cache (avoid querying the same BCE number multiple times) and use batch processing with a queue like BullMQ.

How do I normalise BCE/KBO numbers before batch processing?

A Belgian BCE number has 10 digits in the format 0XXX.XXX.XXX. In your source data you will often find variants: without dots, with spaces, without the leading zero. Strip all non-numeric characters, check that you end up with 9 or 10 digits, and reformat to the standard 0XXX.XXX.XXX. This maximises the match rate when searching in the BCE database.

How do I resume an interrupted batch job with the BCE/KBO API?

Save results progressively to a file or database, marking each company as processed. If interrupted, filter out already-processed companies before relaunching the batch. Use a resume index based on the BCE number to avoid duplicates and quickly identify where you left off.

What is the difference between batch processing and webhooks for monitoring Belgian companies?

Batch processing suits one-off processing on large volumes (migration, audit, initial enrichment). Webhooks suit real-time monitoring of a specific portfolio: Company Belgium notifies you as soon as a company changes (address, status, director, NACE). For continuous monitoring, combine both approaches: initial batch then webhooks for updates.

Ready to get started?

Create your free account and get your API keys in minutes.

Comments

Loading comments…

Leave a comment

Not published — used only to notify you.

Comments are moderated before publication.

Related articles