Skip to content
We regularly add fields and features to the Belscope API. This documentation always shows the current version.

Directors

Who runs the company, from its newest annual account: people and companies, with their roles.

DirectorsEvery director, person or company, with name and address.
MandatesEach director's roles, with start and end date.
RepresentativesFor a company director: the person who acts for it.

Request

GEThttps://api.belscope.be/v1/companies/{number}/directors
curl https://api.belscope.be/v1/companies/0400378485/directors \
-H "Authorization: Bearer YOUR_KEY"
const response = await fetch('https://api.belscope.be/v1/companies/0400378485/directors', {
headers: { Authorization: 'Bearer YOUR_KEY' },
});
const data = await response.json();
import requests
response = requests.get(
'https://api.belscope.be/v1/companies/0400378485/directors',
headers={'Authorization': 'Bearer YOUR_KEY'},
)
data = response.json()
$context = stream_context_create([
'http' => ['header' => 'Authorization: Bearer YOUR_KEY', 'ignore_errors' => true],
]);
$response = file_get_contents('https://api.belscope.be/v1/companies/0400378485/directors', false, $context);
$data = json_decode($response, true);
using var client = new HttpClient();
client.DefaultRequestHeaders.Add("Authorization", "Bearer YOUR_KEY");
var response = await client.GetAsync("https://api.belscope.be/v1/companies/0400378485/directors");
var data = await response.Content.ReadAsStringAsync();

Answer

Counts as 1 requestJSON
{
"enterprise_number": "0123.456.749",
"year_end": "2025-12-31",
"directors": [
{
"entity_type": "Natuurlijk Persoon",
"name": "An Janssens",
"first_name": "An",
"last_name": "Janssens",
"enterprise_number": null,
"other_number": null,
"address": {
"full": "Molenstraat 8, 9050 Gent",
"street": "Molenstraat",
"house_number": "8",
"box": null,
"postal_code": "9050",
"municipality": "Gent",
"country": "België"
},
"roles": [
{
"role": "Bestuurder",
"start_date": "2020-06-10",
"end_date": "2030-06-10"
}
],
"representatives": []
},
{
"entity_type": "Rechtspersoon",
"name": "Belscope Holding",
"first_name": null,
"last_name": null,
"enterprise_number": "0123.456.848",
"other_number": null,
"address": {
"full": "Voorbeeldlaan 5, 2000 Antwerpen",
"street": "Voorbeeldlaan",
"house_number": "5",
"box": null,
"postal_code": "2000",
"municipality": "Antwerpen",
"country": "België"
},
"roles": [
{
"role": "Gedelegeerd bestuurder",
"start_date": "2018-02-01",
"end_date": "2030-06-10"
}
],
"representatives": [
{
"name": "Jan Peeters",
"first_name": "Jan",
"last_name": "Peeters",
"address": {
"full": "Kerkstraat 3, 9000 Gent",
"street": "Kerkstraat",
"house_number": "3",
"box": null,
"postal_code": "9000",
"municipality": "Gent",
"country": "België"
}
}
]
}
]
}
Fields 33What every field in the answer means
FieldTypeDescriptionNullable
enterprise_numbertextThe enterprise number, always as 0123.456.749.
year_enddateThe last day of the financial year these numbers come from: the newest annual account with figures (a year filed only as a PDF has none). Check it to know how recent the numbers are.Null when the company has no annual account with figures.
directorslistEveryone the annual account lists as director: first the people, then the companies, each in alphabetical order.Empty list when it lists none, or when the company has no annual account.
entity_typetextNatuurlijk Persoon for a person, Rechtspersoon for a company.
nametextThe full name of the person, or the name of the company, as written in the annual account.
first_nametextThe first name.Null for a company.
last_nametextThe last name.Null for a company.
enterprise_numbertextThe Belgian enterprise number of a company director, as 0123.456.749. Ask for that company with it.Null for a person, or for a company without a valid Belgian number.
other_numbertextThe number of a company director that is not a valid Belgian enterprise number, such as a foreign registration number, as written.Null when there is none.
addressblockThe address of the director, as written in the annual account.Null when the annual account gives none.
fulltextThe whole address on one line, ready to show. The country is only added abroad.Null when the annual account gives too little of the address to write it.
streettextThe street.Null when it is not given.
house_numbertextThe house number.Null when there is none.
boxtextThe box number.Null when there is none.
postal_codetextThe postal code.Null when it is not given.
municipalitytextThe municipality.Null when it is not given.
countrytextThe country, such as België.Null when it is not given.
roleslistThe mandates of this director, in the order of the annual account.Empty list when the annual account gives no mandate.
roletextThe role, such as Bestuurder, Gedelegeerd bestuurder or Zaakvoerder.Null when the annual account gives no role, or a role that is not one of the official roles.
start_datedateThe day the mandate started.Null when it is not given.
end_datedateThe day the mandate ends or ended. Often a planned date in the future.Null when it is not given.
representativeslistFor a company director: the person who acts for it.Empty list for a person, or when none is given.
nametextThe full name.
first_nametextThe first name.
last_nametextThe last name.
addressblockThe address of the representative, as written in the annual account.Null when the annual account gives none.
fulltextThe whole address on one line, ready to show. The country is only added abroad.Null when the annual account gives too little of the address to write it.
streettextThe street.Null when it is not given.
house_numbertextThe house number.Null when there is none.
boxtextThe box number.Null when there is none.
postal_codetextThe postal code.Null when it is not given.
municipalitytextThe municipality.Null when it is not given.
countrytextThe country, such as België.Null when it is not given.