Données de référence KBO/BCE BNB Peppol Adresses Belgique VIES
BÊTA

AXITAM Public API

Des données prêtes à l'emploi pour vos applications, gratuites, en JSON :

  • pays, subdivisions, devises, langues, écritures et régions, avec leurs liens, traduits dans des dizaines de langues ;
  • les taux de change de référence de l’euro de la Banque centrale européenne, depuis 1999 ;
  • toutes les entreprises belges, pour remplir et vérifier vos formulaires ;
  • les comptes annuels que les entreprises belges déposent à la Banque nationale ;
  • toutes les adresses belges, pour compléter et valider vos formulaires ;
  • tout lieu ou adresse dans le monde, cherché au fil de la frappe ;
  • les numéros de TVA européens vérifiés en direct dans VIES, avec le numéro de consultation qui prouve la vérification ;
  • qui reçoit des factures électroniques sur le réseau Peppol, dans le monde entier.

ISO 3166-1 · ISO 3166-2 · ISO 3166-3 · ISO 4217 · ISO 639-3 · ISO 639-5 · ISO 15924 · UN M49BCE/KBO Open Data · NACE-BELCentrale des bilans de la BNBTaux de référence BCEBeSt AddressOpenStreetMap · PhotonAnnuaire PeppolVIESmises à jour chaque jour

Explorer les API

Du JSON simple en HTTPS, en lecture seule, sans SDK. Choisissez une région, modifiez les valeurs d'exemple et envoyez : vous voyez la requête, puis la réponse en direct. Chaque API a sa propre spécification OpenAPI.

🌐 Données de référence générales

Les normes internationales : pays, devises, langues, écritures et régions, leurs liens, traduits dans des dizaines de langues avec lang, et les taux de change de l’euro de la BCE.

Pays

ISO 3166-1 / 3166-2 / 3166-3

Les pays par code alpha-2, alpha-3 ou numérique, leurs subdivisions (régions, provinces...), les devises et langues qu'on y utilise, et les anciens pays.

GET /api/v1/countries/{code} GET /api/v1/countries/{code}/subdivisions GET /api/v1/countries/{code}/currencies GET /api/v1/countries/{code}/languages GET /api/v1/former-countries
Spécification OpenAPI →

Devises

ISO 4217

Les devises en cours avec leurs décimales et l'arrondi des espèces, par code alphabétique (EUR) ou numérique (978), et les pays qui utilisent chacune.

GET /api/v1/currencies GET /api/v1/currencies/{code} GET /api/v1/currencies/{code}/countries
Spécification OpenAPI →

Taux de change

Banque centrale européenne · taux de référence de l’euro

Les taux de change de référence de l’euro publiés par la BCE, repris chaque jour ouvré après leur publication (vers 16 h CET) : taux quotidiens depuis 1999 et moyennes mensuelles, trimestrielles et annuelles publiées par la BCE. 1 EUR = taux unités de la devise, exactement tel que publié - ni inverse ni taux croisé. Un jour sans publication (week-end, jour férié TARGET) répond 404, ou avec onOrBefore=true la publication précédente avec sa vraie date. Source : statistiques de la BCE ; la BCE publie ces taux à titre d’information uniquement et déconseille de s’en servir pour des transactions.

GET /api/v1/exchange-rates/latest GET /api/v1/exchange-rates?date={day}&onOrBefore=true GET /api/v1/exchange-rates/{currency}/daily?from={day}&to={day} GET /api/v1/exchange-rates/{currency}/averages?frequency=M|Q|A GET /api/v1/exchange-rates/currencies
Spécification OpenAPI →

Langues

ISO 639-3 / 639-5

Plus de 7 900 langues avec filtres (portée, type, code 639-1), recherche par code 639-1, 639-3 ou 639-2/B, les pays où chacune est parlée (statut officiel, part de la population), et les familles de langues.

GET /api/v1/languages?hasAlpha2=true GET /api/v1/languages/{code} GET /api/v1/languages/{code}/countries GET /api/v1/language-families
Spécification OpenAPI →

