CompanyBelgium

Recherche par adresse

Récupérez la liste paginée des entreprises domiciliées à une adresse donnée (code postal + rue). La rue est cherchée en correspondance partielle, sur les libellés français et néerlandais. Les entreprises actives comme inactives sont retournées. Requiert le scope search.

GET
/api/v2/search/address

Headers

HeaderValueDescription
X-API-Keypk_live_...Votre clé API publique
X-API-Secretsk_live_...Votre clé API secrète

Paramètres

NameTypeDescription
postalCode
requis
stringCode postal belge (4 chiffres)Exemple: 1080
street
requis
stringNom de rue (correspondance partielle, FR ou NL)Exemple: RUE DE LA COLONNE
houseNumber
optionnel
stringNuméro de maison (correspondance exacte)Exemple: 1A
page
optionnel
integerNuméro de pageDéfaut: 1
pageSize
optionnel
integerRésultats par page (max 100, alias : limit)Défaut: 20

Exemple de requête

cURL
curl -X GET \
  "https://companybelgium.be/api/v2/search/address?postalCode=1080&street=RUE%20DE%20LA%20COLONNE&page=1" \
  -H "X-API-Key: pk_live_votre_cle" \
  -H "X-API-Secret: sk_live_votre_secret"
JavaScript / Node.js
const params = new URLSearchParams({
  postalCode: '1080',
  street: 'RUE DE LA COLONNE',
  page: '1',
});

const response = await fetch(
  `https://companybelgium.be/api/v2/search/address?${params}`,
  {
    headers: {
      'X-API-Key': process.env.API_KEY,
      'X-API-Secret': process.env.API_SECRET,
    },
  }
);

const data = await response.json();

if (data.success) {
  const { results, totalResults, currentPage, totalPages } = data.data;
  console.log(`${totalResults} entreprise(s) — page ${currentPage}/${totalPages}`);
  for (const company of results) {
    console.log(`${company.enterpriseNumber} — ${company.name}`);
  }
}
Python
import requests

response = requests.get(
    'https://companybelgium.be/api/v2/search/address',
    params={
        'postalCode': '1080',
        'street': 'RUE DE LA COLONNE',
        'page': 1,
    },
    headers={
        'X-API-Key': 'pk_live_votre_cle',
        'X-API-Secret': 'sk_live_votre_secret',
    }
)
data = response.json()

if data['success']:
    payload = data['data']
    print(f"{payload['totalResults']} entreprise(s) — "
          f"page {payload['currentPage']}/{payload['totalPages']}")
    for company in payload['results']:
        print(f"{company['enterpriseNumber']} — {company['name']}")

Exemple de réponse

200 OK
{
  "success": true,
  "data": {
    "results": [
      {
        "enterpriseNumber": "0202.239.951",
        "name": "Commune de Molenbeek-Saint-Jean",
        "status": "Active",
        "statusCode": "AC",
        "type": "Personne morale",
        "address": "Rue de la Colonne 1\n1080 Molenbeek-Saint-Jean",
        "city": "Molenbeek-Saint-Jean",
        "startDate": "1968-09-13",
        "mainActivity": {
          "code": "84.110",
          "descriptionFr": "Administration publique générale",
          "descriptionNl": "Algemeen overheidsbestuur",
          "descriptionEn": "General public administration activities"
        }
      }
    ],
    "totalResults": 1,
    "currentPage": 1,
    "totalPages": 1,
    "searchParams": { "zipCode": "1080" }
  },
  "timestamp": "2026-06-07T10:00:00.000Z",
  "meta": { "responseTime": 18 }
}

Codes d'erreur

400 Bad Request
Paramètre requis manquant ou code postal invalide
400 Bad Request
{
  "success": false,
  "error": "Invalid postal code format. Belgian postal codes must be 4 digits.",
  "timestamp": "2026-06-07T10:00:00.000Z"
}
403 Forbidden
Le scope « search » n'a pas été accordé à l'application
403 Forbidden
{
  "success": false,
  "error": "This endpoint requires the "search" scope, which your application has not been granted.",
  "timestamp": "2026-06-07T10:00:00.000Z"
}

Mise en cache

Durée du cache: 1 heure

Notes

  • La pagination renvoie 20 résultats par page par défaut (pageSize, max 100). Certaines adresses (centres d'affaires) hébergent un grand nombre de sociétés : utilisez totalResults / totalPages pour itérer sur l'ensemble.
  • La correspondance sur la rue est partielle et insensible à la casse, appliquée aux libellés FR et NL. Le code postal, lui, doit être exact (4 chiffres).
  • Les entreprises inactives (cessées) sont incluses dans les résultats afin de conserver l'historique de domiciliation.
  • L'équivalent v1 reste disponible sur /api/companies/address.

Besoin d'aide ?

Notre equipe de support est disponible pour vous aider avec l'integration de l'API.