Rechercher un numéro d'entreprise belge : méthodes et API
Comment rechercher un numéro d'entreprise belge : où le trouver, comment le valider et comment automatiser la recherche par nom et code postal via API.
Le numéro d’entreprise est la clé qui identifie une entreprise belge, société ou indépendant. Avec lui, vous obtenez la dénomination, la forme juridique, l’adresse et les activités sans ambiguïté. Sans lui, vous risquez de confondre des homonymes. Ce guide explique ce qu’est ce numéro, où le trouver, comment le valider et comment automatiser la recherche.
Ce qu’est un numéro d’entreprise
Le numéro d’entreprise (aussi appelé numéro BCE) compte 10 chiffres et s’écrit généralement 0xxx.xxx.xxx. Le premier chiffre est 0 ou 1. Il est attribué une fois et reste le même pendant toute la vie de l’entreprise, même si elle déménage ou change de nom.
Chaque unité d’établissement (un magasin, un atelier, un bureau) reçoit son propre numéro, qui commence par 2 et s’écrit 2.xxx.xxx.xxx. Ne confondez pas les deux : le numéro d’établissement ne permet pas de retrouver la fiche de l’entreprise.
Un autre point utile : le numéro de TVA belge reprend les mêmes 10 chiffres avec le préfixe BE. La différence entre les deux notions est détaillée dans numéro d’entreprise et numéro de TVA : la différence.
Où trouver le numéro d’une entreprise
Avant de lancer une recherche, vérifiez les sources que l’entreprise a elle-même publiées :
- Site web : pied de page ou page « mentions légales », où le numéro est obligatoire pour les sociétés qui vendent en ligne.
- Factures et devis : le numéro d’entreprise y figure, souvent à côté du numéro de TVA.
- Conditions générales et contrats : en-tête ou identification des parties.
- Signature des e-mails : fréquent pour les sociétés, plus rare pour les indépendants.
- Publications au Moniteur belge : pour les actes de société, utile quand vous avez besoin d’une certitude juridique.
Si rien n’est disponible, passez à la recherche par nom.
Rechercher par nom et code postal
Un nom seul est rarement suffisant : il existe beaucoup d’homonymes. Ajoutez le code postal, qui réduit fortement le nombre de résultats. Deux options :
- L’outil gratuit rechercher un numéro d’entreprise, sans programmation.
- L’endpoint de recherche de l’API, pour automatiser.
curl -s "https://api.kvkbase.nl/v1/be/search?q=boulangerie&postalCode=1000" \
-H "Authorization: Bearer YOUR_API_KEY"
Le paramètre q demande au moins 2 caractères et postalCode 4 chiffres. La réponse contient au maximum 25 résultats par page (paramètres page et pageSize). Chaque résultat indique cbeNumber, cbeNumberFormatted, name, entityType, legalForm, le code postal et la commune.
Une recherche coûte 1 token. Le plan gratuit offre 50 tokens par mois, sans carte bancaire : créez un compte pour obtenir une clé.
Valider le numéro avant de l’utiliser
Un numéro d’entreprise contient sa propre vérification. Les deux derniers chiffres sont une paire de contrôle égale à 97 moins le reste de la division des huit premiers chiffres par 97. Cela détecte les fautes de frappe et les inversions de chiffres, sans appel réseau.
function cleanNumber(input) {
// Retirer le préfixe BE, les points, les espaces et les tirets
let digits = String(input).toUpperCase().replace(/^BE/, "").replace(/\D/g, "");
// Restaurer un zéro initial perdu (les tableurs le suppriment souvent)
if (digits.length === 9) digits = "0" + digits;
return digits;
}
function isValidEnterpriseNumber(input) {
const digits = cleanNumber(input);
if (!/^[01]\d{9}$/.test(digits)) return false;
const first8 = Number(digits.slice(0, 8));
const check = Number(digits.slice(8));
return 97 - (first8 % 97) === check;
}
console.log(isValidEnterpriseNumber("0123.456.789")); // numéro illustratif
Le numéro 0123.456.789 n’est qu’un exemple illustratif, pas un numéro réel : remplacez-le par un numéro que vous avez trouvé. Un test réussi prouve que le numéro est bien formé, pas que l’entreprise existe. Pour cela, il faut une consultation.
Consulter la fiche complète
L’endpoint de consultation accepte tous les formats : 0821.015.819, 0821015819 ou BE0821015819.
curl -s "https://api.kvkbase.nl/v1/be/lookup/0821.015.819?lang=fr" \
-H "Authorization: Bearer YOUR_API_KEY"
Le paramètre lang accepte nl, fr, de ou en et règle la langue des libellés (forme juridique, situation juridique). La valeur par défaut est nl, donc ajoutez lang=fr pour des libellés en français. La réponse comprend notamment name, tradingNames, legalForm, entityType, address, isActive, juridicalSituation, activities et establishments.
La même chose en JavaScript, avec une gestion simple des erreurs :
async function lookup(number) {
const res = await fetch(
`https://api.kvkbase.nl/v1/be/lookup/${encodeURIComponent(number)}?lang=fr`,
{ headers: { Authorization: "Bearer YOUR_API_KEY" } }
);
const body = await res.json();
if (!res.ok) throw new Error(body.error?.code ?? `HTTP ${res.status}`);
return body;
}
Les erreurs possibles sont INVALID_CBE_NUMBER (400), NOT_FOUND (404), QUOTA_EXCEEDED ou limite de débit (429), UPSTREAM_ERROR (502) et UPSTREAM_BUDGET (503, réessayez plus tard). Un numéro mal formé est rejeté avant toute recherche et ne coûte donc rien.
Pour traiter une liste, POST /v1/be/lookup/batch accepte jusqu’à 25 numéros par appel : {"cbeNumbers": ["...", "..."], "lang": "fr"}. Chaque résultat est identifié par son numéro et contient success avec data ou error. Le coût reste de 1 token par numéro. Pour le contexte d’une intégration complète, lisez intégrer une API de données d’entreprises belges.
Les erreurs fréquentes
- Le zéro initial disparaît. Excel et les CSV convertissent
0821015819en nombre821015819. Stockez toujours le numéro comme texte et restaurez le zéro quand il manque (voircleanNumberplus haut). - Numéro de TVA et numéro d’entreprise mélangés.
BE0821015819et0821.015.819désignent la même entreprise, mais seul le premier est un identifiant TVA, et il doit être confirmé. Voir vérifier un numéro de TVA belge avec VIES. - Établissement pris pour l’entreprise. Un numéro commençant par 2 est une unité d’établissement : cherchez le numéro de l’entreprise à laquelle elle appartient.
- Homonymes. Plusieurs entreprises peuvent porter un nom proche. Comparez le code postal, la forme juridique et l’activité avant de conclure.
- Noms bilingues à Bruxelles. Une même entreprise peut apparaître avec une dénomination française et une néerlandaise, et une commune sous deux orthographes (Bruxelles et Brussel). Cherchez avec les deux variantes ou, mieux, avec le code postal.
- Entreprise individuelle. Pour une personne physique, l’adresse peut être un domicile. Traitez ces données avec précaution au regard du RGPD.
Que vérifier dans la réponse
Pour savoir si une entreprise travaille encore, regardez isActive et juridicalSituation (situation normale, en liquidation, faillite, dissolution, cessation selon le cas). Ces champs aident au tri, mais ne remplacent pas une vérification officielle, par exemple au Moniteur belge, quand un enjeu juridique existe. Le champ source.cachedAt indique la fraîcheur de la donnée : il n’est pas question de temps réel, et la complétude n’est pas garantie.
Pour un usage de conformité à plus grande échelle, voyez vérifier un client ou un fournisseur belge. Les tarifs sont sur la page prix et la référence complète sur la documentation de l’API.