Het formaat van het SIREN- en SIRET-nummer
Het SIREN-nummer identificeert een bedrijf (de juridische eenheid) met 9 cijfers. Het SIRET-nummer identificeert een van de vestigingen met 14 cijfers: het SIREN-nummer gevolgd door een intern nummer van 5 cijfers (NIC). Beide eindigen op een controlecijfer dat met het Luhn-algoritme wordt berekend, zodat een typefout te herkennen is zonder een database te raadplegen.
| Nummer | Lengte | Betreft | Voorbeeld |
|---|---|---|---|
| SIREN | 9 cijfers | Het bedrijf (juridische eenheid) | 552032534 |
| SIRET | 14 cijfers | Een vestiging: SIREN + NIC (5 cijfers) | 55203253400646 |
De API accepteert nummers zoals uw gebruikers ze invoeren, met spaties, punten of streepjes. In de antwoorden heeft elk bedrijf een globale identificatie: de landcode, een streepje en dan het nationale nummer (FR-552032534). Voor meer details over het formaat, zie het verschil tussen SIREN en SIRET en het SIREN-nummer.
Het profiel van een bedrijf opvragen via het SIREN-nummer
Een verzoek GET /v2/companies/FR-{siren} geeft het bedrijfsprofiel terug. Extra blokken (adres, btw, signalen, wettelijke aankondigingen, vestigingen) vraagt u op met de parameter include, zodat u alleen responstijd besteedt aan wat u leest.
curl "https://api.jsonpage.com/v2/companies/FR-552032534?include=address" \
-H "X-API-Key: $JSONPAGE_API_KEY"
{
"data": {
"id": "FR-552032534",
"country": "FR",
"registry_id": "552032534",
"name": "DANONE",
"status": "active",
"legal_form": { "code": "5599", "label": "SA à conseil d'administration (s.a.i.)" },
"activity": { "nace": "70.10", "code": "70.10Z", "label": "Activités des sièges sociaux" },
"incorporated_on": "1955-01-01",
"closed_on": null,
"updated_at": "2026-09-10T11:14:57Z",
"address": {
"line": "59 RUE LA FAYETTE",
"postal_code": "75009",
"city": "PARIS",
"country": "FR",
"formatted": "59 RUE LA FAYETTE, 75009 PARIS"
}
},
"meta": {
"sources": [{ "name": "Official company register: France", "country": "FR", "kind": "register", "data_date": "2026-09-29" }],
"includes": { "address": "ok" }
}
}
Verkort antwoord: de nomenclatuuridentificaties (scheme) van de blokken legal_form en activity zijn hier weggelaten.
Voor vestigingen toont GET /v2/companies/FR-{siren}/establishments de vestigingen van het bedrijf, pagina voor pagina. Alle routes zijn beschreven in de documentatie en in de OpenAPI-specificatie.
Zoeken op naam en een formulier aanvullen
GET /v2/companies?q=danone zoekt bedrijven op naam, en GET /v2/companies?registry_id=552032534 vindt een bedrijf via alleen het nationale nummer. Voor een formulierveld geeft GET /v2/autocomplete tijdens het typen beknopte suggesties terug (naam, plaats, postcode); roep de route aan vanaf uw server, zodat de sleutel geheim blijft.
curl "https://api.jsonpage.com/v2/autocomplete?q=carrefour&limit=1" \
-H "X-API-Key: $JSONPAGE_API_KEY"
{
"data": [
{ "id": "FR-652014051", "name": "CARREFOUR", "status": "active", "postal_code": "91300", "city": "MASSY", "kind": "company" }
]
}
Een ingevoerd SIREN- of SIRET-nummer controleren
GET /v2/validate controleert de nummers uit een formulier in één aanroep: formaat, controlecijfer, bestaan, actief bedrijf, en overeenstemming tussen het SIREN-nummer, het SIRET-nummer en het btw-nummer. Het antwoord is 200, ook als een waarde ongeldig is: valid geeft aan of alle controles zijn geslaagd, checks toont elke controle afzonderlijk.
curl "https://api.jsonpage.com/v2/validate?id=FR-652014051&vat=FR14652014051" \
-H "X-API-Key: $JSONPAGE_API_KEY"
{
"data": {
"valid": true,
"checks": [
{ "code": "id_format", "ok": true, "value": "FR-652014051" },
{ "code": "siren_key", "ok": true, "value": "652014051" },
{ "code": "vat_format", "ok": true, "value": "FR14652014051" },
{ "code": "identifiers_match", "ok": true, "value": "FR-652014051" },
{ "code": "company_exists", "ok": true, "value": "FR-652014051" },
{ "code": "company_active", "ok": true, "value": "active" },
{ "code": "vat_registered", "ok": true, "value": "valid" }
],
"company": { "id": "FR-652014051", "name": "CARREFOUR", "status": "active", "...": "..." }
}
}
Een onjuist opgebouwde identificatie geeft de fout 400 invalid_identifier, een onbekende identificatie 404 not_found. Om een btw-nummer te controleren, zie de pagina API voor controle van intracommunautaire btw-nummers.
Voorbeelden in uw programmeertaal
De sleutel wordt uit de omgeving gelezen en blijft op uw server.
JavaScript
const res = await fetch("https://api.jsonpage.com/v2/companies/FR-552032534", {
headers: { "X-API-Key": process.env.JSONPAGE_API_KEY },
});
const { data } = await res.json();
console.log(data.name, data.status);
Python
import os, requests
res = requests.get(
"https://api.jsonpage.com/v2/companies/FR-552032534",
headers={"X-API-Key": os.environ["JSONPAGE_API_KEY"]},
)
data = res.json()["data"]
print(data["name"], data["status"])
PHP
<?php
$ch = curl_init("https://api.jsonpage.com/v2/companies/FR-552032534");
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => ["X-API-Key: " . getenv("JSONPAGE_API_KEY")],
]);
$data = json_decode(curl_exec($ch), true)["data"];
echo $data["name"], " ", $data["status"];
Ruby
require "net/http"
require "json"
uri = URI("https://api.jsonpage.com/v2/companies/FR-552032534")
req = Net::HTTP::Get.new(uri, "X-API-Key" => ENV["JSONPAGE_API_KEY"])
res = Net::HTTP.start(uri.host, uri.port, use_ssl: true) { |http| http.request(req) }
data = JSON.parse(res.body)["data"]
puts "#{data["name"]} #{data["status"]}"
Limieten en prijzen
De abonnementen hebben een vaste prijs: Kennismaking à € 0, Standard à € 19 excl. btw per maand en Pro à € 129 excl. btw per maand. De doorvoer is 100, 1.000 en 10.000 verzoeken per minuut, zonder maandelijks quotum; het Kennismaking-abonnement (gratis) heeft daarnaast een plafond van 1.000 verzoeken per dag. Vaste prijs, geen credits, geen extra kosten bij overschrijding. De details staan op de pagina Tarieven.
Veelgestelde vragen
Wat is het verschil tussen een SIREN- en een SIRET-nummer?+
Het SIREN-nummer heeft 9 cijfers en identificeert het bedrijf. Het SIRET-nummer heeft 14 cijfers en identificeert een van de vestigingen: het is het SIREN-nummer gevolgd door een intern nummer van 5 cijfers.
Accepteert de API een SIREN-nummer met spaties?+
Ja. Spaties, punten en streepjes in het SIREN- en SIRET-nummer worden genegeerd; een onjuist opgebouwd nummer geeft de fout invalid_identifier.
Hoe vind ik een SIREN-nummer aan de hand van een bedrijfsnaam?+
Met zoeken op naam, GET /v2/companies?q=, of met autocomplete, GET /v2/autocomplete, bedoeld voor formuliervelden.
Meldt de API dat een bedrijf gesloten is?+
Ja. Elk profiel vermeldt zijn status (active of closed) en, indien van toepassing, de sluitingsdatum. De validatieroute geeft bovendien aan of het bedrijf actief is.
Is er een maandelijks quotum aan verzoeken?+
Nee. De limieten gelden voor de doorvoer per minuut: 100 verzoeken met het abonnement Kennismaking, 1.000 met Standard en 10.000 met Pro. Vaste prijs, geen credits, geen extra kosten bij overschrijding. Alleen het Kennismaking-abonnement (gratis) heeft daarnaast een plafond van 1.000 verzoeken per dag, dat om middernacht UTC wordt gereset.
Verder lezen
- DOCUMENTATIEAPI-documentatieAlle routes, hun parameters, antwoorden en fouten.
- BTWAPI voor controle van intracommunautaire btw-nummersFormaten per land, status geldig of ongeldig en een voorbeeldantwoord.
- VERGELIJKENEen API voor bedrijfsgegevens kiezenDekking, vast tarief of tegoeden, actualiteit, webhooks en documentatie.