Documentation
Une API REST au-dessus de la Banque-Carrefour des Entreprises belge. JSON en entrée, JSON en sortie.
Authentification
Envoyez votre clé dans l'en-tête X-API-Key à chaque requête.
curl -H "X-API-Key: your_key" https://companydata.nalios.be/api/v1/companies/0214596464
Points d'accès
| Méthode | Chemin | Description |
|---|---|---|
| GET | /api/v1/companies/{number} | Une entreprise. Paramètres : lang, establishments, vies |
| GET | /api/v1/companies/{number}/history | Historique des changements d'une entreprise |
| GET | /api/v1/companies | Recherche. Paramètres : name, nace, city, zip, legal_form, status, limit |
| GET | /api/v1/autocomplete | Saisie semi-automatique par nom ou numéro. Paramètre : q |
| GET | /api/v1/changes | Tout ce qui a changé depuis une date. Paramètre : since |
| GET | /api/v1/companies/{number}/accounts | Comptes annuels déposés, ratios calculés (solvabilité, liquidité, rentabilité des capitaux propres), administrateurs/actionnaires et entreprises liées par les mêmes administrateurs ou actionnaires (related_companies). Paramètres : limit, refresh |
| GET | /api/v1/companies/{number}/benchmark | Centile et quartiles sectoriels de chaque ratio, comparés à des entreprises similaires. Paramètre : depth (longueur du préfixe NACE) |
| GET | /api/v1/companies/{number}/group | Actionnariat autour d'une entreprise : qui la détient (owners) et ce qu'elle détient (subsidiaries), avec les pourcentages et l'actionnaire de contrôle. Paramètre : depth (1 à 3 niveaux dans chaque sens) |
| GET | /api/v1/people/{person_id}/mandates | Toutes les entreprises auxquelles un administrateur, représentant ou actionnaire est lié |
| GET | /api/v1/people/{person_id}/network | Graphe multi-niveaux d'administrateurs/actionnaires, jusqu'à 3 niveaux. Paramètre : depth |
| GET | /api/v1/watchlist | Liste les entreprises suivies par votre clé |
| POST | /api/v1/watchlist | Ajoute une entreprise à votre liste de suivi. Corps : {"enterprise_number": "..."} |
| DELETE | /api/v1/watchlist/{number} | Retire une entreprise de votre liste de suivi |
| PUT | /api/v1/webhook | Définit l'URL notifiée lorsqu'une entreprise suivie change. Corps : {"url": "https://..."} |
| GET | /health | État du service, aucune clé requise |
Limites connues
Ce sont de vraies lacunes, pas des bugs — à connaître avant de construire dessus :
- Pas de chiffre d'affaires pour les petites entreprises. La loi belge n'impose pas la publication du chiffre d'affaires au schéma abrégé (la plupart des PME).
revenueet tout ratio qui en dérive n'existent que pour les entreprises au schéma complet. - Une comparaison peut élargir discrètement son groupe de référence. Chaque ratio est d'abord comparé aux entreprises de la même tranche de taille ; s'il y en a trop peu, il se rabat sur tout le secteur. La réponse l'indique toujours via
compared_against— vérifiez-le avant de considérer un centile comme strictement comparable. - Certaines entreprises déposent leurs comptes uniquement en PDF. Un dépôt dont le code de modèle se termine par
-pest un modèle PDF : la Banque nationale ne publie aucune donnée structurée pour lui. Nous lisons les chiffres clés (bilan, compte de résultats, effectif) dans le PDF lui-même et ne les gardons que si le bilan est équilibré à l'euro près. Ces dépôts sont signalés parpdf_only: true, et leursourcevautpdfune fois les chiffres lus. Les administrateurs (nom, fonction et dates de chaque mandat) et les actionnaires (nom, nature des droits et part des droits de vote) sont lus dans leurs listes du dépôt lorsqu'elles suivent une mise en page connue, jamais avec une adresse privée, et un PDF qui ne peut pas être lu de façon fiable est renvoyé sans chiffres. - Les pourcentages sont des fractions.
percentagepour les actionnaires et participations est une part entre 0 et 1 (0.6444signifie 64,44 %). - L'arbre d'actionnariat ne connaît que ce qui est au dossier.
/groupest construit à partir des comptes annuels que nous détenons ; un niveau manquant signifie que ses comptes ne sont pas encore connus, pas que personne ne possède l'entreprise. - Les variations annuelles proviennent du dépôt lui-même. Les taux de croissance comparent l'exercice courant à la colonne de l'année précédente du même dépôt, et valent
nullsi cette colonne est absente. Les ratios fondés sur le chiffre d'affaires (marges, chiffre d'affaires par ETP) n'existent que pour le schéma complet. - Le statut de faillite n'est pas vérifié.
legal.bankruptvautnulletlegal.checkedvautfalsepour toutes les entreprises : utilisez plutôtlegal.situation, tiré de la situation juridique inscrite à la BCE/KBO (faillite, réorganisation judiciaire, liquidation). Ne considérez jamais unbankruptabsent comme un « pas en faillite » confirmé.
Langues
Toutes les valeurs codées portent à la fois le code brut et un libellé lisible. Passez lang=FR ou lang=NL pour choisir la langue des libellés ; le néerlandais sert de repli lorsqu'une traduction manque.
Erreurs
| Statut | Signification |
|---|---|
| 401 | missing api_key ou invalid api_key |
| 404 | Numéro d'entreprise inconnu |
| 429 | quota exceeded ou rate limit exceeded |
Lisible par machine
Spécification OpenAPI · Collection Postman · Référence interactive
Bibliothèques clientes
Clients minimalistes à intégrer dans votre projet : Python · JavaScript
Entreprises supprimées
Une entreprise ayant exercé son droit à l'effacement est retirée de tous les points d'accès et renvoie 404. Le flux /api/v1/changes émet toujours une entrée minimale avec "suppressed": true afin que vous puissiez purger votre propre cache.