Écritures

ISO 15924

Les systèmes d'écriture (latin, cyrillique, arabe, han...) par code à quatre lettres, quelle que soit la casse, ou par code numérique.

GET /api/v1/scripts GET /api/v1/scripts/{code}
Spécification OpenAPI →

Régions

UN M49

Le monde, les continents et les sous-régions (Europe de l’Ouest, Afrique de l’Est...) sous forme d’arbre, et tous les pays d’une région, sous-régions comprises.

GET /api/v1/regions GET /api/v1/regions/{code} GET /api/v1/regions/{code}/countries
Spécification OpenAPI →

🌍 Recherche mondiale

Des sources qui couvrent tous les pays, interrogées en direct : lieux et adresses d'OpenStreetMap, et qui reçoit des factures électroniques sur le réseau Peppol. Les numéros de TVA européens sont vérifiés en direct dans VIES, le système de la Commission européenne.

Recherche d’adresse

OpenStreetMap · Photon (ODbL)

Recherche en texte libre de lieux et d’adresses partout dans le monde, au fil de la frappe : maisons, rues, villes... les meilleurs d’abord, avec leur type et leur position WGS84. Orientez les résultats vers l’utilisateur avec lat et lon (ensemble), ou limitez-les à un pays. Les noms viennent dans la langue demandée quand l’instance la connaît ; la réponse dit quelle langue a été appliquée. Une maison belge porte aussi sa correspondance best : l’identifiant BeSt officiel à lire avec l’API des adresses belges, ou un statut disant pourquoi il n’y en a pas.

GET /api/v1/addresses/search?q={text}&countryCode={code}&lang={lang} GET /api/v1/addresses/search?q={text}&lat={lat}&lon={lon}
Spécification OpenAPI →

Participants Peppol

Annuaire Peppol · Identifiants ISO 6523

Qui reçoit des factures électroniques et d’autres documents sur le réseau Peppol, dans le monde entier (8 millions de participants) : recherche par nom, pays ou identifiant, lecture d’un participant avec les entités qui se trouvent derrière et les types de documents acceptés. Interrogé en direct dans l’annuaire Peppol. Vérifiez votre client avant d’envoyer une facture électronique. Les entreprises belges ont un raccourci par numéro d’entreprise dans l’onglet Belgique, et leur fiche l’embarque déjà.

GET /api/v1/peppol/participants?name={text}&country={code} GET /api/v1/peppol/participants/{participantId}
Spécification OpenAPI →

Numéros de TVA européens

VIES · Commission européenne

Vérifie un numéro de TVA européen en direct dans VIES, qui interroge le registre de l’État membre : valide ou non, le nom et l’adresse que l’État publie et, si vous donnez votre propre numéro de TVA comme demandeur, le numéro de consultation VIES qui prouve la vérification. La Grèce est EL, l’Irlande du Nord XI ; le numéro peut être saisi avec son préfixe pays, des espaces ou des points. Chaque appel est une nouvelle vérification, rien n’est conservé.

GET /api/v1/vat-numbers/{countryCode}/{vatNumber} GET /api/v1/vat-numbers/{countryCode}/{vatNumber}?requesterCountryCode={code}&requesterVatNumber={number} GET /api/v1/vat-numbers/member-states

Pas de formulaire de test ici : VIES ne peut servir qu’à confirmer les numéros de TVA de vos propres clients et fournisseurs, et sa réponse n’est ni un avis juridique ni, à elle seule, un droit à l’exonération de TVA (avertissement de VIES).

Spécification OpenAPI →

🇧🇪 Belgique

Tout ce qui concerne la Belgique se trouve sous /api/v1/bel/ : les entreprises de la BCE, leurs comptes annuels à la Banque nationale et les registres d’adresses officiels.

Entreprises

BCE/KBO Open Data · NACE-BEL

