Outils
search_company
facturable
Convertit un nom d'entreprise en son numéro d'entreprise belge (BCE/KBO), ou liste les noms enregistrés pour un numéro.
Renvoie.
Les candidats, meilleure correspondance d'abord : kbo_number, chaque nom enregistré avec son type et sa langue (un nom d'une de ses unités d'établissement porte l'establishment_number de cette unité), et match_score (1.0 pour un numéro trouvé directement). Plus warnings[], qui explique un résultat vide ou un chiffre de contrôle mod-97 erroné.
get_annual_accounts
facturable
Récupère les comptes annuels qu'une entreprise a déposés à la BNB : bilan, compte de résultats, affectation du résultat, bilan social et annexes, chaque ligne avec son code de rubrique officiel et un libellé traduit.
Renvoie.
Les comptes dans le même appel : statut "completed" avec le dépôt analysé dans result (ou, avec detail kpis, les chiffres clés, ratios et signaux dans kpis), plus cached: true s'il vient du cache. Une demande impossible à servir renvoie le statut "failed" avec une erreur stable {code, message}.
check_xbrl_availability
facturable
Liste chaque compte annuel qu'une entreprise a déposé à la BNB et si chacun est lisible par machine (XBRL) ou n'existe qu'en PDF — les années que get_annual_accounts peut servir.
Renvoie.
Les dépôts, les plus récents d'abord, chacun avec fiscal_year, reference_number, model_type, deposit_type, deposit_date et xbrl_available. xbrl_available true signifie que get_annual_accounts le sert en données structurées ; false que la BNB n'a qu'un PDF.
get_company_activities
facturable
Liste chaque activité NACE qu'une entreprise a enregistrée au niveau de l'entreprise : le code, la version de nomenclature, la classification et un libellé lisible.
Renvoie.
Chaque activité enregistrée : code, version de nomenclature (2003, 2008 ou 2025), classification (activité principale, secondaire ou auxiliaire) et un libellé. Les activités enregistrées sur une unité d'établissement n'y figurent pas, seulement celles au niveau de l'entreprise. Plus warnings[], qui explique un résultat vide ou un repli de langue.
get_registered_office
facturable
Récupère l'adresse du siège social d'une entreprise sous forme de champs structurés.
Renvoie.
Rue, numéro, boîte, code postal, commune, pays et informations complémentaires. Le pays est null pour les adresses belges. Un siège radié est quand même renvoyé, signalé dans warnings[].
list_establishments
facturable
Liste les unités d'établissement qu'une entreprise exploite actuellement, chacune avec son numéro d'unité d'établissement, sa date de début et son adresse structurée.
Renvoie.
Chaque unité d'établissement actuellement en activité, avec son numéro d'unité d'établissement, sa date de début et son adresse structurée. Les unités d'établissement dont l'adresse a été radiée sont exclues. Plus warnings[], qui explique un résultat vide ou un repli de langue.
list_nace_codes
non facturable
Parcourt la nomenclature d'activités NACEBEL niveau par niveau, pour trouver le code qui décrit une activité comme « boulangerie ». Gratuit : le seul outil qui ne compte pas dans votre quota.
Renvoie.
nace_version, parent_code (le code exploré, absent au sommet), level (ce que contient codes[], soit division, group, class, subclass ou detail) et codes[] avec code, level et description. Plus warnings[], qui explique un repli ou un résultat vide.
find_companies_by_activity
facturable
Cherche des entreprises par code d'activité NACE, code postal ou commune — l'inverse des outils par entreprise. Au moins un de nace_code, zipcode ou municipality est obligatoire ; plusieurs donnés ensemble se combinent tous, et une entreprise correspond dès qu'une de ses adresses (siège social ou une unité d'établissement) se trouve dans la zone. Seules les entreprises actuellement actives dans le registre reviennent.
Renvoie.
filters (reprenant nace_code, nace_version, zipcodes[] — les codes postaux réellement recherchés, c'est ainsi qu'un nom de commune est renvoyé — municipality, activity_role, entity_type et location_match), page, page_size, has_more et companies[] : kbo_number, name, entity_type, legal_form, start_date, main_activities[], matched_activity_role, match_source (enterprise ou establishment), seat_zipcode et matched_zipcode. Pas de total : compter chaque résultat coûte un second passage et n'apprend rien d'utile à qui lit une page. Plus warnings[].
Combien de temps prend un appel
get_annual_accounts répond dans l'appel lui-même : récupérer un dépôt signifie appeler la Banque nationale, télécharger le dépôt et traiter le XBRL, et tout cela se passe pendant que votre client attend.
Un nouveau dépôt prend en général quelques secondes, parfois jusqu'à une minute quand la Banque nationale est lente. Attendez la réponse au lieu de réessayer — réessayer est un deuxième appel facturable pour le même travail.
Un dépôt déjà récupéré revient instantanément avec status: "completed" et cached: true. Les résultats sont gardés par dépôt et n'expirent jamais, car un compte annuel déposé est immuable — une correction est un nouveau dépôt avec sa propre référence, et c'est elle que le serveur reprend.
Codes d'erreur
Un appel get_annual_accounts échoué porte error.code, et ces chaînes sont stables — un client peut s'y brancher.
Les erreurs qui ne sont pas des appels échoués
Une mauvaise entrée et un quota épuisé reviennent comme erreur d'outil (MCP isError: true) avec un message explicatif, pas comme un résultat failed — il n'y a pas de code stable sur lequel se brancher, seulement quelque chose que le modèle peut corriger ou signaler.
Langues
language accepte nl, fr, de et en, avec nl par défaut. Les libellés viennent des linkbases de libellés de la taxonomie de la Banque nationale elle-même, pas d'un moteur de traduction, et correspondent donc aux termes des formulaires officiels.
Si un libellé manque dans la langue demandée, la réponse retombe dans cet ordre : langue demandée → la langue du dépôt → nl → fr → en. Les chiffres ne changent jamais avec la langue, et meta.response_language vous dit ce que vous avez réellement reçu.
Le site web lui-même est publié en néerlandais, français et anglais. Il suit la préférence de langue de votre navigateur ; le sélecteur dans la navigation la remplace pour la page où vous êtes, et rien de ce choix n'est conservé.