Toutes les entreprises inscrites à la Banque-Carrefour des Entreprises. Saisissez un numéro de TVA ou d’entreprise comme le font vos utilisateurs (sous toutes ses formes), validez-le (chiffres de contrôle, inscrite, active), ou laissez-les choisir dans une autocomplétion sur le nom ; lisez ensuite dénominations, forme juridique, adresses, contacts, activités, unités d’établissement et succursales, et les listes de codes BCE pour vos menus déroulants. La fiche dit aussi si l’entreprise reçoit des factures électroniques Peppol.

GET /api/v1/bel/enterprises/{number} GET /api/v1/bel/enterprises/{number}/validation GET /api/v1/bel/enterprises?name={text} GET /api/v1/bel/enterprises/{number}/establishments GET /api/v1/bel/kbo-codes/{category} GET /api/v1/bel/enterprises/{number}/peppol
Spécification OpenAPI →

Comptes annuels

Centrale des bilans de la BNB

Les comptes annuels que chaque entreprise belge dépose à la Banque nationale de Belgique : la liste des dépôts (exercice, modèle, langue) des trois dernières années, et les documents (PDF, XBRL, JSON) relayés depuis la BNB. Demandez une fois history=complete pour rapatrier tous les dépôts depuis 1978 (quelques secondes la première fois).

GET /api/v1/bel/enterprises/{number}/annual-accounts GET /api/v1/bel/enterprises/{number}/annual-accounts?history=complete GET /api/v1/bel/annual-accounts/{reference} GET /api/v1/bel/annual-accounts/{reference}/pdf
Spécification OpenAPI →

Adresses

BeSt Address · BOSA et les trois régions (CC BY 4.0)

Complétez une adresse belge en trois appels guidés - commune (par code postal ou par nom), rue, numéro et boîte - puis lisez l’adresse complète avec son identifiant BeSt officiel, sa position WGS84, son statut et ses dates de validité. Les identifiants sont les URI régionales publiées par BeSt : renvoyez-les tels que reçus. Aucun joker n’est nécessaire (ni accepté) : le texte saisi correspond au début d’un mot ou à une partie du nom, dans n’importe quelle langue. Interrogé en direct dans les registres d’adresses fédéral et régionaux.

GET /api/v1/bel/addresses/municipalities?q={text} GET /api/v1/bel/addresses/streets?postCode={code}&name={text} GET /api/v1/bel/addresses/house-numbers?streetId={id}&houseNumber={digits} GET /api/v1/bel/addresses?id={addressId}

        Spécification OpenAPI →

        Démarrer

        Sans inscription ni clé : envoyez une requête, recevez du JSON. Un compte développeur gratuit relève vos limites.

        1Appelez un endpoint

        Tous les endpoints sont sous https://publicapi.axitam.net/api/v1. La vérification des numéros de TVA européens se trouve uniquement sous https://vies.publicapi.axitam.net/api/v1.

        curl "https://publicapi.axitam.net/api/v1/countries/BE?lang=fr"
        
        # {"alpha2":"BE","alpha3":"BEL","numeric":"056","name":"Belgique",
        #  "officialName":"Royaume de Belgique","commonName":null,"flag":"🇧🇪"}
        curl https://publicapi.axitam.net/api/v1/bel/enterprises/0420.254.973
        
        # {"enterpriseNumber":"0420.254.973","vatNumber":"BE0420254973","status":{"code":"AC",...},
        #  "denominations":[{"value":"AXITAM",...}],"addresses":[...],"activities":[...]}
        curl https://publicapi.axitam.net/api/v1/bel/enterprises/0420.254.973/annual-accounts
        
        # {"enterpriseNumber":"0420254973","historyComplete":false,"annualAccounts":[{"referenceNumber":"2025-00555958",
        #   "depositDate":"2025-10-31","exerciseStart":"2024-01-01","exerciseEnd":"2024-12-31","modelType":"m87-f",...}]}
        curl https://publicapi.axitam.net/api/v1/peppol/participants/0208:0420254973
        
        # {"participantId":{"scheme":"iso6523-actorid-upis","value":"0208:0420254973"},
        #  "entities":[{"names":[{"name":"AXITAM"}],"countryCode":"BE",...}],"documentTypes":[...]}
        curl "https://publicapi.axitam.net/api/v1/bel/addresses/streets?postCode=1000&name=loi"
        
        # [{"streetId":"https://databrussels.be/id/streetname/1679/1","name":{"nl":"Wetstraat","fr":"Rue de la Loi","de":null},
        #   "municipality":{"municipalityId":"https://databrussels.be/id/municipality/21004/7","nisCode":"21004","name":{...}}},...]
        curl "https://publicapi.axitam.net/api/v1/addresses/search?q=rue%20de%20la%20loi%2016%20bruxelles&countryCode=BE&lang=fr"
        
        # {"query":"rue de la loi 16 bruxelles","language":"fr","results":[{"label":"Rue de la Loi 16, 1000 Bruxelles, Belgique",
        #   "type":"house","street":"Rue de la Loi","houseNumber":"16","postCode":"1000","city":"Bruxelles","countryCode":"BE",...}]}
        curl https://vies.publicapi.axitam.net/api/v1/vat-numbers/member-states
        
        # {"available":true,"memberStates":[{"countryCode":"AT","availability":"AVAILABLE"},
        #   {"countryCode":"BE","availability":"AVAILABLE"},...,{"countryCode":"XI","availability":"AVAILABLE"}]}

        2Obtenez les noms dans votre langue

        Ajoutez lang avec une étiquette de langue (fr, nl-BE, pt-BR, ja...). Une variante régionale se rabat sur sa langue, puis sur l'anglais.

        curl "https://publicapi.axitam.net/api/v1/countries/BE?lang=nl-BE"     # "name":"België"
        curl "https://publicapi.axitam.net/api/v1/countries/BE/subdivisions?lang=fr"
        curl "https://publicapi.axitam.net/api/v1/currencies/978?lang=fr"      # "name":"Euro"
        curl "https://publicapi.axitam.net/api/v1/languages/fr?lang=fr"        # "name":"Français"
        curl "https://publicapi.axitam.net/api/v1/scripts/Latn"

        3Gérez les erreurs

        Les erreurs utilisent les codes HTTP standard (400 pour un code invalide, 404 pour un code inconnu, 429 au-delà de votre limite d'usage) et toujours le même corps : un code d'erreur stable et un correlationId à mentionner si vous nous contactez.

        curl -i https://publicapi.axitam.net/api/v1/countries/ZZ
        
        # HTTP/2 404
        # {"code":"COUNTRY_NOT_FOUND","correlationId":"54046f8d-6bc9-44bf-b4fe-ea4377737f97"}
        curl -i https://publicapi.axitam.net/api/v1/bel/enterprises/123
        
        # HTTP/2 400
        # {"code":"INVALID_ENTERPRISE_NUMBER","correlationId":"54046f8d-6bc9-44bf-b4fe-ea4377737f97"}
        curl -i https://publicapi.axitam.net/api/v1/peppol/participants/0208:0999999922
        
        # HTTP/2 404
        # {"code":"PEPPOL_PARTICIPANT_NOT_FOUND","correlationId":"54046f8d-6bc9-44bf-b4fe-ea4377737f97"}
        curl -i "https://publicapi.axitam.net/api/v1/bel/addresses/streets?postCode=1000&name=lo*"
        
        # HTTP/2 400
        # {"code":"INVALID_REQUEST","correlationId":"54046f8d-6bc9-44bf-b4fe-ea4377737f97"}
        curl -i "https://publicapi.axitam.net/api/v1/addresses/search?q=paris&lat=48.85"
        
        # HTTP/2 400 (lat sans lon)
        # {"code":"INVALID_ARGUMENT","correlationId":"54046f8d-6bc9-44bf-b4fe-ea4377737f97"}
        curl -i https://vies.publicapi.axitam.net/api/v1/vat-numbers/GR/123456789
        
        # HTTP/2 400 (la Grèce est EL dans VIES)
        # {"code":"VAT_COUNTRY_NOT_SUPPORTED","correlationId":"54046f8d-6bc9-44bf-b4fe-ea4377737f97"}

        4Envoyez votre clé d'API

        Les appels anonymes sont limités par adresse IP. Avec un compte développeur gratuit, envoyez votre clé dans l'en-tête X-API-Key : les limites s'appliquent alors par clé, et elles sont plus élevées (voir Limites d'usage).

        curl -H "X-API-Key: pk_live_..." https://publicapi.axitam.net/api/v1/data-sources
        
        # X-RateLimit-Limit: 30
        # une clé inconnue ou révoquée : HTTP 401 {"code":"INVALID_API_KEY",...}

        Documentation

        Parcourez tous les endpoints de manière interactive, ou importez une spécification OpenAPI dans vos outils pour générer un client.

        Limites d'usage et un hôte par source

        L'API est gratuite et sans clé. Pour qu'elle reste rapide pour tout le monde, chaque client (adresse IP) est limité : 10 requêtes par seconde avec des rafales de 20 sur tous les chemins, 2 par seconde sur les chemins Peppol (la limite de l'annuaire Peppol lui-même), 1 par seconde quand un document de comptes annuels est relayé depuis la BNB, 5 par seconde sur la recherche d’adresse mondiale (l’instance Photon publique demande un usage raisonnable), 2 par seconde sur la vérification des numéros de TVA européens (VIES limite les requêtes simultanées). Une requête au-delà de la limite reçoit HTTP 429 avec le code d'erreur RATE_LIMITED et un en-tête Retry-After ; chaque réponse limitée porte X-RateLimit-Limit et X-RateLimit-Remaining.

        Besoin de plus ? Créez un compte développeur gratuit (confirmation de l'e-mail, puis une courte approbation manuelle), souscrivez au palier gratuit et envoyez votre clé d'API dans l'en-tête X-API-Key : 30 requêtes par seconde avec des rafales de 60 sur chaque hôte, par clé plutôt que par adresse IP. Les limites par chemin ci-dessus restent d'application ; une clé inconnue ou révoquée est refusée avec 401 INVALID_API_KEY.

        Obtenir une clé d'API

        Chaque source est aussi servie seule sur son propre hôte, avec les mêmes chemins et formats :

        HôteContenuSources de données
        publicapi.axitam.netTout ce qui suit sauf la vérification des numéros de TVA européens, sur un seul hôteiso-codes, cldr, ecb-exchange-rates, kbo-open-data, nbb-cbso, peppol-directory, best-address, photon
        cbe.publicapi.axitam.netEntreprises belges (BCE/KBO)kbo-open-data
        nbb.publicapi.axitam.netComptes annuels belges (BNB)nbb-cbso
        peppol.publicapi.axitam.netParticipants Peppol (en direct)peppol-directory
        be.publicapi.axitam.netTout ce qui est belge : entreprises, comptes annuels, Peppol, adresses, recherche d’adressekbo-open-data, nbb-cbso, peppol-directory, best-address, photon
        address.publicapi.axitam.netAdresses belges et recherche d’adresse mondiale (BeSt Address, Photon, en direct)best-address, photon
        refdata.publicapi.axitam.netPays, devises, langues, écritures, régions, taux de changeiso-codes, cldr, ecb-exchange-rates
        vies.publicapi.axitam.netVérification des numéros de TVA européens (VIES, en direct), sur cet hôte uniquementvies

        Bêta publique

        L'AXITAM Public API est en bêta : elle est disponible et tenue à jour, mais les endpoints et les formats de réponse peuvent encore évoluer avant la version 1.0. D'autres données de référence (codes TVA d'autres pays, validation des numéros de téléphone...) sont en préparation.

        Une question, une idée, un retour ? Nous serons ravis de vous lire.

        Contacter AXITAM