In 2 Minuten loslegen
Die Basisadresse der API lautet https://api.jsonpage.com/v2. Jeder Aufruf sendet Ihren API-Schlüssel im Header X-API-Key. Auf dieser Seite stehen die Routen mit ihrem vollständigen Pfad ab api.jsonpage.com, zum Beispiel /v2/companies/{id}.
1. Holen Sie Ihren Schlüssel: Meinen Schlüssel erhalten. Das kostenlose Konto ist sofort aktiv, und der Schlüssel erscheint in Ihrem Dashboard.
2. Senden Sie eine Anfrage: Diese Anfrage liest ein echtes Unternehmen, FR-552032534, mit seiner Adresse und seiner geprüften USt-IdNr.
curl "https://api.jsonpage.com/v2/companies/FR-552032534?include=address,vat" \
-H "X-API-Key: IHR_SCHLUESSEL"
3. Lesen Sie die Antwort: die vollständige Antwort, nichts gekürzt. vat.status ist valid, wenn die Nummer durch die europäische Prüfung bestätigt ist; pending bedeutet, dass die Prüfung noch nicht abgeschlossen ist, versuchen Sie es später erneut.
{
"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.)", "scheme": "FR-CJ" },
"activity": { "nace": "70.10", "code": "70.10Z", "label": "Activités des sièges sociaux", "scheme": "FR-NAF-REV2" },
"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"
},
"vat": { "number": "FR27552032534", "status": "valid", "checked_at": "2026-10-11T00:14:31Z", "source": "EU VAT check" }
},
"meta": {
"sources": [{ "name": "Official company register: France", "country": "FR", "kind": "register", "data_date": "2026-09-29" }],
"includes": { "address": "ok", "vat": "ok" }
}
}
Node.js (fetch)
// Node.js 18 or later, ES module. The key is read from the environment.
const response = await fetch(
"https://api.jsonpage.com/v2/companies/FR-552032534?include=address,vat",
{ headers: { "X-API-Key": process.env.JSONPAGE_API_KEY } }
);
if (!response.ok) throw new Error(`Jsonpage API: ${response.status}`);
const { data } = await response.json();
console.log(data.name, data.address?.formatted, data.vat?.status);
Python (requests)
import os
import requests
response = requests.get(
"https://api.jsonpage.com/v2/companies/FR-552032534",
params={"include": "address,vat"},
headers={"X-API-Key": os.environ["JSONPAGE_API_KEY"]},
timeout=10,
)
response.raise_for_status()
company = response.json()["data"]
print(company["name"], company["status"], company["vat"]["status"])
PHP (cURL)
<?php
$ch = curl_init('https://api.jsonpage.com/v2/companies/FR-552032534?include=address,vat');
curl_setopt_array($ch, [
CURLOPT_HTTPHEADER => ['X-API-Key: ' . getenv('JSONPAGE_API_KEY')],
CURLOPT_RETURNTRANSFER => true,
CURLOPT_TIMEOUT => 10,
]);
$body = curl_exec($ch);
$status = curl_getinfo($ch, CURLINFO_HTTP_CODE);
if ($body === false || $status !== 200) {
throw new RuntimeException("Jsonpage API: $status");
}
$company = json_decode($body, true)['data'];
echo $company['name'], ' ', $company['status'], ' ', $company['vat']['status'], PHP_EOL;
Ruby (net/http)
require "json"
require "net/http"
uri = URI("https://api.jsonpage.com/v2/companies/FR-552032534?include=address,vat")
request = Net::HTTP::Get.new(uri)
request["X-API-Key"] = ENV.fetch("JSONPAGE_API_KEY")
response = Net::HTTP.start(uri.host, uri.port, use_ssl: true, read_timeout: 10) { |http| http.request(request) }
raise "Jsonpage API: #{response.code}" unless response.is_a?(Net::HTTPSuccess)
company = JSON.parse(response.body).fetch("data")
puts [company["name"], company["status"], company.dig("vat", "status")].join(" ")
Die Beispiele in Node.js, Python, PHP und Ruby lesen den Schlüssel aus der Umgebungsvariable JSONPAGE_API_KEY. Die Antwort und die Liste der Blöcke sind im Abschnitt API v2 beschrieben.
Autovervollständigung in einem Formular: über Ihren Server
Der Browser ruft einen Endpunkt Ihres Servers auf, der den Schlüssel hinzufügt und /v2/autocomplete aufruft. Beispiel für eine serverseitige Route (Node.js):
import { createServer } from "node:http";
createServer(async (req, res) => {
const incoming = new URL(req.url, "http://localhost");
if (incoming.pathname !== "/api/companies/suggest") { res.writeHead(404).end(); return; }
const q = (incoming.searchParams.get("q") ?? "").trim();
res.setHeader("Content-Type", "application/json");
if (q.length < 2) { res.end(JSON.stringify({ data: [] })); return; }
const url = new URL("https://api.jsonpage.com/v2/autocomplete");
url.search = new URLSearchParams({ q, limit: "8" });
const response = await fetch(url, { headers: { "X-API-Key": process.env.JSONPAGE_API_KEY } });
// Too short, rate limited…: no suggestion.
res.end(response.ok ? await response.text() : JSON.stringify({ data: [] }));
}).listen(3000);
Warten Sie im Browser etwa 150 ms nach dem letzten Tastenanschlag, bevor Sie Ihren Endpunkt aufrufen: ein Vorschlag pro Tipppause statt einer pro Taste.
const input = document.querySelector("#company");
let timer;
input.addEventListener("input", () => {
clearTimeout(timer);
timer = setTimeout(async () => {
const response = await fetch(`/api/companies/suggest?q=${encodeURIComponent(input.value)}`);
const { data } = await response.json();
// Show name, postal_code and city; keep id for the next step.
}, 150);
});
Eingegebene Kennungen validieren
Bevor das Formular gespeichert wird, prüft Ihr Server die eingegebene SIREN, SIRET und USt-IdNr. in einem einzigen Aufruf:
const params = new URLSearchParams({ id: "FR-652014051", vat: "FR14652014051" });
const response = await fetch(`https://api.jsonpage.com/v2/validate?${params}`, {
headers: { "X-API-Key": process.env.JSONPAGE_API_KEY },
});
const { data } = await response.json();
if (!data.valid) {
const failed = data.checks.filter((check) => !check.ok).map((check) => check.code);
// For example ["vat_format"]: ask the user to correct the VAT number.
}
Die Endpunkte /v2/autocomplete und /v2/validate sind im Abschnitt Formulare beschrieben.
Ein gemeinsames Format für mehrere Länder
Die API v2 liefert für jedes bediente Land dasselbe Format, mit demselben Schlüssel und demselben Tarif. Frankreich, Belgien, die Schweiz, Norwegen, Finnland, Lettland, Irland, Schweden, Estland, Litauen, Australien, Singapur, Japan und das Vereinigte Königreich sind verfügbar.
Globale Kennung
Jedes Unternehmen hat eine globale Kennung: den zweibuchstabigen Ländercode nach ISO 3166-1, einen Bindestrich und dann die nationale Registernummer, ohne Leerzeichen oder Satzzeichen. Beispiele: FR-552032534 für eine französische SIREN, GB-00445790 für eine 8-stellige britische Company Number, BE-0417497106 für eine 10-stellige belgische Unternehmensnummer, CH-101374515 für eine 9-stellige Schweizer UID, ohne das Präfix CHE.
Für die anderen Länder: NO-923609016 für eine 9-stellige norwegische Organisationsnummer, FI-01120389 für eine finnische Y-tunnus (die 7 Ziffern und die Prüfziffer, ohne Bindestrich; 0112038-9 wird akzeptiert), LV-40003245752 für eine 11-stellige lettische Registernummer, AU-51824753556 für eine 11-stellige australische Business Number (ABN), SG-196800306E für eine singapurische UEN mit 9 oder 10 Zeichen, JP-1180301018771 für eine 13-stellige japanische Unternehmensnummer, IE-104547 für eine irische Firmennummer mit 1 bis 7 Ziffern, SE-5560427220 für eine 10-stellige schwedische Organisationsnummer, EE-10137025 für einen 8-stelligen estnischen Registercode und LT-110053842 für einen 9-stelligen litauischen Code einer juristischen Person.
Das Land ist Teil der Kennung, da sich nationale Nummern überschneiden: Eine französische SIREN und eine norwegische Organisationsnummer haben beide 9 Ziffern. Übernehmen Sie die Kennung unverändert aus data.id.
Verfügbare Endpunkte
https://jsonpage.com. Senden Sie Ihren API-Schlüssel bei jedem Aufruf im Header X-API-Key; die Beispiele lesen ihn aus der Variablen JSONPAGE_API_KEY. Nur die Endpunkte zum Dienstzustand kommen ohne ihn aus. Klicken Sie auf einen Endpunkt, um seine Parameter, ein Beispiel und seine Fehler zu sehen.Unternehmen
GET/v2/companies/{id}Den Datensatz eines Unternehmens abrufen
Liefert den Datensatz eines Unternehmens anhand seiner globalen Kennung. Ohne Optionen enthält er die Basisfelder: Name, Status, Rechtsform, Tätigkeit und Daten. Adresse, USt-IdNr. oder weitere Blöcke fügen Sie mit include hinzu.
Parameter
idPflichtLändercode, Bindestrich, dann die Registernummer:
FR-552032534,BE-0417497106,CH-101374515,NO-923609016,FI-01120389,LV-40003245752,IE-104547,SE-5560427220,EE-10137025,LT-110053842,AU-51824753556,SG-196800306E,JP-1180301018771,GB-00445790.includeoptionalHinzuzufügende Blöcke, zum Beispiel
address,vat. Standardmäßig keine. Werte: address, establishments, local, vat, signals, legal_events, officers, owners, sanctions. Inhalt der Blöcke: Blöcke auf Anfrage.fieldsoptionalBehält nur diese Basisfelder, zum Beispiel
name,status. Standardmäßig alle;idwird immer zurückgegeben.
Beispiel
curl "https://api.jsonpage.com/v2/companies/CH-101374515?include=address" \
-H "X-API-Key: $JSONPAGE_API_KEY"
{
"data": {
"id": "CH-101374515",
"country": "CH",
"registry_id": "101374515",
"name": "The Swatch Group AG",
"status": "active",
"legal_form": { "code": "0106", "label": "Société anonyme", "...": "..." },
"address": { "postal_code": "2000", "city": "Neuchâtel", "...": "..." },
"...": "..."
},
"meta": { "includes": { "address": "ok" }, "sources": [{ "...": "..." }] }
}
Mögliche Fehler
400 invalid_identifier: ungültige Kennung (erwartet: Ländercode, Bindestrich, Nummer)400 unknown_include: unbekannter Block ininclude404 country_not_supported: Land noch nicht verfügbar404 not_found: kein Unternehmen mit dieser Kennung
Fehler, die für alle Endpunkte gelten (Schlüssel, IP-Adresse, Kontingent): Fehler und Limits.
Länder Frankreich, Belgien, Schweiz, Norwegen, Finnland, Lettland, Irland, Schweden, Estland, Litauen, Australien, Singapur, Japan und Vereinigtes Königreich. Ein Block, den es in einem Land nicht gibt, wird in meta.includes gemeldet (not_available_in_country), ohne Fehler.
GET/v2/companies/{id}/establishmentsDie Niederlassungen eines Unternehmens auflisten
Liefert die Niederlassungen (Standorte, Geschäfte, Filialen) eines Unternehmens seitenweise. Für die nächste Seite übergeben Sie den Wert next an den Parameter after; auf der letzten Seite ist next gleich null.
Parameter
idPflichtGlobale Kennung des Unternehmens, zum Beispiel
FR-552032534.limitoptionalNiederlassungen pro Seite: Standard 20, von 1 bis 100.
afteroptionalDer Wert
nextder vorherigen Seite. Fehlt er: erste Seite.
Beispiel
curl "https://api.jsonpage.com/v2/companies/FR-552032534/establishments?limit=2" \
-H "X-API-Key: $JSONPAGE_API_KEY"
{
"data": {
"items": [
{ "registry_id": "55203253400414", "name": "...", "head_office": false, "...": "..." },
{ "registry_id": "...", "...": "..." }
],
"next": "..."
},
"meta": { "sources": [{ "name": "Official company register: France", "country": "FR", "kind": "register", "data_date": "2026-10-01" }] }
}
Mögliche Fehler
400 invalid_parameter:limitaußerhalb von 1 bis 100404 not_found: kein Unternehmen mit dieser Kennung404 not_available_in_country: keine Niederlassungen im Register dieses Landes (Schweiz, Finnland, Lettland, Irland, Schweden, Estland, Litauen, Australien, Singapur, Japan, Vereinigtes Königreich)
Fehler, die für alle Endpunkte gelten (Schlüssel, IP-Adresse, Kontingent): Fehler und Limits.
Länder Nur Frankreich (14-stellige SIRET) und Belgien (10-stellige Niederlassungsnummer).
GET/v2/companies?q=…Unternehmen nach Namen suchen
Sucht Unternehmen nach ihrem Namen, in einem oder mehreren Ländern. Exakte Namen kommen zuerst, dann aktive Unternehmen. Die gesamte Suche zählt als eine Anfrage.
Parameter
qPflichtDer gesuchte Name. Jedes Wort mit 2 oder mehr Zeichen muss im Namen vorkommen; das letzte darf ein Wortanfang sein (
danofindet DANONE).countryoptionalLänder, in denen gesucht wird, zum Beispiel
FR,BE. Standardmäßig alle. Werte: FR, BE, CH, NO, LV, FI, AU, SG, JP, GB, IE, SE, EE, LT.statusoptionalactivebehält nur aktive Unternehmen;any(Standard) behält jeden Status.limitoptionalHöchstzahl der Ergebnisse: Standard 20, von 1 bis 50.
Beispiel
curl "https://api.jsonpage.com/v2/companies?q=swatch&country=CH&limit=5" \
-H "X-API-Key: $JSONPAGE_API_KEY"
{
"data": [
{ "id": "CH-101374515", "name": "The Swatch Group AG", "status": "active", "...": "..." },
{ "id": "CH-...", "...": "..." }
],
"meta": { "sources": [{ "name": "Official company register: Switzerland", "country": "CH", "kind": "register", "data_date": "2026-10-01" }] }
}
Mögliche Fehler
400 query_too_short: kein Wort mit 2 oder mehr Zeichen inq400 invalid_parameter: ungültiger Wert fürstatusoderlimit404 country_not_supported: Land ohne Namenssuche
Fehler, die für alle Endpunkte gelten (Schlüssel, IP-Adresse, Kontingent): Fehler und Limits.
GET/v2/companies?registry_id=…Ein Unternehmen über seine Nummer finden, ohne das Land zu kennen
Sucht eine nationale Registernummer in allen verfügbaren Ländern und liefert die Unternehmen, die sie tragen, meist nur eines. Die Liste ist leer, wenn keines passt.
Parameter
registry_idPflichtDie Nummer ohne Ländercode, zum Beispiel
552032534. Leerzeichen werden ignoriert.
Beispiel
curl "https://api.jsonpage.com/v2/companies?registry_id=552032534" \
-H "X-API-Key: $JSONPAGE_API_KEY"
{
"data": [
{ "id": "FR-552032534", "country": "FR", "registry_id": "552032534", "name": "DANONE", "status": "active", "...": "..." }
],
"meta": { "sources": [{ "name": "Official company register: France", "country": "FR", "kind": "register", "data_date": "2026-10-01" }] }
}
Mögliche Fehler
400 invalid_parameter: wederqnochregistry_idin der Anfrage
Fehler, die für alle Endpunkte gelten (Schlüssel, IP-Adresse, Kontingent): Fehler und Limits.
POST/v2/companies/batchBis zu 100 Unternehmen in einem Aufruf abrufen
Liefert mehrere Datensätze in einem Aufruf, in der angefragten Reihenfolge. Jedes Element enthält data oder error, wenn das Unternehmen nicht gefunden wird. Jedes Unternehmen im Stapel zählt als eine Anfrage.
Parameter
idsPflichtDie globalen Kennungen, 1 bis 100, zum Beispiel
["FR-552032534", "BE-0417497106"].includeoptionalBlöcke für jeden Datensatz, dieselben Werte wie für ein einzelnes Unternehmen. Standardmäßig keine.
Beispiel
curl -X POST "https://api.jsonpage.com/v2/companies/batch" \
-H "X-API-Key: $JSONPAGE_API_KEY" \
-H "Content-Type: application/json" \
-d '{ "ids": ["FR-552032534", "BE-0417497106"], "include": ["vat"] }'
{
"data": [
{ "id": "FR-552032534", "data": { "id": "FR-552032534", "name": "DANONE", "...": "..." } },
{ "id": "BE-0417497106", "data": { "id": "BE-0417497106", "name": "Anheuser-Busch InBev", "...": "..." } }
],
"meta": { "sources": [{ "...": "..." }] }
}
Mögliche Fehler
400 invalid_json: unlesbarer Body, größer als 64 KB oder mit einem anderen Feld alsidsundinclude400 invalid_parameter:idsleer oder mit mehr als 100 Elementen400 unknown_include: unbekannter Block ininclude429 rate_limit_exceeded: der Stapel übersteigt die Anfragen, die Ihnen in dieser Minute noch bleiben
Fehler, die für alle Endpunkte gelten (Schlüssel, IP-Adresse, Kontingent): Fehler und Limits.
Formulare
GET/v2/autocomplete?q=…Unternehmen während der Eingabe vorschlagen
Liefert einige schlanke Vorschläge (Name, Ort, Postleitzahl) für ein Formularfeld. Eine eingegebene Registernummer liefert direkt ihr Unternehmen. Rufen Sie diesen Endpunkt von Ihrem Server aus auf, damit der Schlüssel geheim bleibt.
Parameter
qPflichtDer eingegebene Text: ein Name, ein Namensanfang oder eine Nummer (SIREN, SIRET, belgische Nummer, Schweizer UID, norwegische Organisationsnummer, finnische Y-tunnus, lettische Nummer, australische ABN, singapurische UEN, japanische Unternehmensnummer, britische Company Number).
countryoptionalLänder, in denen gesucht wird, zum Beispiel
FR. Standardmäßig alle. Werte: FR, BE, CH, NO, LV, FI, AU, SG, JP, GB, IE, SE, EE, LT.statusoptionalactive(Standard) schlägt nur aktive Unternehmen vor;anyschlägt jeden Status vor.limitoptionalHöchstzahl der Vorschläge: Standard 8, von 1 bis 20.
Beispiel
curl "https://api.jsonpage.com/v2/autocomplete?q=carrefour&limit=5" \
-H "X-API-Key: $JSONPAGE_API_KEY"
{
"data": [
{ "id": "FR-652014051", "name": "CARREFOUR", "status": "active", "postal_code": "91300", "city": "MASSY", "kind": "company" },
{ "id": "FR-...", "...": "..." }
]
}
Mögliche Fehler
400 query_too_short: kein Wort mit 2 oder mehr Zeichen inq400 invalid_parameter: ungültiger Wert fürstatusoderlimit404 country_not_supported: Land ohne Namenssuche
Fehler, die für alle Endpunkte gelten (Schlüssel, IP-Adresse, Kontingent): Fehler und Limits.
GET/v2/validateEine Kennung, eine SIRET oder eine USt-IdNr. prüfen
Prüft die in einem Formular eingegebenen Nummern: Format, Existenz, aktives Unternehmen und ob sie dasselbe Unternehmen bezeichnen. Geben Sie mindestens eine an. Die Antwort ist 200, auch wenn ein Wert ungültig ist: valid sagt, ob alle Prüfungen bestanden sind, checks listet jede einzeln auf. Nur wenn alle Parameter fehlen, folgt 400 invalid_parameter.
Parameter
idoptionalGlobale Kennung, zum Beispiel
FR-652014051.siretoptional14-stellige SIRET einer französischen Niederlassung. Leerzeichen, Punkte und Bindestriche werden ignoriert.
vatoptionalFranzösische, belgische, Schweizer, norwegische, finnische oder lettische USt-IdNr., zum Beispiel
FR14652014051. Leerzeichen, Punkte und Bindestriche werden ignoriert.eorioptionalEORI-Nummer, zum Beispiel
FR55203253400646: Die Prüfung gilt als bestanden, wenn der offizielle Dienst nicht antwortet (unverifiable), und schlägt fehl, wenn die Nummer ungültig ist. Eine französische EORI istFRgefolgt von der SIRET.
Beispiel
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": "vat_format", "ok": true, "value": "FR14652014051" },
{ "code": "identifiers_match", "ok": true, "value": "FR-652014051" },
{ "code": "company_active", "ok": true, "value": "active" },
{ "...": "..." }
],
"company": { "id": "FR-652014051", "name": "CARREFOUR", "...": "..." }
}
}
Mögliche Fehler
400 invalid_parameter: wederidnochsiretnochvat
Fehler, die für alle Endpunkte gelten (Schlüssel, IP-Adresse, Kontingent): Fehler und Limits.
Länder id: Frankreich, Belgien, Schweiz, Norwegen, Finnland, Lettland, Irland, Schweden, Estland, Litauen, Australien, Singapur, Japan, Vereinigtes Königreich. siret: Frankreich. vat: Frankreich, Belgien, Schweiz, Norwegen, Finnland, Lettland, Schweden, Estland, Litauen. Liste der Prüfungen: Validierung.
GET/v2/eori/{number}Eine EORI-Nummer prüfen
Prüft eine EORI-Nummer, die Zollkennung von Unternehmen, die importieren oder exportieren: das Format und dann, ob die Nummer bei den offiziellen Prüfdiensten existiert (Europäische Union und Vereinigtes Königreich). Zählt als eine Anfrage, in jedem Tarif. Die Antwort ist 200 mit dem status valid, invalid, unverifiable (der offizielle Dienst antwortet nicht: das ist nie eine ungültige Nummer, versuchen Sie es später erneut) oder not_applicable (Schweiz und Norwegen, wo die europäische EORI nicht gilt). name und address sind nur enthalten, wenn das Unternehmen der Veröffentlichung zugestimmt hat. Jede Antwort wird 24 Stunden wiederverwendet.
Parameter
numbererforderlichZweistelliger Ländercode gefolgt von höchstens 15 Zeichen, zum Beispiel
FR55203253400646,DE1234567oderGB123456789000. Leerzeichen, Punkte und Bindestriche werden ignoriert.
Beispiel
curl "https://api.jsonpage.com/v2/eori/DE1234567" \
-H "X-API-Key: $JSONPAGE_API_KEY"
{
"data": {
"eori": "DE1234567",
"country": "DE",
"status": "valid",
"valid": true,
"checked_at": "2026-10-11T12:00:00Z",
"name": "EXEMPLE GMBH",
"address": "Hauptstrasse 1, 10115, BERLIN, DE"
}
}
Mögliche Fehler
400 invalid_eori: kein Ländercode gefolgt von höchstens 15 Zeichen400 country_not_supported: Land ohne EORI-Prüfung503 eori_unavailable: EORI-Prüfung ist auf diesem Server nicht aktiviert
Fehler, die für alle Endpunkte gelten (Schlüssel, IP-Adresse, Kontingent): Fehler und Limits.
Überwachung
PUT/v2/monitors/{id}Ein Unternehmen überwachen
Fügt ein Unternehmen zu Ihrer Überwachungsliste hinzu: Jede erkannte Änderung wird danach zu einem Ereignis. Antwortet 201, wenn es hinzugefügt wird, 200, wenn es schon überwacht wurde. Kein Request-Body.
Parameter
idPflichtGlobale Kennung des Unternehmens, zum Beispiel
FR-552032534.
Beispiel
curl -X PUT "https://api.jsonpage.com/v2/monitors/FR-552032534" \
-H "X-API-Key: $JSONPAGE_API_KEY"
{ "data": { "company_id": "FR-552032534", "created": true } }
Mögliche Fehler
400 invalid_identifier: ungültige Kennung (erwartet: Ländercode, Bindestrich, Nummer)403 monitor_limit_reached: die Höchstzahl überwachter Unternehmen Ihres Tarifs ist erreicht404 not_found: kein Unternehmen mit dieser Kennung503 monitoring_unavailable: Überwachung vorübergehend nicht verfügbar; erneut versuchen
Fehler, die für alle Endpunkte gelten (Schlüssel, IP-Adresse, Kontingent): Fehler und Limits.
DELETE/v2/monitors/{id}Die Überwachung eines Unternehmens beenden
Entfernt ein Unternehmen aus Ihrer Überwachungsliste. Antwortet 204, ohne Body. Bereits erfasste Ereignisse bleiben abrufbar.
Parameter
idPflichtGlobale Kennung des Unternehmens, zum Beispiel
FR-552032534.
Beispiel
curl -X DELETE "https://api.jsonpage.com/v2/monitors/FR-552032534" \
-H "X-API-Key: $JSONPAGE_API_KEY"
HTTP/2 204
Mögliche Fehler
400 invalid_identifier: ungültige Kennung (erwartet: Ländercode, Bindestrich, Nummer)404 not_monitored: das Unternehmen steht nicht auf Ihrer Liste503 monitoring_unavailable: Überwachung vorübergehend nicht verfügbar; erneut versuchen
Fehler, die für alle Endpunkte gelten (Schlüssel, IP-Adresse, Kontingent): Fehler und Limits.
GET/v2/monitorsDie überwachten Unternehmen auflisten
Liefert Ihre Überwachungsliste, nach Kennung sortiert, seitenweise. meta.count nennt die Zahl der überwachten Unternehmen und meta.limit die Grenze Ihres Tarifs.
Parameter
limitoptionalUnternehmen pro Seite: Standard 100, von 1 bis 1.000.
afteroptionalDer Wert
nextder vorherigen Seite. Fehlt er: erste Seite.
Beispiel
curl "https://api.jsonpage.com/v2/monitors?limit=100" \
-H "X-API-Key: $JSONPAGE_API_KEY"
{
"data": [
{ "company_id": "FR-552032534", "created_at": "2026-10-02T09:12:44Z", "checked_at": "2026-10-02T10:00:03Z", "...": "..." }
],
"next": null,
"meta": { "count": 1, "limit": 1000 }
}
Mögliche Fehler
400 invalid_parameter:limitaußerhalb von 1 bis 1.000503 monitoring_unavailable: Überwachung vorübergehend nicht verfügbar; erneut versuchen
Fehler, die für alle Endpunkte gelten (Schlüssel, IP-Adresse, Kontingent): Fehler und Limits.
GET/v2/eventsDie erkannten Änderungen abrufen
Liefert die Ereignisse Ihrer überwachten Unternehmen (Adress- oder Statusänderung, neue Bekanntmachung …), vom ältesten zum neuesten. Merken Sie sich die Kennung des zuletzt verarbeiteten Ereignisses und übergeben Sie sie beim nächsten Aufruf an after.
Parameter
afteroptionalLiefert nur die Ereignisse nach diesem, zum Beispiel
evt_41. Fehlt er: ab dem ältesten.limitoptionalEreignisse pro Seite: Standard 100, von 1 bis 1.000.
company_idoptionalLiefert nur die Ereignisse dieses Unternehmens, zum Beispiel
FR-552032534.
Beispiel
curl "https://api.jsonpage.com/v2/events?after=evt_41&limit=100" \
-H "X-API-Key: $JSONPAGE_API_KEY"
{
"data": [
{
"id": "evt_42",
"type": "company.address_changed",
"company_id": "FR-552032534",
"detected_at": "2026-10-03T04:00:00Z",
"data": { "before": "75 AV DE LA GRANDE ARMEE 75116 PARIS", "after": "..." }
}
],
"next": "evt_42"
}
Mögliche Fehler
400 invalid_parameter: ungültiger Wert fürafteroderlimit400 invalid_identifier: ungültigecompany_id503 monitoring_unavailable: Überwachung vorübergehend nicht verfügbar; erneut versuchen
Fehler, die für alle Endpunkte gelten (Schlüssel, IP-Adresse, Kontingent): Fehler und Limits.
Webhooks, die die API an Ihren Server sendet, sind unter Webhooks beschrieben.
Dienstzustand
GET/health/livePrüfen, ob der Dienst antwortet
Antwortet 200, solange der Dienst läuft. Ohne API-Schlüssel: praktisch für eine Überwachungssonde.
Parameter
Keine Parameter.
Beispiel
curl "https://api.jsonpage.com/health/live"
{ "status": "ok" }
GET/health/readyPrüfen, ob die Daten bereit sind
Antwortet 200 mit "status": "ready", wenn der Dienst Daten liefern kann, sonst 503. Ohne API-Schlüssel.
Parameter
Keine Parameter.
Beispiel
curl "https://api.jsonpage.com/health/ready"
{ "status": "ready" }
Mögliche Fehler
503: der Dienst ist nicht bereit; später erneut versuchen
GET/health/sourcesDen Zustand der Daten je Land ansehen
Nennt je Land den Zustand der Daten (ok: aktuell, stale: nicht aktualisiert, refreshing: Aktualisierung läuft), wie die Seite Dienststatus. Ohne API-Schlüssel.
Parameter
Keine Parameter.
Beispiel
curl "https://api.jsonpage.com/health/sources"
{
"status": "ok",
"checked_at": "...",
"sources": [
{ "country": "FR", "status": "ok" },
{ "...": "..." }
]
}
Basisantwort
Ohne Optionen ist die Antwort etwa 0,5 KB groß und enthält in allen Ländern dieselben Felder: Kennung, Land, Nummer, Name, Status (active, closed oder unknown), Rechtsform, Tätigkeit mit ihrem europäischen NACE-Code sowie Gründungs-, Schließungs- und Aktualisierungsdatum. Ein unbekannter Wert ist null, und ein Basisfeld wird nie weggelassen.
curl "https://api.jsonpage.com/v2/companies/FR-552032534" \
-H "X-API-Key: VOTRE_CLE"{
"data": {
"id": "FR-552032534",
"country": "FR",
"registry_id": "552032534",
"name": "DANONE",
"status": "closed",
"legal_form": { "code": "5699", "label": "SA à directoire (s.a.i.)", "scheme": "FR-CJ" },
"activity": { "nace": "70.10", "code": "70.10Z", "label": "Activités des sièges sociaux", "scheme": "FR-NAF-REV2" },
"incorporated_on": "1955-01-01",
"closed_on": null,
"updated_at": "2024-03-22T13:26:06Z"
},
"meta": {
"sources": [{ "name": "Official company register: France", "country": "FR", "kind": "register", "data_date": "2026-10-01" }]
}
}
Blöcke auf Anfrage
Fügen Sie die gewünschten Blöcke mit dem Parameter include hinzu, durch Kommas getrennt. Ein nicht angeforderter Block wird weder gelesen noch berechnet, und jeder Aufruf zählt unabhängig von den Blöcken als eine Anfrage. Ein unbekannter Block löst den Fehler unknown_include aus, statt ignoriert zu werden.
| Block | Inhalt | Länder |
|---|---|---|
address | Adresse des Hauptsitzes: Adresszeile, Postleitzahl, Ort, Land und formatierte Adresse. | France, Belgique, Suisse, Norvège, Finlande, Lettonie, Irlande, Suède, Estonie, Australie, Singapour, Japon, Royaume-Uni |
establishments | Die ersten 20 Niederlassungen und der Cursor für die nächste Seite. | Frankreich, Belgien, Norwegen |
local | Länderspezifische Felder des Registers, unverändert übernommen. | France, Belgique, Suisse, Norvège, Finlande, Lettonie, Australie, Singapour, Japon, Irlande, Suède, Estonie, Lituanie, Royaume-Uni |
vat | Umsatzsteuer-Identifikationsnummer (USt-IdNr.) und Ergebnis ihrer Prüfung. | Frankreich, Belgien, Schweiz, Norwegen, Finnland, Lettland, Schweden, Estland, Litauen |
eori | Wahrscheinliche EORI des Hauptsitzes (FR + SIRET) und das Ergebnis ihrer Prüfung, nie als sicher dargestellt. | Frankreich |
signals | Aus dem Register berechnete Signale; leere Liste, wenn keine vorliegen. | Frankreich, Belgien, Schweiz, Norwegen, Finnland, Lettland, Irland, Schweden, Estland, Litauen, Australien, Singapur, Japan, Vereinigtes Königreich |
legal_events | Die letzten 20 rechtlichen Bekanntmachungen, von der neuesten zur ältesten. | Frankreich |
officers | Geschäftsführer und Bevollmächtigte. | Noch nicht verfügbar |
owners | Aktuelle Personen mit maßgeblicher Kontrolle (wirtschaftlich Berechtigte); leere Liste, wenn keine vorliegen. | Vereinigtes Königreich |
sanctions | Abgleich mit Sanktionslisten. | Frankreich, Belgien, Schweiz, Norwegen, Finnland, Lettland, Irland, Schweden, Estland, Litauen, Australien, Singapur, Japan, Vereinigtes Königreich |
Für jeden angeforderten Block meldet meta.includes den Wert ok oder not_available_in_country für einen Block, der in diesem Land noch nicht verfügbar ist; der Block fehlt dann in data. Das betrifft derzeit officers in allen Ländern sowie establishments, vat und legal_events im Vereinigten Königreich, legal_events und owners in Belgien, establishments, legal_events und owners in der Schweiz sowie owners in Frankreich.
Norwegen: legal_events und owners sind nicht verfügbar. Litauen: address, establishments, legal_events und owners sind nicht verfügbar. Finnland, Lettland, Irland, Schweden, Estland, Australien, Singapur und Japan: establishments, legal_events und owners sind nicht verfügbar.
curl "https://api.jsonpage.com/v2/companies/FR-552032534?include=vat,signals,officers" \
-H "X-API-Key: VOTRE_CLE"{
"data": {
"id": "FR-552032534",
"...": "...",
"vat": { "number": "FR27552032534", "status": "valid", "checked_at": "2026-10-11T00:14:31Z", "source": "EU VAT check" },
"signals": []
},
"meta": {
"sources": [{ "name": "Official company register: France", "country": "FR", "kind": "register", "data_date": "2026-10-01" }],
"includes": { "vat": "ok", "signals": "ok", "officers": "not_available_in_country" }
}
}Gekürzte Antwort: Die Basisfelder sind hier weggelassen.
vat.status ist valid (Nummer bestätigt), invalid (Nummer abgelehnt), pending (die europäische Prüfung hat noch nicht geantwortet: versuchen Sie es in einigen Sekunden erneut) oder not_verified (keine Prüfung angefragt oder möglich).
Der Parameter fields beschränkt die Basisantwort auf die gewählten Felder, zum Beispiel fields=name,status. Die Kennung id und die angeforderten Blöcke bleiben immer erhalten.
Besonderheiten je Land
Das Format ist in allen Ländern gleich; nur die Nummerierung und die verfügbaren Blöcke unterscheiden sich. Der nationale Tätigkeitscode bleibt in activity.code und der ursprüngliche Status aus dem Register im Block local.
Frankreich (FR) | Belgien (BE) | Schweiz (CH) | Norwegen (NO) | Finnland (FI) | Lettland (LV) | Irland (IE) | Schweden (SE) | Estland (EE) | Litauen (LT) | Australien (AU) | Singapur (SG) | Japan (JP) | Vereinigtes Königreich (GB) | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Abdeckung | Offizielle französische Unternehmensregister und rechtliche Bekanntmachungen. | Offizielles belgisches Unternehmensregister: rund 2 Millionen aktive Unternehmen und ihre Niederlassungseinheiten. | Schweizer Handelsregister: rund 795.000 aktive Rechtseinheiten. | Norwegisches Register der Rechtseinheiten: rund 1,2 Millionen aktive Einheiten, davon rund 465.000 Einzelunternehmen, und rund 870.000 Niederlassungen. | Finnisches Unternehmensregister: rund 463.000 Einheiten (Gesellschaften, Wohnungsgesellschaften, Vereine, Stiftungen…). | Lettisches Unternehmensregister: rund 218.000 aktive Einheiten (Gesellschaften, Vereine, Stiftungen, landwirtschaftliche Betriebe, Zweigniederlassungen…) und rund 237.000 gelöschte Einheiten. | Irisches Gesellschaftsregister: rund 345.000 aktive Gesellschaften (private Gesellschaften mit Aktien, Gesellschaften mit bestimmter Tätigkeit, Garantiegesellschaften, Aktiengesellschaften, ausländische Gesellschaften…) und rund 480.000 aufgelöste oder gelöschte Gesellschaften. | Schwedische Unternehmensregister: rund 1,18 Millionen aktive Organisationen (Aktiengesellschaften, Personengesellschaften, Wohnungsgenossenschaften, Genossenschaften, Vereine, Stiftungen, öffentliche Stellen…) und rund 1,03 Millionen gelöschte Organisationen. Einzelunternehmer werden nicht bedient. | Estnisches Unternehmensregister: rund 355.000 eingetragene Rechtsträger (Gesellschaften mit beschränkter Haftung, Wohnungseigentümergemeinschaften, Vereine, Kommanditgesellschaften, Aktiengesellschaften, Stiftungen, Genossenschaften, Kommunen…), tätig, in Liquidation oder im Konkurs. Einzelunternehmer werden nicht bedient. | Litauisches Register der juristischen Personen: rund 233.000 aktive juristische Personen (Gesellschaften mit beschränkter Haftung, kleine Gesellschaften, Einzelunternehmen, Vereine, öffentliche Einrichtungen, Genossenschaften, Kommunen…) und rund 315.000 gelöschte juristische Personen. | Australisches Register der Unternehmensnummern: rund 6,1 Millionen aktive ABN (Gesellschaften, Trusts, Personengesellschaften, Pensionsfonds, Einzelunternehmer unter ihrem Handelsnamen…) und rund 6,7 Millionen gelöschte ABN. | Singapurisches Register der Gesellschaften und Unternehmen: rund 635.000 aktive Einheiten (lokale Gesellschaften, Einzelunternehmen, Personengesellschaften, Zweigniederlassungen ausländischer Gesellschaften) und rund 1,5 Millionen gelöschte, aufgelöste oder eingestellte Einheiten. | Japanisches Register der Unternehmensnummern: rund 5,1 Millionen aktive Gesellschaften und Organisationen (Aktiengesellschaften, Gesellschaften mit beschränkter Haftung, Gebietskörperschaften, Vereine, ausländische Gesellschaften…) und rund 780.000 geschlossene. Einzelunternehmer haben keine Nummer und sind nicht enthalten. | Britisches Gesellschaftsregister: etwa 5,7 Millionen aktive Gesellschaften und ihre wirtschaftlich Berechtigten (Personen mit maßgeblicher Kontrolle). |
| Nummer | SIREN, 9 Ziffern: FR-552032534. | Unternehmensnummer, 10 Ziffern, beginnend mit 0 oder 1, deren letzte zwei eine Prüfziffer nach Modulo 97 bilden: BE-0417497106. Die Schreibweisen 0417.497.106, BE0417497106 und die alte 9-stellige Nummer (BE-417497106) werden akzeptiert. | UID, 9 Ziffern nach CHE, deren letzte eine Prüfziffer nach Modulo 11 ist: CH-105909036 für CHE-105.909.036. Die Schreibweisen CHE-105.909.036, CHE105909036 und CHE-105.909.036 MWST (oder USt., IVA) werden akzeptiert. | Organisationsnummer, 9 Ziffern, deren letzte eine Prüfziffer nach Modulo 11 ist: NO-923609016. Die Formen 923 609 016, NO923609016 und NO923609016MVA werden nach dem Präfix NO- akzeptiert, oder allein für die USt-IdNr. | Y-tunnus, 7 Ziffern, ein Bindestrich und eine Prüfziffer nach Modulo 11: FI-01120389 für 0112038-9. Die Formen 0112038-9, 01120389, FI01120389 und 112038-9 werden akzeptiert. | Registernummer, 11 Ziffern, ohne veröffentlichte Prüfziffer: LV-40003245752. LV40003245752 wird akzeptiert. | Firmennummer mit 1 bis 7 Ziffern, ohne veröffentlichte Prüfziffer: IE-104547. Führende Nullen werden ignoriert, IE104547 wird akzeptiert. | Organisationsnummer mit 10 Ziffern, deren letzte eine Luhn-Prüfziffer ist: SE-5560427220. Die Schreibweisen 556042-7220, SE5560427220 und die USt-IdNr. SE556042722001 werden akzeptiert. | Registercode mit 8 Ziffern, deren letzte eine Prüfziffer ist: EE-10137025. Die Schreibweisen 10137025, EE10137025 und die USt-IdNr. EE100210460 werden akzeptiert. | Code der juristischen Person mit 9 Ziffern, deren letzte eine Prüfziffer ist: LT-110053842. Die Schreibweisen 110053842 und LT110053842 (die USt-IdNr.) werden akzeptiert. | ABN, 11 Ziffern, deren erste zwei eine Modulo-89-Prüfung bilden: AU-51824753556. Die Formen 51 824 753 556, ABN 51824753556 und AU51824753556 werden akzeptiert. | UEN: 8 Ziffern und ein Buchstabe (Unternehmen), 9 Ziffern und ein Buchstabe (lokale Gesellschaften) oder T, S oder R, 2 Ziffern, 2 Buchstaben, 4 Ziffern und ein Buchstabe (andere Einheiten), wobei der letzte Buchstabe ein Prüfbuchstabe ist: SG-196800306E. Kleinbuchstaben, Leerzeichen und das Präfix UEN werden akzeptiert. | Unternehmensnummer, 13 Ziffern, deren erste eine Prüfziffer ist: JP-1180301018771. Ziffern in voller Breite und Leerzeichen werden akzeptiert. | Company number, 8 Zeichen, manchmal mit Präfix (SC, NI, OC…). Fehlende führende Nullen werden ergänzt: GB-6 wird zu GB-00000006. |
status | A → active, C → closed. | closed bei einer abschließenden rechtlichen Situation (Konkurs abgeschlossen, Liquidation abgeschlossen…); ein Unternehmen in Konkurs oder Liquidation bleibt active. Die Quelle enthält nur aktive Einheiten: Ein Unternehmen, das seine Tätigkeit eingestellt hat, wird nicht mehr gefunden. | closed für eine im Register gelöschte Einheit; closed_on bleibt null, da die Quelle kein Löschungsdatum angibt. Ein Unternehmen in Liquidation bleibt active. | closed für eine Einheit, die aus dem Register verschwunden ist; closed_on bleibt null, da das Datum nicht angegeben wird. Eine Einheit in Konkurs oder Liquidation bleibt active. | closed für eine Einheit, deren Enddatum verstrichen ist oder die aus den Daten verschwunden ist (closed_on ist dann null, wenn das Datum fehlt). Eine Einheit in Konkurs oder Liquidation bleibt active. | closed für eine gelöschte Einheit; closed_on ist das Datum der Löschung. Eine Einheit in Liquidation bleibt active. | closed für eine aufgelöste, gelöschte, eingestellte oder aus dem Register entfernte Gesellschaft; closed_on ist das Auflösungsdatum. Eine Gesellschaft in Liquidation, unter Verwaltung oder mit vorgeschlagener Löschung bleibt active. | closed für eine gelöschte Organisation; closed_on ist das Löschungsdatum. Eine Organisation in Liquidation, im Konkurs oder in Umstrukturierung bleibt active. | closed für eine Einheit, die aus den Daten verschwunden ist; closed_on ist dann null, da das Datum nicht angegeben wird. Eine Einheit in Liquidation oder im Konkurs bleibt active (ursprünglicher Status in local.status). | closed für eine gelöschte juristische Person; closed_on ist das Löschungsdatum. Eine juristische Person in Liquidation oder im Konkurs bleibt active (ursprünglicher Status in local.legal_status). | closed für eine gelöschte ABN; closed_on ist das Löschdatum. | closed für jeden anderen Status als „Live“ (gelöscht, aufgelöst, eingestellt, umgewandelt…); closed_on bleibt null, da das Datum nicht angegeben wird. Eine Einheit „Gazetted To Be Struck Off“ oder in Liquidation bleibt active. | closed, wenn ein Schließungsdatum angegeben ist (closed_on, Grund in local.closure). incorporated_on ist null: Das Datum der Vergabe der Nummer steht in local.number_assigned_on. | closed, wenn die Gesellschaft aufgelöst ist; eine Gesellschaft in Liquidation oder unter Insolvenzverwaltung bleibt active. |
legal_form | Rechtskategorie (FR-CJ). | Belgische Rechtsform (BE-JURIDICAL-FORM), Bezeichnung auf Französisch. | Rechtsform nach eCH-0097 (CH-LEGAL-FORM), Bezeichnung auf Französisch. | Organisationsform (NO-ORG-FORM), Bezeichnung auf Französisch für die wichtigsten, sonst auf Norwegisch. | Unternehmensform (FI-COMPANY-FORM), Bezeichnung auf Französisch für die wichtigsten, sonst auf Englisch. | Rechtsform des Registers (LV-LEGAL-FORM), Bezeichnung auf Französisch für die wichtigsten, sonst auf Lettisch. | Gesellschaftstyp des Registers (IE-COMPANY-TYPE), Bezeichnung auf Französisch für die wichtigsten, sonst auf Englisch. | Organisationsform des Registers (SE-ORG-FORM), Bezeichnung auf Französisch; für Organisationen, die nur das Statistikregister kennt, eine zweistellige Rechtsform (SE-LEGAL-FORM). | Rechtsform des Registers (EE-LEGAL-FORM), Bezeichnung auf Französisch für die wichtigsten, sonst auf Estnisch. | Rechtsform des Registers (LT-LEGAL-FORM), dreistelliger Code, Bezeichnung auf Französisch für die wichtigsten, sonst auf Englisch; litauische Bezeichnung in local. | Entitätstyp (AU-ENTITY-TYPE), Bezeichnung auf Französisch für die wichtigsten, sonst auf Englisch. | Gesellschafts- oder Unternehmensform (SG-LEGAL-FORM: EPC, PC, PCS, SOLE, PART…), Bezeichnung auf Französisch; der Einheitstyp steht in local.entity_type. | Art der Gesellschaft (JP-LEGAL-FORM: 301 Aktiengesellschaft, 302, 305…), Bezeichnung auf Französisch; die japanische Bezeichnung steht in local.legal_form_label_ja. | Kategorie der britischen Gesellschaft (GB-COMPANY-CATEGORY). |
activity | NAF Rev. 2; NACE = erste 4 Ziffern. | Haupttätigkeit in der neuesten NACE-BEL-Version (BE-NACEBEL-2025); NACE Rev. 2 = Klasse des NACE-BEL-2008-Codes. | null: Die Quelle veröffentlicht keinen Tätigkeitscode (NOGA). | 5-stelliger SN2025-Code (NO-SN2025), Bezeichnung auf Norwegisch; nace ist null (Nomenklatur an NACE Rev. 2.1 angelehnt). | 5-stelliger TOL-2025-Code (FI-TOL2025), Bezeichnung auf Englisch; nace ist null (Nomenklatur an NACE Rev. 2.1 angelehnt); die wenigen TOL-2008-Codes (FI-TOL2008) liefern die NACE-Rev.-2-Klasse. | null: Das Register veröffentlicht keinen Tätigkeitscode. | NACE-Klasse (Rev. 2) des Registers (IE-NACE-REV2), wenn angegeben; Bezeichnung auf Französisch für die meisten Klassen. | Fünfstelliger SNI-2025-Code (SE-SNI2025), ohne Bezeichnung; nace ist null (Klassifikation an NACE Rev. 2.1 angelehnt). Die anderen Codes stehen in local. | Angegebene Haupttätigkeit, fünfstelliger EMTAK-Code (EE-EMTAK2025 oder EE-EMTAK2008), Bezeichnung auf Estnisch; die NACE-Klasse (Rev. 2) wird für EMTAK 2008 angegeben, nace ist null für EMTAK 2025 (an NACE Rev. 2.1 angelehnt). | null: Das Register veröffentlicht keinen Tätigkeitscode. | null: Das Register veröffentlicht keinen Tätigkeitscode. | Primärer SSIC-Code (SG-SSIC); nace ist null. | null: Das Register veröffentlicht keinen Tätigkeitscode. | Erster SIC-2007-Code; NACE Rev. 2, wenn die 4-stellige Klasse existiert, sonst null. |
updated_at | Datum der letzten Aktualisierung des Datensatzes. | null; das Datum der Daten steht in meta.sources. | null; das Datum der Daten steht in meta.sources. Auch incorporated_on ist null: Die Quelle nennt kein Eintragungsdatum. | null; das Datum der Daten steht in meta.sources. incorporated_on ist das Gründungsdatum, sonst das Datum des Registereintrags. | null; das Datum der Daten steht in meta.sources. incorporated_on ist das Eintragungsdatum. | null; das Datum der Daten steht in meta.sources. incorporated_on ist das Eintragungsdatum. | updated_at ist das Datum der letzten Aktualisierung des Eintrags. incorporated_on ist der Tag, an dem die ABN aktiv wurde (bei einer gelöschten ABN unbekannt). | null; incorporated_on ist das Eintragungsdatum. | updated_at ist das Datum der Aktualisierung des Eintrags. | null; das Datum der Daten steht in meta.sources. incorporated_on ist das Datum der ersten Eintragung. | null; das Datum der Daten steht in meta.sources. incorporated_on ist das Eintragungsdatum. | null; das Datum der Daten steht in meta.sources. incorporated_on ist das Eintragungsdatum. | null; das Datum der Daten steht in meta.sources. incorporated_on ist das Eintragungsdatum. | null; das Datum der Daten steht in meta.sources. |
| Verfügbare Blöcke | address, establishments, local, vat, signals, legal_events, sanctions. | address (Sitz), establishments (Niederlassungseinheiten), local (rechtliche Situation, Namen, Tätigkeiten), vat, signals, sanctions. | address (Sitz), local (UID, Registernummern, Zweck, Gemeinde, Kanton, übersetzte Namen, weitere eingetragene Sitze), vat, signals, sanctions. | address (Geschäftsadresse), establishments (Unterheiten), local (Form, Sektor, Beschäftigte, Kapital, Daten), vat (Status im Mehrwertsteuerregister), signals, sanctions. | address, local (parallele und Hilfsnamen, Handelsregister, USt-IdNr., Situation), vat, signals, sanctions. | address, local (Register, Löschungsgrund), vat, signals, sanctions. | address, local (ursprünglicher Typ und Status, Grafschaft, Eircode, Daten der Jahresmeldung und der Abschlüsse), signals, sanctions. | address (Postanschrift), local (formatierte Nummer, laufendes Verfahren, Löschungsgrund, weitere Tätigkeitscodes, weitere Namen), vat, signals, sanctions. | address, local (ursprünglicher Status, Bezeichnung der Form, Untertyp, Gemeinden), vat (wenn das Register eine USt-IdNr. angibt), signals, sanctions. | local (Code, litauische Bezeichnung der Form, Rechtsstatus und sein Datum), vat, signals, sanctions. | address (nur Bundesstaat und Postleitzahl), local (ACN, Bundesstaat, Handelsnamen, GST-Status), signals, sanctions. | address (vollständige Adresse mit Block, Straße, Stockwerk, Einheit und Postleitzahl), local (Einheitstyp, Registerstatus, Fälligkeiten von Abschluss und Jahresmeldung, Nebentätigkeit, frühere Namen), signals, sanctions. | address (auf Japanisch: Präfektur, Gemeinde, Straße, Postleitzahl), local (Lesung des Namens in Katakana, englischer Name und Adresse, falls vorhanden, Codes von Präfektur und Gemeinde, Schließungsgrund, Nummer des Nachfolgers), signals, sanctions. | address (eingetragener Sitz), local (Status, Kategorie, SIC-Codes, Fälligkeiten des Jahresabschlusses und der jährlichen Meldung, frühere Namen), signals, owners (Personen mit maßgeblicher Kontrolle), sanctions. |
| Nicht verfügbar | owners (das Register der wirtschaftlich Berechtigten ist seit dem 31. Juli 2024 nicht mehr öffentlich). | legal_events, owners (die Quelle veröffentlicht sie nicht). | establishments, legal_events, owners (die Quelle veröffentlicht sie nicht). | legal_events, owners (nicht veröffentlicht). | establishments, legal_events, owners (nicht veröffentlicht). | address, establishments, legal_events, owners (nicht veröffentlicht). | establishments, legal_events, owners (nicht veröffentlicht). | establishments, legal_events, owners (nicht veröffentlicht). | vat (die irische USt-IdNr. lässt sich nicht aus der Firmennummer ableiten), establishments, legal_events, owners (nicht veröffentlicht). | establishments, legal_events, owners (nicht veröffentlicht). | establishments, legal_events, owners (nicht veröffentlicht); vat (die USt-IdNr. wird für Australien nicht geprüft: Der GST-Status steht in local). | establishments, legal_events, owners (nicht veröffentlicht); vat (die USt-IdNr. wird für Singapur nicht geprüft). | establishments, legal_events, owners (nicht veröffentlicht); vat (die USt-IdNr. wird für Japan nicht geprüft). | establishments (das britische Register führt keine Niederlassungen), vat (die europäische USt-Prüfung deckt das Vereinigte Königreich seit dem Brexit nicht mehr ab), legal_events. |
Beispiel im Vereinigten Königreich: Ein im Land nicht verfügbarer Block wird in meta.includes gemeldet, ohne Fehler.
curl "https://api.jsonpage.com/v2/companies/GB-00445790?include=address,signals,vat" \
-H "X-API-Key: VOTRE_CLE"{
"data": {
"id": "GB-00445790",
"country": "GB",
"registry_id": "00445790",
"name": "TESCO PLC",
"status": "active",
"...": "...",
"address": { "...": "..." },
"signals": []
},
"meta": {
"sources": [{ "name": "Official company register: United Kingdom", "country": "GB", "kind": "register", "data_date": "2026-10-01" }],
"includes": { "address": "ok", "signals": "ok", "vat": "not_available_in_country" }
}
}Gekürzte, beispielhafte Antwort. Der Endpunkt /v2/companies/GB-00445790/establishments gibt 404 not_available_in_country zurück.
Belgien
Die belgischen Unternehmen stammen aus dem offiziellen belgischen Unternehmensregister. Die globale Kennung ist BE- gefolgt von der 10-stelligen Unternehmensnummer, zum Beispiel BE-0417497106. Die API akzeptiert auch BE-0417.497.106, BE-BE0417497106 und die alte 9-stellige Nummer (BE-417497106) und gibt in data.id immer die 10-stellige Form zurück. Die letzten beiden Ziffern sind eine Prüfziffer: 97 minus der Rest der Division der ersten acht Ziffern durch 97. Eine Nummer mit falscher Prüfziffer führt zum Fehler 400 invalid_identifier.
curl "https://api.jsonpage.com/v2/companies/BE-0417497106?include=address,vat,signals" \
-H "X-API-Key: VOTRE_CLE"{
"data": {
"id": "BE-0417497106",
"country": "BE",
"registry_id": "0417497106",
"name": "Anheuser-Busch InBev",
"status": "active",
"legal_form": { "code": "014", "label": "Société anonyme", "scheme": "BE-JURIDICAL-FORM" },
"activity": { "nace": "70.10", "code": "70100", "label": "Activités des sièges sociaux", "scheme": "BE-NACEBEL-2025" },
"incorporated_on": "1977-08-02",
"closed_on": null,
"updated_at": null,
"address": { "line": "Grand-Place 1", "postal_code": "1000", "city": "Bruxelles", "country": "BE", "formatted": "Grand-Place 1, 1000 Bruxelles" },
"vat": { "number": "BE0417497106", "status": "valid", "checked_at": "2026-10-11T00:14:31Z", "source": "EU VAT check" },
"signals": []
},
"meta": {
"sources": [{ "name": "Official company register: Belgium", "country": "BE", "kind": "register", "data_date": "2026-10-02" }],
"includes": { "address": "ok", "signals": "ok", "vat": "ok" }
}
}Die belgische USt-IdNr. ist BE gefolgt von der Unternehmensnummer; sie wird wie in Frankreich geprüft (pending beim ersten Aufruf, danach valid oder invalid). Die Bezeichnungen der Rechtsform, der Tätigkeit und der rechtlichen Situation sind auf Französisch; die Adresse ist auf Französisch, wenn die Quelle sie so angibt, sonst auf Niederländisch.
Der Block local enthält den Datensatz des belgischen Registers unverändert:
"local": {
"enterprise_number": "0417.497.106",
"status": "AC",
"juridical_situation": { "code": "000", "label": "Situation normale", "scheme": "BE-JURIDICAL-SITUATION" },
"type_of_enterprise": "2",
"juridical_form": { "code": "014", "label": "Société anonyme", "scheme": "BE-JURIDICAL-FORM" },
"start_date": "1977-08-02",
"names": [
{ "language": "fr", "type": "legal", "value": "Anheuser-Busch InBev" },
{ "language": "fr", "type": "abbreviation", "value": "AB Inbev" },
{ "language": "nl", "type": "legal", "value": "Anheuser-Busch InBev" },
"..."
],
"activities": [
{ "code": "70100", "nace_version": "2025", "group": "006", "classification": "MAIN", "label": "Activités des sièges sociaux" },
{ "code": "70100", "nace_version": "2008", "group": "001", "classification": "MAIN", "label": "Activités des sièges sociaux" },
"..."
]
}
| Feld | Inhalt |
|---|---|
enterprise_number | Unternehmensnummer in ihrer amtlichen Form, 0417.497.106. |
status | Ursprünglicher Status im Register (AC: aktiv). |
juridical_situation | Rechtliche Situation: Code, Bezeichnung und Schema BE-JURIDICAL-SITUATION, zum Beispiel 000 „Situation normale“. Aus ihr ergeben sich die Signale insolvency_proceedings und liquidation. |
type_of_enterprise | 1 natürliche Person, 2 juristische Person. |
juridical_form, start_date | Rechtsform (wie legal_form) und Anfangsdatum des Unternehmens. |
names | Alle eingetragenen Namen: language (fr, nl, de, en oder leer, wenn die Sprache unbekannt ist), type (legal, abbreviation oder commercial) und value. Das Basisfeld name ist der rechtliche Name, auf Französisch, wenn es ihn gibt. |
activities | Alle eingetragenen Tätigkeiten: code, nace_version (2003, 2008 oder 2025), group (Tätigkeitsgruppe des Registers, 001 für die Umsatzsteuer), classification (MAIN Haupttätigkeit, SECO Nebentätigkeit, ANCI Hilfstätigkeit) und label. |
Das Basisfeld activity ist die Haupttätigkeit in der neuesten NACE-BEL-Version, vorrangig die der Umsatzsteuergruppe; activity.nace ist die aus dem NACE-BEL-2008-Code abgeleitete Klasse der NACE Rev. 2.
Die Niederlassungen sind die im belgischen Register eingetragenen Niederlassungseinheiten: /v2/companies/BE-0417497106/establishments listet sie seitenweise auf. registry_id ist ihre 10-stellige Nummer, die mit 2 beginnt; name ist ihr Handelsname, sonst der rechtliche Name; activity ist ihre Haupttätigkeit und opened_on ihr Anfangsdatum. head_office ist immer false: Das Register bestimmt keinen Sitz unter den Einheiten, und die Adresse des Sitzes steht im Block address.
{
"registry_id": "2102217256",
"name": "Anheuser-Busch InBev",
"head_office": false,
"status": "active",
"activity": { "nace": "70.10", "code": "70100", "label": "Activités des sièges sociaux", "scheme": "BE-NACEBEL-2025" },
"opened_on": "1976-10-01",
"address": { "line": "Avenue Joseph-Prévers 26", "postal_code": "4020", "city": "Liège", "country": "BE", "formatted": "Avenue Joseph-Prévers 26, 4020 Liège" }
}
Signale in Belgien: insolvency_proceedings bei einem eröffneten Konkurs, einem gerichtlichen Vergleich, einem Zahlungsaufschub oder einer gerichtlichen Reorganisation und liquidation bei einer laufenden Auflösung oder Liquidation; ihr detail ist die Bezeichnung der rechtlichen Situation. recently_created und closed folgen denselben Regeln wie in den anderen Ländern. Nur aktive Einheiten sind in der Quelle enthalten: Ein Unternehmen, das seine Tätigkeit eingestellt hat, wird nicht mehr gefunden (404 not_found), und die Überwachung meldet es mit dem Ereignis company.removed_from_register.
Suche nach Namen: Jeder im belgischen Register eingetragene Name ist durchsuchbar, rechtlicher Name, Abkürzung oder Handelsname, in jeder Sprache. Zum Beispiel findet GET /v2/companies?q=ab+inbev&country=BE zuerst Anheuser-Busch InBev. Die Validierung akzeptiert belgische USt-IdNr.: GET /v2/validate?vat=BE0417497106.
Schweiz
Die Schweizer Unternehmen stammen aus dem Schweizer Handelsregister: rund 795.000 aktive Rechtseinheiten aller Rechtsformen (Aktiengesellschaften, GmbH, Einzelunternehmen, Genossenschaften, Vereine, Stiftungen, Zweigniederlassungen…). Die globale Kennung ist CH- gefolgt von den 9 Ziffern der UID, ohne das Präfix CHE: CH-105909036 für CHE-105.909.036. Die API akzeptiert auch CH-105.909.036, CH-CHE-105.909.036 und CH-CHE-105.909.036 MWST und gibt in data.id immer die 9-stellige Form zurück; die Suche nach Nummer, die Autovervollständigung, die Validierung und die Anreicherung akzeptieren die UID unverändert (CHE-105.909.036, CHE105909036, CHE-105.909.036 MWST oder mit USt. oder IVA). Die letzte Ziffer ist eine Prüfziffer nach Modulo 11 (Standard eCH-0097): Eine Nummer mit falscher Prüfziffer führt zum Fehler 400 invalid_identifier.
curl "https://api.jsonpage.com/v2/companies/CH-101374515?include=address,vat,signals" \
-H "X-API-Key: VOTRE_CLE"{
"data": {
"id": "CH-101374515",
"country": "CH",
"registry_id": "101374515",
"name": "The Swatch Group AG",
"status": "active",
"legal_form": { "code": "0106", "label": "Société anonyme", "scheme": "CH-LEGAL-FORM" },
"activity": null,
"incorporated_on": null,
"closed_on": null,
"updated_at": null,
"address": { "line": "c/o Caisse de pensions Swatch Group, faubourg de l'Hôpital 3", "postal_code": "2000", "city": "Neuchâtel", "country": "CH", "formatted": "c/o Caisse de pensions Swatch Group, faubourg de l'Hôpital 3, 2000 Neuchâtel" },
"vat": { "number": "CHE-116.294.121 MWST", "status": "valid", "checked_at": "2026-10-03T22:39:43Z", "source": "EU VAT check" },
"signals": []
},
"meta": {
"sources": [{ "name": "Official company register: Switzerland", "country": "CH", "kind": "register", "data_date": "2026-10-03" }],
"includes": { "address": "ok", "signals": "ok", "vat": "ok" }
}
}Die Schweizer MWST-Nummer ist die UID gefolgt von MWST (USt. auf Französisch, IVA auf Italienisch); auch sie wird geprüft. Bei einem Mitglied einer MWST-Gruppe, wie hier, ist die zurückgegebene Nummer die der Gruppe, mit der das Unternehmen fakturiert. Die Bezeichnung der Rechtsform ist auf Französisch; Name und Adresse sind die des Registers, in der Sprache der Eintragung.
Der Block local enthält den Datensatz des Handelsregisters. Nestlé ist eine einzige Rechtseinheit mit zwei eingetragenen Sitzen, in Cham und in Vevey:
curl "https://api.jsonpage.com/v2/companies/CH-105909036?include=local" \
-H "X-API-Key: VOTRE_CLE""local": {
"uid": "CHE-105.909.036",
"ehra_id": 126286,
"chid": "CH17030010013",
"legal_form": { "code": "0106", "label_fr": "Société anonyme", "label_de": "Aktiengesellschaft", "label_en": "Company limited by shares" },
"purpose": "Beteiligung an Industrie-, Dienstleistungs-, Handels- und Finanzunternehmungen, …",
"municipality": { "bfs_number": "1702", "name": "Cham" },
"canton": "ZG",
"names": [
{ "language": "", "value": "Nestlé AG" },
{ "language": "en", "value": "Nestlé Ltd." },
{ "language": "fr", "value": "Nestlé S.A." }
],
"other_registrations": [
{
"ehra_id": 126288,
"chid": "CH55000672935",
"name": "Nestlé S.A.",
"status": "active",
"municipality": { "bfs_number": "5890", "name": "Vevey" },
"canton": "VD",
"address": { "line": "Avenue Nestlé 55", "postal_code": "1800", "city": "Vevey", "country": "CH", "formatted": "Avenue Nestlé 55, 1800 Vevey" }
}
],
"last_listed_on": null
}
| Feld | Inhalt |
|---|---|
uid | UID in ihrer amtlichen Form, CHE-105.909.036. |
ehra_id, chid | Nummer der Einheit im eidgenössischen Register, eine ganze Zahl, und Nummer des kantonalen Registers, zum Beispiel CH17030010013. |
legal_form | Rechtsform nach eCH-0097: code und Bezeichnungen label_fr, label_de und label_en. |
purpose | Zweck des Unternehmens wie eingetragen, in der Sprache des Registers. |
municipality, canton | Gemeinde des Sitzes (bfs_number, die amtliche Gemeindenummer, und name) und Kanton mit zwei Buchstaben, zum Beispiel ZG. |
names | Eingetragener Name (leere language) und seine eingetragenen Übersetzungen (language de, fr, it, en oder rm), mit value. Das Basisfeld name ist der eingetragene Name. |
other_registrations | Weitere eingetragene Sitze derselben Rechtseinheit: ehra_id, chid, name, status, municipality, canton und address; [], wenn es keine gibt. |
last_listed_on | Nur gelöschte Einheiten: der letzte Tag, an dem das Register die Einheit führte; sonst null. |
Signale in der Schweiz: liquidation, wenn der eingetragene Name den gesetzlichen Zusatz „in Liquidation“ („en liquidation“, „in liquidazione“) trägt; das detail gibt dies an. closed bezeichnet eine im Register gelöschte Einheit. recently_created gilt nicht, da die Quelle kein Eintragungsdatum enthält. Das Schweizer Register führt keine Niederlassungen: /v2/companies/CH-101374515/establishments gibt 404 not_available_in_country zurück, und die Blöcke establishments, legal_events und owners werden in meta.includes als not_available_in_country gemeldet.
Suche nach Namen: Der eingetragene Name und seine Übersetzungen (Deutsch, Französisch, Italienisch, Englisch) sind durchsuchbar. Zum Beispiel findet GET /v2/companies?q=swatch&country=CH Swatch AG und The Swatch Group AG. In der Autovervollständigung liefert eine eingegebene UID (CHE-101.374.515) direkt das Unternehmen; Einzelunternehmen (Rechtsform 0101) haben den kind person. Die Validierung akzeptiert Schweizer MWST-Nummern: GET /v2/validate?vat=CHE-105.909.036+MWST.
Norwegen
Die norwegischen Einheiten stammen aus dem norwegischen Register der Rechtseinheiten: rund 1,2 Millionen aktive Einheiten aller Formen (Aktiengesellschaften, Vereine, Eigentümergemeinschaften, Einzelunternehmen…) und ihre Niederlassungen. Die globale Kennung ist NO- gefolgt von den 9 Ziffern der Organisationsnummer: NO-923609016. Die letzte Ziffer ist eine Prüfziffer nach Modulo 11: Eine Nummer mit falscher Prüfziffer führt zum Fehler 400 invalid_identifier. Einzelunternehmen werden unter ihrem Geschäftsnamen geliefert; es werden weder Geschäftsführer noch Kontaktdaten bereitgestellt. Eine einzelne 9-stellige Organisationsnummer wird in einer Anreicherungsdatei als SIREN gelesen: Schreiben Sie sie NO-923609016 oder mit ihrer USt-IdNr.
curl "https://api.jsonpage.com/v2/companies/NO-923609016?include=address,vat,signals" \
-H "X-API-Key: VOTRE_CLE"{
"data": {
"id": "NO-923609016",
"country": "NO",
"registry_id": "923609016",
"name": "EQUINOR ASA",
"status": "active",
"legal_form": { "code": "ASA", "label": "Société anonyme publique", "scheme": "NO-ORG-FORM" },
"activity": { "nace": null, "code": "06.100", "label": "Utvinning av råolje", "scheme": "NO-SN2025" },
"incorporated_on": "1972-09-18",
"closed_on": null,
"updated_at": null,
"address": { "line": "Forusbeen 50", "postal_code": "4035", "city": "STAVANGER", "country": "NO", "formatted": "Forusbeen 50, 4035 STAVANGER" },
"vat": { "number": "NO923609016MVA", "status": "valid", "checked_at": "2026-10-10T00:00:00Z", "source": "EU VAT check" },
"signals": []
},
"meta": {
"sources": [{ "name": "Official company register: Norway", "country": "NO", "kind": "register", "data_date": "2026-10-10" }],
"includes": { "address": "ok", "signals": "ok", "vat": "ok" }
}
}
Die norwegische USt-IdNr. ist NO, die Organisationsnummer und MVA (NO923609016MVA); sie wird ohne Wartezeit im amtlichen Mehrwertsteuerregister gelesen: valid, wenn die Einheit dort eingetragen ist, sonst invalid. Die Niederlassungen sind die Unterheiten des Registers: /v2/companies/NO-923609016/establishments oder include=establishments. Der Block local enthält den Registerdatensatz:
curl "https://api.jsonpage.com/v2/companies/NO-923609016?include=local" \
-H "X-API-Key: VOTRE_CLE""local": {
"organisation_number": "923 609 016",
"legal_form": { "code": "ASA", "label": "Société anonyme publique", "scheme": "NO-ORG-FORM" },
"legal_form_label_no": "Allmennaksjeselskap",
"registered_on": "1995-03-12",
"founded_on": "1972-09-18",
"in_business_enterprise_register": true,
"vat_registered": true,
"vat_registered_on": "1989-07-01",
"institutional_sector": { "code": "1120", "label": "Statlig eide aksjeselskaper mv.", "scheme": "NO-SECTOR" },
"employees": 21272,
"capital": { "amount": 5976872600, "currency": "NOK", "type": "Aksjekapital" },
"municipality": "STAVANGER",
"last_listed_on": null
}
Signale in Norwegen: insolvency_proceedings bei einem Konkurs oder einem Restrukturierungsverfahren (since nennt das Eröffnungsdatum), liquidation bei einer laufenden Auflösung oder Liquidation, auch von Amts wegen, und closed für eine Einheit, die aus dem Register verschwunden ist. Suche nach Namen: GET /v2/companies?q=equinor&country=NO; Einzelunternehmen haben bei der Autovervollständigung die kind person.
Finnland
Die finnischen Einheiten stammen aus dem finnischen Unternehmensregister: rund 463.000 Einheiten (Gesellschaften, Wohnungsgesellschaften, Vereine, Stiftungen…). Die globale Kennung ist FI- gefolgt von den 8 Zeichen der Y-tunnus, ohne Bindestrich: FI-01120389 für 0112038-9. Die API akzeptiert auch FI-0112038-9 und die Nummer ohne führende Nullen und gibt in data.id immer die 8-stellige Form zurück; die Suche nach Nummer, die Autovervollständigung, die Validierung und die Anreicherung akzeptieren die Y-tunnus unverändert (0112038-9). Die letzte Ziffer ist eine Prüfziffer nach Modulo 11: Eine Nummer mit falscher Prüfziffer führt zum Fehler 400 invalid_identifier. Es werden keine personenbezogenen Daten bereitgestellt.
curl "https://api.jsonpage.com/v2/companies/FI-0112038-9?include=address,vat,signals" \
-H "X-API-Key: VOTRE_CLE"{
"data": {
"id": "FI-01120389",
"country": "FI",
"registry_id": "01120389",
"name": "Nokia Oyj",
"status": "active",
"legal_form": { "code": "17", "label": "Société anonyme publique (Oyj)", "scheme": "FI-COMPANY-FORM" },
"activity": { "nace": null, "code": "70100", "label": "Activities of head offices", "scheme": "FI-TOL2025" },
"incorporated_on": "1896-12-19",
"closed_on": null,
"updated_at": null,
"address": { "line": "Karakaari 7", "postal_code": "02610", "city": "ESPOO", "country": "FI", "formatted": "Karakaari 7, 02610 ESPOO" },
"vat": { "number": "FI01120389", "status": "valid", "checked_at": "2026-10-10T20:59:03Z", "source": "EU VAT check" },
"signals": []
},
"meta": {
"sources": [{ "name": "Official company register: Finland", "country": "FI", "kind": "register", "data_date": "2026-10-10" }],
"includes": { "address": "ok", "signals": "ok", "vat": "ok" }
}
}
Die finnische USt-IdNr. ist FI gefolgt von den 8 Ziffern der Y-tunnus; sie wird auf dieselbe Weise geprüft wie in Frankreich und Belgien, mit denselben Status. Signale in Finnland: insolvency_proceedings bei einem Konkurs oder einer Unternehmenssanierung, liquidation bei einer laufenden Liquidation (since nennt das Datum der Situation) und closed für eine Einheit, deren Enddatum verstrichen ist oder die aus den Daten verschwunden ist. Der Block local nennt die Form und ihre Bezeichnung, den Status im Handelsregister, die USt-Registrierung und ihr Datum, die Situation, den Gemeindecode sowie die parallelen und Hilfsnamen (other_names). Niederlassungen, amtliche Bekanntmachungen und wirtschaftlich Berechtigte sind nicht verfügbar.
Lettland
Die lettischen Einheiten stammen aus dem lettischen Unternehmensregister: rund 218.000 aktive Einheiten aller Formen (Gesellschaften mit beschränkter Haftung, Aktiengesellschaften, Einzelkaufleute, Vereine, Stiftungen, landwirtschaftliche Betriebe, Zweigniederlassungen…) und rund 237.000 gelöschte Einheiten, mit dem Datum der Löschung in closed_on. Die globale Kennung ist LV- gefolgt von den 11 Ziffern der Registernummer: LV-40003245752. Diese Nummer hat keine veröffentlichte Prüfziffer: Nur ihr Format wird geprüft, und eine korrekt aufgebaute, aber unbekannte Nummer liefert 404 not_found. Die Adresse ist die des Registers, die Stadt wird daraus abgeleitet. Das Register veröffentlicht weder einen Tätigkeitscode noch Niederlassungen: activity ist null.
curl "https://api.jsonpage.com/v2/companies/LV-40003245752?include=address,vat,signals" \
-H "X-API-Key: VOTRE_CLE"{
"data": {
"id": "LV-40003245752",
"country": "LV",
"registry_id": "40003245752",
"name": "Air Baltic Corporation AS",
"status": "active",
"legal_form": { "code": "AS", "label": "Société anonyme", "scheme": "LV-LEGAL-FORM" },
"activity": null,
"incorporated_on": "1995-02-08",
"closed_on": null,
"updated_at": null,
"address": { "line": "Mārupes nov., Mārupes pag., Lidosta \"Rīga\", Tehnikas iela 3", "postal_code": "LV-1053", "city": "Mārupes", "country": "LV", "formatted": "Mārupes nov., Mārupes pag., Lidosta \"Rīga\", Tehnikas iela 3, LV-1053" },
"vat": { "number": "LV40003245752", "status": "valid", "checked_at": "2026-10-10T20:59:02Z", "source": "EU VAT check" },
"signals": []
},
"meta": {
"sources": [{ "name": "Official company register: Latvia", "country": "LV", "kind": "register", "data_date": "2026-10-10" }],
"includes": { "address": "ok", "signals": "ok", "vat": "ok" }
}
}
Die lettische USt-IdNr. ist LV gefolgt von der Registernummer; sie wird auf dieselbe Weise geprüft wie in Frankreich und Belgien, mit denselben Status. Signale in Lettland: closed mit dem Löschungsdatum in since und liquidation, wenn der eingetragene Name den Liquidationszusatz trägt („Likvidējamā“). Der Block local nennt das Eintragungsregister (register) und bei einer gelöschten Einheit den Grund (termination: liquidiert oder umstrukturiert).
Irland
Die irischen Gesellschaften stammen aus dem irischen Gesellschaftsregister: rund 345.000 aktive Gesellschaften aller Formen (private Gesellschaften mit Aktien, Gesellschaften mit bestimmter Tätigkeit, Garantiegesellschaften, Aktiengesellschaften, in Irland eingetragene ausländische Gesellschaften…) und rund 480.000 aufgelöste oder gelöschte Gesellschaften, mit ihrem Auflösungsdatum in closed_on. Die globale Kennung ist IE- gefolgt von der Firmennummer mit 1 bis 7 Ziffern, ohne führende Nullen: IE-104547. Diese Nummer hat keine veröffentlichte Prüfziffer: Nur ihr Format wird geprüft, und eine korrekt aufgebaute, aber unbekannte Nummer liefert 404 not_found. Die Tätigkeit ist die NACE-Klasse (Rev. 2) des Registers, wenn sie angegeben ist. Das Register veröffentlicht keine Niederlassungen.
curl "https://api.jsonpage.com/v2/companies/IE-231235?include=address,signals" \
-H "X-API-Key: VOTRE_CLE"{
"data": {
"id": "IE-231235",
"country": "IE",
"registry_id": "231235",
"name": "BROWN BROTHERS HARRIMAN TRUSTEE SERVICES (IRELAND) LIMITED",
"status": "active",
"legal_form": { "code": "1153", "label": "Société privée par actions (LTD)", "scheme": "IE-COMPANY-TYPE" },
"activity": { "nace": "64.99", "code": "64.99", "label": "Autres activités des services financiers, hors assurance et caisses de retraite, n.c.a.", "scheme": "IE-NACE-REV2" },
"incorporated_on": "1995-03-29",
"closed_on": null,
"updated_at": null,
"address": { "line": "30 HERBERT STREET, DUBLIN 2", "postal_code": "D02 W329", "city": "DUBLIN 2", "country": "IE", "formatted": "30 HERBERT STREET, DUBLIN 2, D02 W329" },
"signals": []
},
"meta": {
"sources": [{ "name": "Official company register: Ireland", "country": "IE", "kind": "register", "data_date": "2026-10-11" }],
"includes": { "address": "ok", "signals": "ok" }
}
}
Die irische USt-IdNr. lässt sich nicht aus der Firmennummer ableiten: Der Block vat ist in Irland nicht verfügbar und wird als not_available_in_country gemeldet. Signale in Irland: closed mit dem Auflösungsdatum in since, liquidation für eine Gesellschaft in Liquidation, insolvency_proceedings für ein Examinership oder eine Verwaltung, strike_off_proposed, wenn die Löschung vorgeschlagen ist, und confirmation_statement_overdue, wenn die Jahresmeldung überfällig ist. Der Block local liefert den Gesellschaftstyp und den ursprünglichen Status mit ihrem Code, die Grafschaft, den Eircode und die Daten der letzten Jahresmeldung, der nächsten Fälligkeit und der letzten Abschlüsse.
Schweden
Die schwedischen Organisationen stammen aus den amtlichen schwedischen Unternehmensregistern: rund 1,18 Millionen aktive Organisationen aller Formen (Aktiengesellschaften, Handels- und Kommanditgesellschaften, Wohnungsgenossenschaften, Genossenschaften, Vereine, Stiftungen, öffentliche Stellen, ausländische Einheiten…) und rund 1,03 Millionen gelöschte Organisationen, mit ihrem Löschungsdatum in closed_on. Die globale Kennung ist SE- gefolgt von den 10 Ziffern der Organisationsnummer: SE-5560427220. Die letzte Ziffer ist eine Luhn-Prüfziffer, die geprüft wird; eine korrekt aufgebaute, aber unbekannte Nummer liefert 404 not_found. Einzelunternehmer und Nachlässe, die über eine Personennummer identifiziert werden, werden nicht bedient, und der c/o-Teil der Adresse wird nicht übernommen. Die Tätigkeit ist der erste SNI-2025-Code, ohne Bezeichnung; die weiteren Codes stehen in local.other_activities.
curl "https://api.jsonpage.com/v2/companies/SE-5560427220?include=address,vat,signals" \
-H "X-API-Key: VOTRE_CLE"{
"data": {
"id": "SE-5560427220",
"country": "SE",
"registry_id": "5560427220",
"name": "H & M Hennes & Mauritz AB",
"status": "active",
"legal_form": { "code": "AB", "label": "Société anonyme (aktiebolag)", "scheme": "SE-ORG-FORM" },
"activity": { "nace": null, "code": "70100", "label": null, "scheme": "SE-SNI2025" },
"incorporated_on": "1943-08-07",
"closed_on": null,
"updated_at": null,
"address": { "line": "Mäster Samuelsgatan 46 A", "postal_code": "106 38", "city": "STOCKHOLM", "country": "SE", "formatted": "Mäster Samuelsgatan 46 A, 106 38 STOCKHOLM" },
"vat": { "number": "SE556042722001", "status": "valid", "checked_at": "2026-10-11T08:12:40Z", "source": "EU VAT check" },
"signals": []
},
"meta": {
"sources": [{ "name": "Official company register: Sweden", "country": "SE", "kind": "register", "data_date": "2026-10-11" }],
"includes": { "address": "ok", "signals": "ok", "vat": "ok" }
}
}
Die schwedische USt-IdNr. ist SE, die Organisationsnummer und 01; sie wird auf dieselbe Weise geprüft wie in Frankreich und Belgien, mit denselben Status. Signale in Schweden: closed mit dem Löschungsdatum in since, liquidation für eine laufende Liquidation und insolvency_proceedings für einen Konkurs, eine Unternehmensumstrukturierung, Vergleichsverhandlungen oder eine Abwicklung (since nennt das Datum der Situation). Der Block local liefert die formatierte Organisationsnummer (556042-7220), das laufende Verfahren, den Löschungsgrund, business_active (registriert für USt, F-Steuer oder als Arbeitgeber), die weiteren Tätigkeitscodes, die weiteren Namen (besondere Firmennamen, Namen in anderen Sprachen) und marketing_restriction, wenn die Organisation Werbung abgelehnt hat.
Estland
Die estnischen Einheiten stammen aus dem estnischen Unternehmensregister: rund 355.000 eingetragene Rechtsträger aller Formen (Gesellschaften mit beschränkter Haftung, Aktiengesellschaften, Kommandit- und Personengesellschaften, Vereine, Wohnungseigentümergemeinschaften, Stiftungen, Genossenschaften, Zweigniederlassungen, Kommunen…), tätig, in Liquidation oder im Konkurs. Die globale Kennung ist EE- gefolgt von den 8 Ziffern des Registercodes: EE-10137025. Die letzte Ziffer ist eine Prüfziffer, die geprüft wird; ein korrekt aufgebauter, aber unbekannter Code liefert 404 not_found. Auch die USt-IdNr. (EE100210460) wird anstelle des Codes akzeptiert. Einzelunternehmer, deren Name der einer Person ist, werden nicht bedient. Eine Einheit, die das Register verlässt, bleibt als closed erhalten, ohne Enddatum. Die Tätigkeit ist die angegebene Haupttätigkeit (EMTAK-Code, Bezeichnung auf Estnisch).
curl "https://api.jsonpage.com/v2/companies/EE-10137025?include=address,vat,signals" \
-H "X-API-Key: VOTRE_CLE"{
"data": {
"id": "EE-10137025",
"country": "EE",
"registry_id": "10137025",
"name": "Tieto Estonia AS",
"status": "active",
"legal_form": { "code": "AS", "label": "Société anonyme (aktsiaselts)", "scheme": "EE-LEGAL-FORM" },
"activity": { "nace": null, "code": "62101", "label": "Programmeerimine", "scheme": "EE-EMTAK2025" },
"incorporated_on": "1996-12-27",
"closed_on": null,
"updated_at": null,
"address": { "line": "A. H. Tammsaare tee 47", "postal_code": "11316", "city": "Tallinn", "country": "EE", "formatted": "A. H. Tammsaare tee 47, Kristiine linnaosa, Tallinn, Harju maakond, 11316" },
"vat": { "number": "EE100210460", "status": "valid", "checked_at": "2026-10-11T08:12:40Z", "source": "EU VAT check" },
"signals": []
},
"meta": {
"sources": [{ "name": "Official company register: Estonia", "country": "EE", "kind": "register", "data_date": "2026-10-11" }],
"includes": { "address": "ok", "signals": "ok", "vat": "ok" }
}
}
Die estnische USt-IdNr. (EE gefolgt von 9 Ziffern) wird im Register gelesen: Sie lässt sich nicht aus dem Code ableiten. Sie wird auf dieselbe Weise geprüft wie in Frankreich und Belgien, mit denselben Status; der Block vat fehlt, wenn die Einheit keine USt-IdNr. hat. Signale in Estland: liquidation für eine Einheit in Liquidation, insolvency_proceedings für eine Einheit im Konkurs und closed für eine Einheit, die aus den Daten verschwunden ist. Der Block local liefert den ursprünglichen Status, die estnische Bezeichnung der Form und ihren Untertyp sowie die Gemeindehierarchie der Adresse.
Litauen
Die litauischen juristischen Personen stammen aus dem litauischen Register der juristischen Personen: rund 233.000 aktive juristische Personen aller Formen (Gesellschaften mit beschränkter Haftung, Aktiengesellschaften, kleine Gesellschaften, Einzelunternehmen, Vereine, öffentliche Einrichtungen, Stiftungen, Genossenschaften, Zweigniederlassungen, Kommunen…) und rund 315.000 gelöschte juristische Personen, mit ihrem Löschungsdatum in closed_on. Die globale Kennung ist LT- gefolgt von den 9 Ziffern des Codes der juristischen Person: LT-110053842. Die letzte Ziffer ist eine Prüfziffer, die geprüft wird; ein korrekt aufgebauter, aber unbekannter Code liefert 404 not_found. Das Register veröffentlicht weder Adresse noch Tätigkeitscode noch Niederlassungen: address wird als not_available_in_country gemeldet und activity ist null. Der Name eines Einzelunternehmens wird vom Register selbst anonymisiert.
curl "https://api.jsonpage.com/v2/companies/LT-110053842?include=vat,signals,local" \
-H "X-API-Key: VOTRE_CLE"{
"data": {
"id": "LT-110053842",
"country": "LT",
"registry_id": "110053842",
"name": "Akcinė bendrovė \"Lietuvos geležinkeliai\"",
"status": "active",
"legal_form": { "code": "320", "label": "Société anonyme (AB)", "scheme": "LT-LEGAL-FORM" },
"activity": null,
"incorporated_on": "1991-12-24",
"closed_on": null,
"updated_at": null,
"vat": { "number": "LT110053842", "status": "valid", "checked_at": "2026-10-11T08:12:40Z", "source": "EU VAT check" },
"signals": [],
"local": { "legal_entity_code": "110053842", "legal_form_label_lt": "Akcinė bendrovė", "legal_status": { "code": "0", "label": "No legal proceedings", "scheme": "LT-LEGAL-STATUS" }, "legal_status_label_lt": "Teisinis statusas neįregistruotas", "legal_status_since": "2021-12-16" }
},
"meta": {
"sources": [{ "name": "Official company register: Lithuania", "country": "LT", "kind": "register", "data_date": "2026-10-12" }],
"includes": { "vat": "ok", "signals": "ok", "local": "ok" }
}
}
Die litauische USt-IdNr. ist LT gefolgt vom Code der juristischen Person; sie wird auf dieselbe Weise geprüft wie in Frankreich und Belgien, mit denselben Status. Signale in Litauen: closed mit dem Löschungsdatum in since, liquidation für eine laufende Liquidation und insolvency_proceedings für einen Konkurs oder eine Restrukturierung (since nennt das Datum des Status). Der Block local liefert den Code der juristischen Person, die litauische Bezeichnung der Form und den ursprünglichen Rechtsstatus mit Code und Datum.
Australien
Die australischen Einheiten stammen aus dem australischen Register der Unternehmensnummern: rund 6,1 Millionen aktive ABN (Gesellschaften, Trusts, Personengesellschaften, Pensionsfonds, Einzelunternehmer…) und rund 6,7 Millionen gelöschte ABN, mit dem Löschdatum in closed_on. Der Name einer Person wird nie gespeichert: Ein Einzelunternehmer wird unter seinem Handelsnamen geliefert, ein Einzelunternehmer ohne Handelsnamen wird nicht geliefert. Die globale Kennung ist AU- gefolgt von den 11 Ziffern der ABN: AU-51824753556. Die Prüfziffern (Modulo 89) werden geprüft, und eine korrekt aufgebaute, aber unbekannte Nummer liefert 404 not_found. Das Register veröffentlicht weder Straße noch Tätigkeitscode: Die Adresse beschränkt sich auf Bundesstaat und Postleitzahl (formatted ist „VIC 3000“), und activity ist null. Die ACN der Gesellschaften steht im Block local.
curl "https://api.jsonpage.com/v2/companies/AU-33051775556?include=address,local,signals" \
-H "X-API-Key: VOTRE_CLE"{
"data": {
"id": "AU-33051775556",
"country": "AU",
"registry_id": "33051775556",
"name": "TELSTRA CORPORATION LIMITED",
"status": "active",
"legal_form": { "code": "PUB", "label": "Société cotée australienne", "scheme": "AU-ENTITY-TYPE" },
"activity": null,
"incorporated_on": "1999-11-01",
"closed_on": null,
"updated_at": "2024-02-15",
"address": { "line": null, "postal_code": "3000", "city": null, "country": "AU", "formatted": "VIC 3000" },
"signals": [],
"local": {
"abn": "33 051 775 556",
"acn": "051 775 556",
"state": "VIC",
"entity_type_label": "Australian Public Company",
"gst": { "registered": true, "status": "ACT", "since": "2000-07-01" },
"other_names": [{ "type": "trading", "value": "TELSTRA" }]
}
},
"meta": {
"sources": [{ "name": "Official business register: Australia", "country": "AU", "kind": "register", "data_date": "2026-10-07" }],
"includes": { "address": "ok", "local": "ok", "signals": "ok" }
}
}
Die USt-IdNr. wird für Australien nicht geprüft: Der Block vat ist dort nicht verfügbar. Die Registrierung für die Waren- und Dienstleistungssteuer (GST), das australische Gegenstück zur Mehrwertsteuer, wird wie veröffentlicht im Block local geliefert (gst.registered, gst.status und gst.since), ohne Prüfung. Signale in Australien: closed mit dem Löschdatum in since und recently_created. Der Block local enthält außerdem die ACN, den Bundesstaat und die Handelsnamen (other_names).
Singapur
Die singapurischen Einheiten stammen aus dem singapurischen Register der Gesellschaften und Unternehmen: rund 635.000 aktive Einheiten (lokale Gesellschaften, Einzelunternehmen, Personengesellschaften, Zweigniederlassungen ausländischer Gesellschaften) und rund 1,5 Millionen gelöschte, aufgelöste oder eingestellte Einheiten, die abrufbar bleiben. Die globale Kennung ist SG- gefolgt von der UEN: SG-196800306E für eine lokale Gesellschaft (9 Ziffern und ein Buchstabe), SG-T05LL0003J für eine andere Einheit (zum Beispiel eine Partnerschaft mit beschränkter Haftung); eine Unternehmensnummer hat 8 Ziffern und einen Buchstaben. Der Prüfbuchstabe wird geprüft, und eine korrekt aufgebaute, aber unbekannte Nummer liefert 404 not_found. Die Tätigkeit ist der primäre SSIC-Code (SG-SSIC), ohne NACE-Entsprechung. Das Register nennt kein Enddatum: closed_on bleibt bei einer geschlossenen Einheit null. Einzelunternehmen (Form SOLE) werden unter ihrem Handelsnamen geliefert.
curl "https://api.jsonpage.com/v2/companies/SG-196800306E?include=address,local,signals" \
-H "X-API-Key: VOTRE_CLE"{
"data": {
"id": "SG-196800306E",
"country": "SG",
"registry_id": "196800306E",
"name": "DBS BANK LTD.",
"status": "active",
"legal_form": { "code": "PCS", "label": "Société publique par actions", "scheme": "SG-LEGAL-FORM" },
"activity": { "nace": null, "code": "64120", "label": null, "scheme": "SG-SSIC" },
"incorporated_on": "1968-07-16",
"closed_on": null,
"updated_at": null,
"address": { "line": "12 MARINA BOULEVARD, MARINA BAY FINANCIAL CENTRE", "postal_code": "018982", "city": "Singapore", "country": "SG", "formatted": "12 MARINA BOULEVARD, MARINA BAY FINANCIAL CENTRE, Singapore 018982" },
"signals": [],
"local": {
"uen": "196800306E",
"entity_type": { "code": "LC", "label": "Société locale", "scheme": "SG-ENTITY-TYPE" },
"register_status": "Live Company",
"uen_issued_on": "1968-07-16",
"accounts_due_on": "2027-07-31",
"annual_return_on": "2026-06-03",
"secondary_activity": null,
"former_names": ["THE DEVELOPMENT BANK OF SINGAPORE"],
"sole_proprietor": false
}
},
"meta": {
"sources": [{ "name": "Official business register: Singapore", "country": "SG", "kind": "register", "data_date": "2026-10-11" }],
"includes": { "address": "ok", "local": "ok", "signals": "ok" }
}
}
Die USt-IdNr. wird für Singapur nicht geprüft: Der Block vat ist dort nicht verfügbar, und das Register enthält nicht die Registrierung für die Waren- und Dienstleistungssteuer (GST). Signale in Singapur: closed (ohne Datum), recently_created, strike_off_proposed für eine Einheit „Gazetted To Be Struck Off“, liquidation für eine freiwillige Abwicklung und insolvency_proceedings für eine zwangsweise Abwicklung oder gerichtliche Verwaltung, mit dem Registerstatus in detail. Der Block local enthält den Einheitstyp, den Registerstatus wie veröffentlicht, die Fälligkeiten von Abschluss und Jahresmeldung, die Nebentätigkeit und die früheren Namen (former_names).
Japan
Die japanischen Rechtspersonen stammen aus dem japanischen Register der Unternehmensnummern: rund 5,1 Millionen aktive Gesellschaften und Organisationen (Aktiengesellschaften, Gesellschaften mit beschränkter Haftung, Gebietskörperschaften, Vereine, ausländische Gesellschaften mit einer Niederlassung in Japan…) und rund 780.000 geschlossene, mit ihrem Schließungsdatum in closed_on. Einzelunternehmer haben keine Nummer und werden nicht geliefert. Die globale Kennung ist JP- gefolgt von den 13 Ziffern der Unternehmensnummer: JP-1180301018771. Die erste Ziffer ist eine Prüfziffer, die geprüft wird; eine korrekt aufgebaute, aber unbekannte Nummer liefert 404 not_found. Name und Adresse sind auf Japanisch: die Lesung des Namens in Katakana sowie englischer Name und Adresse (wenn die Rechtsperson sie angegeben hat) stehen im Block local. Das Register veröffentlicht weder Tätigkeitscode noch Gründungsdatum: activity und incorporated_on sind null, und das Datum der Vergabe der Nummer steht in local.number_assigned_on. Die Namenssuche findet einen Text von mindestens 2 Zeichen an beliebiger Stelle im japanischen Namen, in der Katakana-Lesung oder im englischen Namen.
curl "https://api.jsonpage.com/v2/companies/JP-1180301018771?include=address,local,signals" \
-H "X-API-Key: VOTRE_CLE"{
"data": {
"id": "JP-1180301018771",
"country": "JP",
"registry_id": "1180301018771",
"name": "トヨタ自動車株式会社",
"status": "active",
"legal_form": { "code": "301", "label": "Société par actions (kabushiki kaisha)", "scheme": "JP-LEGAL-FORM" },
"activity": null,
"incorporated_on": null,
"closed_on": null,
"updated_at": "2019-04-23",
"address": { "line": "トヨタ町1番地", "postal_code": "471-0826", "city": "豊田市", "country": "JP", "formatted": "〒471-0826 愛知県豊田市トヨタ町1番地" },
"signals": [],
"local": {
"corporate_number": "1180301018771",
"name_kana": "トヨタジドウシャ",
"name_en": null,
"address_en": null,
"prefecture": "愛知県",
"prefecture_code": "23",
"municipality_code": "23211",
"number_assigned_on": "2015-10-05",
"last_change_on": "2019-04-10",
"closure": null,
"legal_form_label_ja": "株式会社"
}
},
"meta": {
"sources": [{ "name": "Official corporate register: Japan", "country": "JP", "kind": "register", "data_date": "2026-10-11" }],
"includes": { "address": "ok", "local": "ok", "signals": "ok" }
}
}
Die USt-IdNr. wird für Japan nicht geprüft: Der Block vat ist dort nicht verfügbar. Signale in Japan: closed mit dem Schließungsdatum in since. Der Block local enthält außerdem den Schließungsgrund (closure: Liquidation abgeschlossen, durch Fusion aufgelöst, vom Registergericht geschlossen) und die Nummer der Rechtsperson, die nach einer Fusion übernommen hat (successor_number).
USt.
In Frankreich wird die Umsatzsteuer-Identifikationsnummer aus der SIREN berechnet; Jsonpage prüft anschließend ihre Gültigkeit. Keine Anfrage wartet auf diese Prüfung: Sie erfolgt im Hintergrund, und ihr Datum steht in checked_at.
In Belgien ist die USt-IdNr. BE gefolgt von der Unternehmensnummer, zum Beispiel BE0417497106; sie wird auf dieselbe Weise geprüft, mit denselben Status.
In der Schweiz ist die MWST-Nummer die UID gefolgt von MWST, zum Beispiel CHE-101.374.515 MWST; auch sie wird geprüft. Die Status sind dieselben, dazu kommt unavailable, wenn die Prüfung nicht abgeschlossen werden konnte; sie wird dann später wiederholt. Bei einem Mitglied einer MWST-Gruppe ist die zurückgegebene Nummer die der Gruppe, mit der das Unternehmen fakturiert: Nestlé (CH-105909036) liefert CHE-116.281.710 MWST.
In Finnland, Lettland und Schweden ist die USt-IdNr. FI, LV oder SE gefolgt von der Registernummer (FI01120389, LV40003245752) oder von der Organisationsnummer und 01 (SE556042722001); sie wird auf dieselbe Weise geprüft, mit denselben Status. In Norwegen wird die Nummer NO923609016MVA im amtlichen Mehrwertsteuerregister gelesen: Der Status ist valid oder invalid, nie pending.
Für Australien, Singapur und Japan wird keine USt-IdNr. geprüft: Der Block vat ist dort nicht verfügbar, und der Parameter vat von GET /v2/validate akzeptiert deren Nummern nicht.
| Status | Bedeutung |
|---|---|
pending | Nummer berechnet, Prüfung geplant: Fragen Sie den Datensatz einige Sekunden später erneut ab. |
valid | Die Nummer ist bestätigt. |
invalid | Die Nummer wird nicht erkannt. |
not_verified | Nummer berechnet, aber von diesem Server nicht geprüft. |
unavailable | Nur Schweiz: Die Prüfung konnte nicht abgeschlossen werden; sie wird später wiederholt. |
EORI
Die EORI-Nummer ist die Zollkennung eines Unternehmens, das importiert oder exportiert. Ein französisches Unternehmen hat in der Regel FR gefolgt von der SIRET seines Hauptsitzes als EORI. Zwei Möglichkeiten: GET /v2/eori/{number} prüft jede Nummer (Europäische Union, Vereinigtes Königreich; die Schweiz und Norwegen antworten not_applicable), und der Block eori eines französischen Eintrags (?include=eori) testet die EORI des Hauptsitzes.
Die Nummer im Block eori wird aus der SIRET abgeleitet und nicht aus einem Register gelesen: Sie wird immer als wahrscheinlich dargestellt (probable: true, basis: "head_office_siret"). status: "valid" besagt, dass diese Nummer beim Zoll existiert, nicht dass das Unternehmen sie verwendet. Ein offizieller Dienst, der nicht antwortet, liefert unverifiable mit valid: null, nie invalid: Versuchen Sie es später erneut.
name_match vergleicht den Namen, den der Zoll für die EORI-Nummer führt, mit dem Namen des Unternehmens: true, wenn beide dasselbe Unternehmen bezeichnen (Groß- und Kleinschreibung, Akzente, Satzzeichen und Rechtsformen werden ignoriert), sonst false, etwa bei einer EORI auf eine Tochtergesellschaft. Bei einer französischen EORI stammt der Firmenname aus dem Register; bei anderen Nummern übergeben Sie ihn im Parameter company_name. Das Feld fehlt, wenn einer der beiden Namen unbekannt ist.
Antworten werden 24 Stunden pro Nummer wiederverwendet, und die Aufrufe an die offiziellen Dienste werden gestaffelt: Eine Datei mit mehreren tausend Partnern verarbeiten Sie besser mit der Dateianreicherung im Kundenbereich (Spalten eori_number und eori_valid), die in der Kennungsspalte auch EORI-Nummern akzeptiert. GET /v2/validate akzeptiert den Parameter eori.
Signale
Die Signale werden aus dem Registerdatensatz berechnet, mit denselben Codes in allen Ländern. Jedes Signal enthält code, since (Beginn der Situation, sofern das Register ihn angibt) und detail. Ein geschlossenes Unternehmen erhält nur closed.
| Signal | Bedeutung | Länder |
|---|---|---|
closed | Unternehmen geschlossen oder aufgelöst. | Frankreich, Belgien, Schweiz, Norwegen, Finnland, Lettland, Irland, Schweden, Estland, Litauen, Australien, Singapur, Japan, Vereinigtes Königreich |
recently_created | Vor weniger als 12 Monaten gegründet. | France, Belgique, Norvège, Finlande, Lettonie, Irlande, Suède, Estonie, Lituanie, Australie, Singapour, Royaume-Uni |
insolvency_proceedings | Laufendes Insolvenzverfahren; das Detail nennt das letzte Urteil in Frankreich, die rechtliche Situation in Belgien, die Art des Verfahrens in Norwegen und Finnland, den Registerstatus in Irland, das laufende Verfahren in Schweden, den Registerstatus in Estland, den Rechtsstatus in Litauen. | France, Belgique, Norvège, Finlande, Irlande, Suède, Estonie, Lituanie, Singapour, Royaume-Uni |
strike_off_proposed | Löschung von Amts wegen vorgeschlagen. | Irlande, Singapour, Royaume-Uni |
liquidation | Laufende Auflösung oder Liquidation außerhalb eines Konkurses; das Detail nennt die rechtliche Situation in Belgien, den Zusatz im Namen in der Schweiz und Lettland, die Situation in Norwegen und Finnland, den Registerstatus in Irland, das laufende Verfahren in Schweden, den Registerstatus in Estland, den Rechtsstatus in Litauen. | Belgique, Suisse, Norvège, Finlande, Lettonie, Irlande, Suède, Estonie, Lituanie, Singapour |
accounts_overdue | Jahresabschluss überfällig. | Vereinigtes Königreich |
confirmation_statement_overdue | Jahresmeldung (Confirmation Statement) überfällig. | Irland, Vereinigtes Königreich |
dormant | Ruhende Gesellschaft. | Vereinigtes Königreich |
Bekanntmachungen
Der Block legal_events enthält die amtlichen rechtlichen Bekanntmachungen seit 2008: Insolvenzverfahren, Schlichtungsverfahren, berufliche Entschuldungsverfahren (rétablissement professionnel), Löschungen, Verkäufe, Eintragungen und sonstige Bekanntmachungen. Namen natürlicher Personen und der Freitext der Urteile werden nie gespeichert; der Link url führt zur vollständigen amtlichen Bekanntmachung.
{
"id": "A202601892890",
"published_on": "2026-10-02",
"family": "insolvency",
"type": "initial",
"judgment": {
"family": "Jugement d'ouverture",
"nature": "Jugement d'ouverture de liquidation judiciaire",
"date": "2026-09-21"
},
"court": "Greffe du Tribunal de Commerce de Foix",
"source": "Legal notices: France",
"url": "..."
}| Feld | Inhalt |
|---|---|
id | Kennung der Bekanntmachung. |
published_on | Veröffentlichungsdatum. |
family | insolvency, conciliation, professional_recovery, deregistration, sale, registration oder other. |
type | initial, correction (Berichtigung) oder cancellation (Aufhebung). |
judgment | Familie, Art und Datum des Urteils; null bei einer Bekanntmachung ohne Urteil. |
court | Gericht oder Registergericht, von dem die Bekanntmachung stammt. |
source, url | Herkunft der Bekanntmachung und Link zu ihrer amtlichen Fassung. |
Das Signal insolvency_proceedings wertet diese Urteile vom neuesten zum ältesten aus: Ein Abschluss beendet das Verfahren; eine Eröffnung, eine Umwandlung in eine Liquidation oder ein Plan hält es offen. Eine aufgehobene Bekanntmachung wird ignoriert.
Wirtschaftlich Berechtigte
Der Block owners, verfügbar für das Vereinigte Königreich, listet die im britischen Register eingetragenen wirtschaftlich Berechtigten der Gesellschaft auf (Personen mit maßgeblicher Kontrolle, persons with significant control); ihr Datum erscheint in meta.sources. Es werden nur aktuelle Personen zurückgegeben, nie solche, deren Kontrolle beendet ist. Adressen werden nie zurückgegeben, ebenso wenig der Geburtstag: nur Monat und Jahr, wie im Register. Der Block ist [], wenn keine Person gemeldet ist.
In Frankreich wird owners als not_available_in_country in meta.includes gemeldet: Das Register der wirtschaftlich Berechtigten ist seit dem 31. Juli 2024 nicht mehr öffentlich. Der Zugang ist Behörden, verpflichteten Berufsträgern und Personen mit nachgewiesenem berechtigtem Interesse vorbehalten.
curl "https://api.jsonpage.com/v2/companies/GB-00445790?include=owners,sanctions" \
-H "X-API-Key: VOTRE_CLE"{
"data": {
"id": "GB-00445790",
"...": "...",
"owners": [
{
"kind": "individual",
"name": "Mr John Smith",
"nationality": "British",
"country_of_residence": "England",
"birth": { "year": 1970, "month": 5 },
"control": {
"shares": { "min": 50, "max": 75 },
"voting_rights": { "min": 25, "max": 100 },
"appoints_directors": true,
"significant_influence": false,
"via": ["trust"]
},
"natures_of_control": ["ownership-of-shares-50-to-75-percent-as-trust", "voting-rights-more-than-25-percent", "right-to-appoint-and-remove-directors"],
"notified_on": "2016-04-06",
"sanctioned": false
}
],
"sanctions": { "...": "..." }
},
"meta": {
"sources": [
{ "name": "Official company register: United Kingdom", "country": "GB", "kind": "register", "data_date": "2026-10-01" },
{ "name": "Beneficial ownership register: United Kingdom", "country": "GB", "kind": "ownership", "data_date": "2026-09-30" }
],
"includes": { "owners": "ok", "sanctions": "ok" }
}
}Gekürzte, beispielhafte Antwort: Die Person ist fiktiv.
| Feld | Inhalt |
|---|---|
kind | individual (natürliche Person), corporate_entity (in einem Register eingetragene Gesellschaft), legal_person (andere juristische Person) oder super_secure (vom britischen Register geschützte Person). |
name | Name wie veröffentlicht; null bei super_secure. |
nationality, country_of_residence, birth | Nur bei natürlichen Personen, sonst nicht vorhanden. birth enthält year und month, nie den Tag. |
control.shares, control.voting_rights | Gehaltene Spanne in Prozent, { "min", "max" } (zum Beispiel 25 bis 50, 50 bis 75, 75 bis 100), oder null. |
control.appoints_directors | Recht, die Mehrheit der Direktoren zu ernennen oder abzuberufen. |
control.significant_influence | Maßgeblicher Einfluss oder maßgebliche Kontrolle auf andere Weise. |
control.via | firm und/oder trust, wenn die Kontrolle über eine Personengesellschaft oder einen Trust ausgeübt wird; sonst []. |
natures_of_control | Rohcodes des britischen Registers, wie eingetragen. |
notified_on | Beginndatum der Kontrolle, wie dem britischen Register gemeldet. |
identification | Nur bei juristischen Personen, sonst nicht vorhanden: registration_number, country_registered, legal_form. |
sanctioned | true, wenn das britische Register die Person als sanktioniert kennzeichnet. |
Sanktionen
Der Block sanctions, verfügbar für Frankreich, Belgien, die Schweiz, Norwegen, Finnland, Lettland, Irland, Schweden, Estland, Litauen, Australien, Singapur, Japan und das Vereinigte Königreich, gleicht das Unternehmen mit den wichtigsten offiziellen internationalen und nationalen Sanktionslisten ab: Europäische Union (EU), Vereinte Nationen (UN), Frankreich (FR), Vereinigtes Königreich (UK) und Vereinigte Staaten (US). Es werden nur gelistete Einrichtungen (juristische Personen) abgeglichen, nie natürliche Personen.
curl "https://api.jsonpage.com/v2/companies/FR-552032534?include=sanctions" \
-H "X-API-Key: VOTRE_CLE"{
"data": {
"id": "FR-552032534",
"...": "...",
"sanctions": {
"status": "no_match",
"matches": [],
"lists": [
{ "list": "EU", "name": "Sanctions list: European Union", "published_at": "2026-09-22", "entities": 1776 },
{ "list": "UN", "name": "Sanctions list: United Nations", "published_at": "2026-10-01", "entities": 275 },
{ "list": "FR", "name": "Sanctions list: France", "published_at": "2026-10-02", "entities": 1924 },
{ "list": "United Kingdom", "name": "Sanctions list: United Kingdom", "published_at": "2026-10-02", "entities": 1645 },
{ "list": "US", "name": "Sanctions list: United States", "published_at": "2026-10-02", "entities": 10037 }
]
}
},
"meta": { "sources": [{ "...": "..." }], "includes": { "sanctions": "ok" } }
}Gekürzte, beispielhafte Antwort: Die Anzahl der Einrichtungen ändert sich mit den Listen.
| Status | Bedeutung |
|---|---|
match | Die Nummer des Unternehmens (SIREN, belgische Unternehmensnummer, Schweizer UID, norwegische, finnische oder lettische Nummer oder Company number) ist als Registernummer desselben Landes gelistet. Nur die EU-Liste gibt das Land dieser Nummern an. |
possible_match | Der Name des Unternehmens stimmt mit einem gelisteten Namen oder Alias überein, wenn Groß- und Kleinschreibung, Akzente, Satzzeichen und Rechtsformen ignoriert werden. Zu prüfen: Es kann sich um einen Namensvetter handeln. |
no_match | Keine Übereinstimmung über Nummer oder Namen. |
Jedes Element von matches enthält list (EU, UN, FR, UK oder US), reference (Referenz der Einrichtung in ihrer Liste), name (gelisteter Hauptname), match_type (identifier oder name) und listed_on (Datum der Listung, sofern die Liste es angibt). lists gibt für jede Liste ihren Namen, ihr Veröffentlichungsdatum und die Anzahl der abgeglichenen Einrichtungen an.
Unverbindliches Ergebnis. Ein no_match ist keine Garantie: Eine sanktionierte Einrichtung kann unter einem anderen Namen oder ohne Nummer gelistet sein oder von einer gelisteten Person kontrolliert werden. Diese Prüfung ersetzt nicht Ihre eigenen Sorgfaltspflichten (KYC, Geldwäschebekämpfung), wie in den AGB festgelegt.
Niederlassungen
Der Endpunkt /v2/companies/{id}/establishments liefert die Niederlassungen seitenweise. Der Parameter limit reicht von 1 bis 100 (Standard: 20). Jede Seite enthält items und next. Übergeben Sie den Wert von next an den Parameter after für die nächste Seite. Auf der letzten Seite hat next den Wert null.
curl "https://api.jsonpage.com/v2/companies/FR-552032534/establishments?limit=50&after=55203253400414" \
-H "X-API-Key: VOTRE_CLE"Jede Niederlassung enthält registry_id (die SIRET in Frankreich, die Nummer der Niederlassungseinheit in Belgien, die Nummer der Unterheit in Norwegen), name, head_office, status, activity, opened_on und address.
Suche nach Namen
GET /v2/companies?q={name} sucht Unternehmen nach ihrem Namen. Jedes Wort mit 2 oder mehr Zeichen muss im Namen vorkommen; das letzte Wort darf der Anfang eines Wortes mit 3 oder mehr Buchstaben sein („dano“ findet DANONE). Groß- und Kleinschreibung, Akzente und Satzzeichen werden ignoriert.
curl "https://api.jsonpage.com/v2/companies?q=danone" \
-H "X-API-Key: VOTRE_CLE"
curl "https://api.jsonpage.com/v2/companies?q=tesco&country=GB&status=active&limit=5" \
-H "X-API-Key: VOTRE_CLE"
curl "https://api.jsonpage.com/v2/companies?q=proximus&country=BE" \
-H "X-API-Key: VOTRE_CLE"
curl "https://api.jsonpage.com/v2/companies?q=swatch&country=CH" \
-H "X-API-Key: VOTRE_CLE"{
"data": [
{ "id": "FR-552032534", "country": "FR", "registry_id": "552032534", "name": "DANONE", "status": "active", "...": "..." },
{ "id": "FR-...", "...": "..." }
],
"meta": { "sources": [{ "name": "Official company register: France", "country": "FR", "kind": "register", "data_date": "2026-10-01" }] }
}Gekürzte, beispielhafte Antwort.
Parameter (q, country, status, limit): Name, Typ, Standardwert und Grenzen in den Details des Endpunkts, bei den verfügbaren Endpunkten.
Reihenfolge der Ergebnisse: zuerst exakte Namen (Rechtsformen wie SA, SAS, SARL, LTD oder PLC werden beim Vergleich ignoriert, „danone“ findet also zuerst DANONE), dann aktive Unternehmen, dann Gesellschaften vor Einzelunternehmern, schließlich die Relevanz. Bei einem sehr häufigen Wort bricht die Sortierung nach Relevanz nach 400 ms ab und die Ergebnisse werden ohne sie ausgeliefert, damit sie schnell bleiben.
Jedes Ergebnis ist ein Basisdatensatz, identisch mit dem von GET /v2/companies/{id}; include und fields gelten nicht. Die gesamte Suche zählt als eine einzige Anfrage, unabhängig von der Anzahl der Ergebnisse. Geschützte Einheiten (Verbreitungsstatus „P“) haben keinen Namen und können nicht über ihren Namen gefunden werden.
Suchspezifische Fehler: 400 query_too_short (kein Wort mit 2 oder mehr Zeichen), 400 invalid_parameter (ungültiger Wert für status oder limit), 404 country_not_supported (Land ohne Namenssuche), 503 search_unavailable (Suche auf dem Server noch nicht verfügbar).
Suche nach Nummer
Wenn Sie nur die nationale Nummer kennen, listet GET /v2/companies?registry_id=552032534 die Unternehmen aller bedienten Länder auf, die diese Nummer tragen, meist nur eines. Die Antwort ist eine leere Liste, wenn keines passt.
Sammelanfragen
Der Endpunkt POST /v2/companies/batch akzeptiert bis zu 100 Kennungen und die gewünschten Blöcke. Jedes Unternehmen im Paket zählt als eine Anfrage im Rahmen des Tarif-Limits. Die Antwort behält die angefragte Reihenfolge bei; jedes Element enthält data oder error für ein nicht gefundenes Unternehmen oder eine ungültige Kennung.
curl -X POST "https://api.jsonpage.com/v2/companies/batch" \
-H "X-API-Key: VOTRE_CLE" \
-H "Content-Type: application/json" \
-d '{ "ids": ["FR-552032534", "FR-000000001"], "include": ["vat"] }'{
"data": [
{ "id": "FR-552032534", "data": { "id": "FR-552032534", "...": "..." } },
{ "id": "FR-000000001", "data": null, "error": { "code": "not_found", "message": "No company with this identifier." } }
],
"meta": { "sources": [{ "name": "Official company register: France", "country": "FR", "kind": "register", "data_date": "2026-10-01" }] }
}
Cache und ETag
Die Antworten der GET v2-Endpunkte enthalten einen Header ETag. Senden Sie seinen Wert im Header If-None-Match der nächsten Anfrage zurück. Wenn sich der Datensatz nicht geändert hat, antwortet die API mit 304 ohne Body.
curl -i "https://api.jsonpage.com/v2/companies/FR-552032534" \
-H "X-API-Key: VOTRE_CLE" \
-H 'If-None-Match: "3f9a0c1d2b4e5f6a7b8c9d0e"'Antworten verarbeiten
Alle v2-Fehler haben dasselbe Format, mit einem stabilen Code, einer Meldung auf Englisch und einem Link zu dieser Dokumentation.
{
"error": {
"code": "invalid_identifier",
"message": "A French registry number is a 9-digit SIREN.",
"docs": "https://jsonpage.com/docs#erreurs"
}
}| HTTP-Status | Fehlercode | Bedeutung |
|---|---|---|
400 | invalid_identifier | Globale Kennung fehlerhaft oder Nummer im falschen Format für dieses Land. |
400 | unknown_include | Unbekannter Block in include. |
400 | invalid_parameter, invalid_json | Parameter außerhalb des zulässigen Bereichs oder ungültiger Body der Sammelanfrage. |
400 | query_too_short | Namenssuche ohne ein Wort mit mindestens 2 Zeichen. |
401 | invalid_api_key | Schlüssel fehlt oder ist ungültig. |
403 | ip_not_allowed | Anfrage von einer IP-Adresse, die nicht in der Liste zulässiger Adressen des Kontos steht (Pro). |
403 | product_not_enabled | Produkt für das Konto nicht aktiviert; aktivieren Sie es im Dashboard. |
403 | monitor_limit_reached | Die Höchstzahl überwachter Unternehmen für Ihren Tarif ist erreicht. |
404 | not_found | Kein Unternehmen mit dieser Kennung. |
404 | country_not_supported | Land noch nicht bedient oder ohne Namenssuche. |
404 | not_available_in_country | Im Register dieses Landes gibt es keine Niederlassungen. |
404 | not_monitored | Unternehmen nicht in Ihrer Überwachungsliste. |
429 | rate_limit_exceeded | Anfragerate des Tarifs überschritten; der Header Retry-After gibt die Wartezeit an. |
429 | daily_limit_reached | Tageslimit des Entdecken-Tarif (kostenlos)s (kostenlos) erreicht (1.000 Anfragen, zurückgesetzt um Mitternacht UTC). Wechseln Sie zum Tarif Standard, um das Limit aufzuheben. |
500 | data_unavailable | Daten vorübergehend nicht lesbar; erneut versuchen. |
503 | server_busy | Dienst vorübergehend ausgelastet; mit Wartezeit (Backoff) erneut versuchen. |
503 | search_unavailable | Namenssuche auf diesem Server noch nicht verfügbar. |
503 | monitoring_unavailable | Überwachung auf diesem Server noch nicht verfügbar. |
Anfrageraten: Entdecken 100/min, Standard 1.000/min, Pro ohne tarifbedingte Obergrenze. Es gibt kein monatliches Kontingent. Zum Schutz der Verfügbarkeit hat Pro eine Fair-Use-Obergrenze von 10.000 Anfragen/Min. pro Konto.
Die Limits für Anfragen und Überwachung gelten pro Produkt. Schlüssel, Aufbewahrung des Protokolls, die Liste zulässiger IP-Adressen, das SLA und der Support folgen dem besten Tarif des Kontos.
Das Kontingent füllt sich innerhalb einer Minute fortlaufend wieder auf. Der Header X-RateLimit-Remaining jeder Antwort gibt an, wie viele Anfragen noch verfügbar sind. Bei 429 und 503 nennt der Header Retry-After die Wartezeit in Sekunden. Eine Sammelanfrage zählt so viele Anfragen wie angefragte Unternehmen. Der Entdecken-Tarif (kostenlos) hat zusätzlich ein Limit von 1.000 Anfragen pro Tag, das um Mitternacht UTC zurückgesetzt wird: darüber antwortet die API mit 429 daily_limit_reached (Felder message, message_en und upgrade_url) und Retry-After bis Mitternacht UTC. Die Header X-Daily-Limit und X-Daily-Remaining nennen das Limit und den Rest. Bezahlte Tarife haben kein Tageslimit.
Limit-Header und Wiederholungen
Zwei Header beschreiben den Stand Ihres Kontingents: X-RateLimit-Remaining, bei jeder erfolgreichen Antwort vorhanden, nennt die Zahl der noch verfügbaren Anfragen in der gleitenden Minute Ihres Tarifs; Retry-After, gesendet mit 429 rate_limit_exceeded und 503 server_busy, nennt die Wartezeit in Sekunden. Es gibt keine Header X-RateLimit-Limit oder X-RateLimit-Reset: Das Limit Ihres Tarifs steht im Dashboard und auf der Preisseite.
Empfohlene Wiederholungsstrategie: Wiederholen Sie nur bei 429, 503 und Netzwerkfehlern, nie bei einem anderen 4xx-Fehler (die Anfrage muss korrigiert werden, ein erneutes Senden ändert nichts). Warten Sie den Wert von Retry-After ab, falls vorhanden, sonst eine exponentielle Wartezeit (1 s, 2 s, 4 s, 8 s…) mit Jitter, damit nicht alle Ihre Clients gleichzeitig neu starten, und geben Sie nach 5 Versuchen auf.
Node.js
async function getWithRetry(url, attempts = 5) {
for (let attempt = 0; attempt < attempts; attempt++) {
let response;
try {
response = await fetch(url, { headers: { "X-API-Key": process.env.JSONPAGE_API_KEY } });
} catch {
response = null; // network error: retry
}
if (response && response.status !== 429 && response.status !== 503) return response; // success or 4xx: no retry
const wait = Number(response?.headers.get("Retry-After")) * 1000 || 2 ** attempt * 1000;
await new Promise((resolve) => setTimeout(resolve, wait + Math.random() * 500)); // jitter
}
throw new Error("Jsonpage API: still unavailable after retries");
}
Über Änderungen benachrichtigt werden
Fügen Sie Unternehmen zu Ihrer Überwachungsliste hinzu: Jedes überwachte Unternehmen wird mit den Registern abgeglichen: offizielle Register, rechtliche Bekanntmachungen, wirtschaftlich Berechtigte und Sanktionslisten. Jede Abweichung wird zu einem Ereignis, das Sie mit GET /v2/events abrufen oder über Ihren Webhook empfangen. Der beim Hinzufügen erfasste Zustand dient als Referenz: Für die Vergangenheit wird kein Ereignis erzeugt.
/v2/monitors/{id}Überwacht ein Unternehmen: 201, wenn es hinzugefügt wird, 200, wenn es bereits überwacht wurde.
/v2/monitors/{id}Beendet die Überwachung: 204 ohne Body.
/v2/monitorsListet die überwachten Unternehmen seitenweise auf (after, limit von 1 bis 1.000, Standard: 100).
/v2/eventsListet die erkannten Ereignisse auf, vom ältesten zum neuesten (after, limit von 1 bis 1.000, Standard: 100).
Jeder Aufruf dieser Endpunkte zählt wie jeder andere Aufruf als eine Anfrage. Webhook-Zustellungen werden nicht gezählt.
curl -X PUT "https://api.jsonpage.com/v2/monitors/FR-552032534" \
-H "X-API-Key: VOTRE_CLE"{ "data": { "company_id": "FR-552032534", "created": true } }
curl "https://api.jsonpage.com/v2/monitors?limit=100" \
-H "X-API-Key: VOTRE_CLE"{
"data": [
{ "company_id": "FR-552032534", "created_at": "2026-10-02T09:12:44Z", "checked_at": "2026-10-02T10:00:03Z" }
],
"next": null,
"meta": { "count": 1, "limit": 1000 }
}
checked_at ist null, solange das Unternehmen noch nicht abgeglichen wurde. meta.count ist die Anzahl der überwachten Unternehmen und meta.limit das Limit Ihres Tarifs. Wenn eine Seite voll ist, übergeben Sie next an den Parameter after; auf der letzten Seite ist next gleich null.
Limits je Tarif
| Tarif | Überwachte Unternehmen |
|---|---|
| Entdecken | 2 |
| Standard | 1.000 |
| Pro | 10.000 |
Webhooks sind in allen Tarifen enthalten. Oberhalb des Limits gibt PUT den Fehler 403 monitor_limit_reached zurück: Tariflimit erreicht, wechseln Sie in einen höheren Tarif, um mehr Unternehmen zu überwachen. Sie werden bei 80 % und 100 % des Limits per E-Mail benachrichtigt. Bereits überwachte Unternehmen funktionieren weiter, und sie erneut hinzuzufügen gibt weiterhin 200 zurück. Ein CSV-Import im Dashboard fügt Unternehmen bis zum Limit hinzu und meldet, wie viele übersprungen wurden.
Ereignisse abrufen
Ereignisse werden vom ältesten zum neuesten zurückgegeben. Ihre Kennungen evt_… sind aufsteigend, aber nicht unbedingt fortlaufend. Übergeben Sie die Kennung des zuletzt verarbeiteten Ereignisses an den Parameter after: next liefert die Kennung des letzten Ereignisses der Seite oder null, wenn es kein neues Ereignis gibt. Behalten Sie in diesem Fall Ihren eigenen Cursor für den nächsten Aufruf. Ereignisse bleiben 90 Tage lang abrufbar.
curl "https://api.jsonpage.com/v2/events?after=evt_41&limit=100" \
-H "X-API-Key: VOTRE_CLE"{
"data": [
{
"id": "evt_42",
"type": "company.address_changed",
"company_id": "FR-552032534",
"detected_at": "2026-10-03T04:00:00Z",
"data": {
"before": "75 AV DE LA GRANDE ARMEE 75116 PARIS",
"after": "7 RUE HENRI SAINTE-CLAIRE DEVILLE 92500 RUEIL-MALMAISON"
}
}
],
"next": "evt_42"
}Beispielhafte Antwort.
Ereignistypen
| Typ | Wann | data |
|---|---|---|
company.status_changed | Der Status ändert sich (active, closed, unknown). | before, after |
company.name_changed | Der Name ändert sich. | before, after |
company.address_changed | Die formatierte Adresse des Hauptsitzes ändert sich. | before, after |
company.activity_changed | Der nationale Tätigkeitscode ändert sich. | before, after |
company.legal_form_changed | Der Code der Rechtsform ändert sich. | before, after |
company.removed_from_register | Das Unternehmen ist nicht mehr im Register. | {} |
signal.added | Ein Signal erscheint. | code, since, detail |
signal.removed | Ein Signal verschwindet. | code |
legal_event.published | Eine neue rechtliche Bekanntmachung wird veröffentlicht (Frankreich). | event: dasselbe Objekt wie der Block legal_events |
sanctions.changed | Der Status oder die Treffer der Sanktionsprüfung ändern sich. | before, after, added, removed, matches |
owner.added | Eine Person mit maßgeblicher Kontrolle wird hinzugefügt (Vereinigtes Königreich). | kind, name |
owner.removed | Eine Person mit maßgeblicher Kontrolle wird nicht mehr gemeldet (Vereinigtes Königreich). | kind, name |
Die überwachten Signale sind insolvency_proceedings, liquidation, strike_off_proposed, accounts_overdue, confirmation_statement_overdue und dormant. closed und recently_created erzeugen nie ein Signalereignis: Eine Schließung wird bereits durch company.status_changed gemeldet. Bei sanctions.changed sind before und after Status (no_match, possible_match, match), added und removed listen Treffer in der Form LIST:reference auf, und matches enthält die aktuellen Treffer im Format des Blocks sanctions. Ein Feld, das das Land nicht liefert, erzeugt nie ein Ereignis.
{
"id": "evt_57",
"type": "sanctions.changed",
"company_id": "GB-01234567",
"detected_at": "2026-10-03T05:00:00Z",
"data": {
"before": "no_match",
"after": "match",
"added": ["US:EXAMPLE-1"],
"removed": [],
"matches": [{ "list": "US", "reference": "EXAMPLE-1", "name": "EXAMPLE TRADING LTD", "match_type": "identifier", "listed_on": "2026-10-02", "programs": ["RUSSIA-EO14024"] }]
}
}Fiktives Ereignis.
Eine Änderung wird erst erkannt, nachdem die offizielle Quelle sie veröffentlicht hat. Die Überwachung erfolgt nach bestem Bemühen, ohne Gewähr für Vollständigkeit oder Fristen, wie in den AGB festgelegt.
Webhooks
Richten Sie Ihren Webhook im Dashboard ein, Bereich Überwachung: eine HTTPS-Adresse pro Konto, auf einem öffentlichen Host. Private, Loopback- und Link-Local-Adressen werden abgelehnt, und Weiterleitungen werden nicht verfolgt. Das Dashboard zeigt das Signaturgeheimnis whsec_… an, das Sie neu generieren können, und ermöglicht das Senden eines signierten Testereignisses test. Dieses Testereignis erscheint nicht in GET /v2/events; die Schaltfläche "Testereignis senden" zeigt den HTTP-Status, die Dauer und einen eventuellen Fehler an, und das Senden ist auf 10 pro Stunde begrenzt.
Jedes Ereignis wird per POST-Anfrage gesendet, deren JSON-Body das Ereignisobjekt ist, mit diesen Headern:
POST /webhooks/jsonpage HTTP/1.1
Content-Type: application/json
Jsonpage-Event-Id: evt_42
Jsonpage-Signature: t=1791000000,v1=5257a869e7ecebeda32affa62cdca3fa51cad7e77a0e56ff536d0ce8e108d8bd
{"id":"evt_42","type":"company.address_changed","company_id":"FR-552032534","detected_at":"2026-10-03T04:00:00Z","data":{"before":"…","after":"…"}}
Die Signatur prüfen
Jede Anfrage wird mit dem Geheimnis whsec_… Ihres Webhooks signiert. Verarbeiten Sie ein Ereignis erst, nachdem die Signatur geprüft wurde. Das Header-Format lautet Jsonpage-Signature: t=<Unix-Sekunden>,v1=<hex>; der Algorithmus ist HMAC-SHA256, mit Ihrem Geheimnis über die Zeichenkette <t>.<Roh-Body> berechnet (die Zeit t, ein Punkt, dann die Bytes genau wie empfangen) und hexadezimal kodiert.
Schritte: Lesen Sie den Roh-Body vor jeder JSON-Dekodierung, extrahieren Sie t und v1, berechnen Sie den HMAC neu, vergleichen Sie ihn in konstanter Zeit mit v1 und lehnen Sie die Anfrage ab, wenn t mehr als 5 Minuten (300 Sekunden) von Ihrer Uhr abweicht, um Wiederholungen zu blockieren. Antworten Sie mit 400, wenn die Signatur ungültig ist.
Node.js
import { createHmac, timingSafeEqual } from "node:crypto";
// rawBody: the request body as received (Buffer or string), header: the Jsonpage-Signature value.
export function verify(rawBody, header = "", secret = process.env.JSONPAGE_WEBHOOK_SECRET) {
const parts = Object.fromEntries(header.split(",").map((p) => p.split("=")));
const t = Number(parts.t);
if (!t || !parts.v1 || Math.abs(Date.now() / 1000 - t) > 300) return false;
const expected = createHmac("sha256", secret).update(`${parts.t}.`).update(rawBody).digest("hex");
return parts.v1.length === expected.length && timingSafeEqual(Buffer.from(parts.v1), Buffer.from(expected));
}
Python
import hashlib
import hmac
import os
import time
SECRET = os.environ["JSONPAGE_WEBHOOK_SECRET"].encode() # whsec_…
def verify(raw_body: bytes, header: str) -> bool:
parts = dict(p.split("=", 1) for p in header.split(",") if "=" in p)
try:
t = int(parts["t"])
except (KeyError, ValueError):
return False
if abs(time.time() - t) > 300:
return False
signed = parts["t"].encode() + b"." + raw_body
expected = hmac.new(SECRET, signed, hashlib.sha256).hexdigest()
return hmac.compare_digest(expected, parts.get("v1", ""))
PHP
<?php
function verify(string $rawBody, string $header, string $secret): bool {
$parts = [];
foreach (explode(',', $header) as $part) {
[$key, $value] = array_pad(explode('=', $part, 2), 2, '');
$parts[$key] = $value;
}
$t = (int) ($parts['t'] ?? 0);
if ($t === 0 || empty($parts['v1']) || abs(time() - $t) > 300) {
return false;
}
$expected = hash_hmac('sha256', $t . '.' . $rawBody, $secret);
return hash_equals($expected, $parts['v1']);
}
// $rawBody = file_get_contents('php://input');
// $header = $_SERVER['HTTP_JSONPAGE_SIGNATURE'] ?? '';
Ruby
require "openssl"
# raw_body: the request body as received, header: the Jsonpage-Signature value.
def verify(raw_body, header, secret)
parts = header.to_s.split(",").map { |part| part.split("=", 2) }.to_h
t = parts["t"].to_i
return false if t.zero? || parts["v1"].nil? || (Time.now.to_i - t).abs > 300
expected = OpenSSL::HMAC.hexdigest("SHA256", secret, "#{t}.#{raw_body}")
expected.bytesize == parts["v1"].bytesize && OpenSSL.fixed_length_secure_compare(expected, parts["v1"])
end
Zustellungen und Wiederholungsversuche
Eine 2xx-Antwort innerhalb von 15 Sekunden gilt als Erfolg. Andernfalls (anderer Code, Zeitüberschreitung, keine Verbindung möglich) wird die Zustellung nach 1 Min., 5 Min., 30 Min., 2 Std., 6 Std., 12 Std. und 24 Std. erneut versucht und danach als fehlgeschlagen markiert. Ein fehlgeschlagenes Ereignis bleibt über GET /v2/events abrufbar. Eine Zustellung kann mehrfach oder in anderer Reihenfolge eintreffen: Deduplizieren Sie anhand der Ereigniskennung (id oder Header Jsonpage-Event-Id) und antworten Sie schnell; verarbeiten Sie das Ereignis bei Bedarf erst nach der Antwort.
Fehler der Überwachung
400 invalid_identifier (fehlerhaft formatierte globale Kennung), 400 invalid_parameter (ungültiger Wert für limit oder after), 403 monitor_limit_reached (Limit des Tarifs erreicht), 404 not_found (PUT eines Unternehmens, das nicht im Register steht), 404 not_monitored (DELETE eines Unternehmens, das Sie nicht überwachen), 503 monitoring_unavailable (Überwachung auf dem Server noch nicht verfügbar).
Eingaben vervollständigen und prüfen
Zwei Endpunkte für Registrierungsformulare von Kunden oder Lieferanten, Rechnungen (SIRET und USt-IdNr. des Lieferanten) und einfache Identitätsprüfungen von Unternehmen: /v2/autocomplete schlägt während der Eingabe Unternehmen vor, /v2/validate prüft die eingegebenen Kennungen. Jeder Aufruf zählt als eine Anfrage.
Ohne Programmieren: Die Plugins für WooCommerce, WordPress, Shopify und PrestaShop nutzen diese beiden Endpunkte und ergänzen Ihren Shop um die Unternehmenssuche und eine geprüfte USt-IdNr.
/v2/autocomplete?q=…Schlägt während der Eingabe Unternehmen vor, auf Basis des Namensindex.
GET/v2/validate?id=…&siret=…&vat=…Prüft in einem Aufruf eine Kennung, eine SIRET und eine USt-IdNr.
Autovervollständigung
GET /v2/autocomplete antwortet ausschließlich auf Basis des Namensindex, ohne den vollständigen Datensatz zu lesen, in wenigen Millisekunden auf dem Server. Die Wörter folgen den Regeln der Suche nach Namen: Jedes Wort mit 2 oder mehr Zeichen muss im Namen vorkommen, das letzte darf ein Wortanfang sein. Ist der eingegebene Text eine Registernummer (SIREN, SIRET, belgische Unternehmensnummer, Schweizer UID, norwegische Organisationsnummer, finnische Y-tunnus, lettische Registernummer oder Jsonpage-House-Nummer), wird das entsprechende Unternehmen direkt zurückgegeben; eine SIRET liefert ihr Unternehmen.
curl "https://api.jsonpage.com/v2/autocomplete?q=carrefour&limit=5" \
-H "X-API-Key: IHR_SCHLUESSEL"{
"data": [
{ "id": "FR-652014051", "name": "CARREFOUR", "status": "active", "postal_code": "91300", "city": "MASSY", "kind": "company" },
{ "id": "FR-...", "...": "..." }
]
}Gekürzte, beispielhafte Antwort.
Parameter (q, country, status, limit): Name, Typ, Standardwert und Grenzen in den Details des Endpunkts, bei den verfügbaren Endpunkten.
Jeder Vorschlag enthält id (die weiterzuverwendende globale Kennung), name, status, postal_code und city (null, falls unbekannt) sowie kind: company für eine Gesellschaft, person für einen Einzelunternehmer. Die Reihenfolge entspricht der Suche nach Namen: exakte Namen, dann aktive Unternehmen, dann Gesellschaften vor Einzelunternehmern. Für den vollständigen Datensatz rufen Sie anschließend GET /v2/companies/{id} mit der gewählten id auf.
Fehler: 400 query_too_short (kein Wort mit 2 oder mehr Zeichen), 400 invalid_parameter (ungültiger Wert für status oder limit), 404 country_not_supported (Land ohne Namenssuche). Die Antworten enthalten einen ETag, wie die anderen v2-Endpunkte mit GET.
Validierung
GET /v2/validate akzeptiert id (globale Kennung, zum Beispiel FR-552032534), siret und vat in beliebiger Kombination, mit mindestens einem der drei. Leerzeichen, Punkte und Bindestriche in der SIRET und der USt-IdNr. werden ignoriert. Die Antwort gibt an, ob alles gültig ist, schlüsselt jede Prüfung auf und liefert den Basisdatensatz des Unternehmens mit seiner Adresse.
curl "https://api.jsonpage.com/v2/validate?id=FR-652014051&vat=FR14652014051" \
-H "X-API-Key: IHR_SCHLUESSEL"{
"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",
"country": "FR",
"registry_id": "652014051",
"name": "CARREFOUR",
"status": "active",
"...": "...",
"address": { "...": "...", "postal_code": "91300", "city": "MASSY" },
"vat": { "number": "FR14652014051", "status": "valid", "checked_at": "...", "source": "EU VAT check" }
}
}
}Gekürzte Antwort: Die Basisfelder sind hier ausgelassen.
| Prüfung | Prüft |
|---|---|
id_format | Die globale Kennung ist für ein abgedecktes Land korrekt formatiert; in der Schweiz, in Norwegen und in Finnland wird die Prüfziffer nach Modulo 11 der UID, der Organisationsnummer oder der Y-tunnus geprüft. In Australien wird auch die Modulo-89-Prüfung der ABN geprüft. In Singapur wird auch der Prüfbuchstabe der UEN geprüft. In Japan wird auch die Prüfziffer der Unternehmensnummer geprüft. |
siren_key | Die Prüfziffer (Luhn) der SIREN ist korrekt (Frankreich). |
siret_format | Die SIRET hat 14 Ziffern. |
siret_key | Die Prüfziffer (Luhn) der SIRET ist korrekt; Niederlassungen von La Poste folgen ihrer eigenen Regel. |
siret_exists | Die Niederlassung existiert im Register. |
siret_active | Die Niederlassung ist aktiv. |
vat_format | Die USt-IdNr. ist korrekt aufgebaut: in Frankreich die aus der SIREN berechnete Nummer; in Belgien BE gefolgt von einer Unternehmensnummer mit korrekter Prüfziffer; in der Schweiz die UID mit korrekter Prüfziffer, gefolgt von MWST, USt. oder IVA; in Norwegen NO, eine Organisationsnummer mit korrekter Prüfziffer und MVA; in Finnland FI gefolgt von den 8 Zeichen einer Y-tunnus mit korrekter Prüfziffer; in Lettland LV gefolgt von 11 Ziffern; in Schweden SE, eine Organisationsnummer mit korrekter Prüfziffer und 01; in Estland EE gefolgt von 9 Ziffern; in Litauen LT gefolgt von den 9 Ziffern des Codes. |
vat_country_supported | Das Land der USt-IdNr. wird unterstützt (Frankreich, Belgien, Schweiz, Norwegen, Finnland, Lettland, Schweden, Estland oder Litauen); bei einem anderen Land immer fehlgeschlagen. |
identifiers_match | Alle Kennungen bezeichnen dasselbe Unternehmen. |
company_exists | Das Unternehmen existiert im Register. |
company_active | Das Unternehmen ist aktiv. |
vat_registered | Prüfstatus der USt-IdNr.: valid, pending (Prüfung läuft, versuchen Sie es einige Sekunden später erneut), not_verified und unavailable (Prüfung nicht abgeschlossen) bestehen; invalid schlägt fehl. |
valid ist nur dann true, wenn alle zurückgegebenen Prüfungen bestanden sind. Es werden nur relevante Prüfungen zurückgegeben: Eine Prüfung, die von einer fehlgeschlagenen anderen abhängt, wird ausgelassen (eine fehlerhaft formatierte SIRET wird nicht nachgeschlagen). company wird auch zurückgegeben, wenn die Niederlassung oder das Unternehmen geschlossen ist, um anzugeben, worauf sich die Kennungen beziehen; der Wert ist null, wenn die Kennungen nicht dasselbe Unternehmen bezeichnen oder das Unternehmen nicht gefunden wird. Die Antwort wird höchstens 60 Sekunden zwischengespeichert (Cache-Control: private, max-age=60).
Beispiel in Belgien: Eine belgische USt-IdNr. genügt, die API leitet daraus das Unternehmen ab. Punkte werden ignoriert, BE0417.497.106 wird also akzeptiert.
curl "https://api.jsonpage.com/v2/validate?vat=BE0417497106" \
-H "X-API-Key: IHR_SCHLUESSEL"{
"data": {
"valid": true,
"checks": [
{ "code": "vat_country_supported", "ok": true, "value": "BE0417497106" },
{ "code": "vat_format", "ok": true, "value": "BE0417497106" },
{ "code": "company_exists", "ok": true, "value": "BE-0417497106" },
{ "code": "company_active", "ok": true, "value": "active" },
{ "code": "vat_registered", "ok": true, "value": "valid" }
],
"company": {
"id": "BE-0417497106",
"country": "BE",
"registry_id": "0417497106",
"name": "Anheuser-Busch InBev",
"status": "active",
"...": "...",
"address": { "...": "...", "postal_code": "1000", "city": "Bruxelles" },
"vat": { "number": "BE0417497106", "status": "valid", "checked_at": "...", "source": "EU VAT check" }
}
}
}
Beispiel in der Schweiz: Auch eine Schweizer MWST-Nummer genügt, mit oder ohne Punkte, Leerzeichen und den Zusatz MWST, USt. oder IVA.
curl "https://api.jsonpage.com/v2/validate?vat=CHE-105.909.036+MWST" \
-H "X-API-Key: IHR_SCHLUESSEL"{
"data": {
"valid": true,
"checks": [
{ "code": "vat_country_supported", "ok": true, "value": "CHE105909036MWST" },
{ "code": "vat_format", "ok": true, "value": "CHE105909036MWST" },
{ "code": "company_exists", "ok": true, "value": "CH-105909036" },
{ "code": "company_active", "ok": true, "value": "active" },
{ "code": "vat_registered", "ok": true, "value": "valid" }
],
"company": {
"id": "CH-105909036",
"country": "CH",
"registry_id": "105909036",
"name": "Nestlé AG",
"status": "active",
"...": "...",
"address": { "...": "...", "postal_code": "6330", "city": "Cham" },
"vat": { "number": "CHE-116.281.710 MWST", "status": "valid", "checked_at": "...", "source": "EU VAT check" }
}
}
}Nestlé ist Mitglied einer MWST-Gruppe: Die eingegebene Nummer bezeichnet das Unternehmen, und der Block vat nennt die Nummer der Gruppe, mit der es fakturiert.
Beispiel in Norwegen, Finnland, Lettland, Schweden, Estland oder Litauen: Auch eine USt-IdNr. genügt, NO923609016MVA (mit oder ohne Leerzeichen), FI01120389 oder LV40003245752. Bei einer norwegischen Nummer ist vat_registered valid, wenn die Einheit für die Mehrwertsteuer registriert ist, sonst schlägt die Prüfung fehl.
curl "https://api.jsonpage.com/v2/validate?vat=NO923609016MVA" \
-H "X-API-Key: VOTRE_CLE"
curl "https://api.jsonpage.com/v2/validate?id=FR-652014051&siret=55203253400414" \
-H "X-API-Key: IHR_SCHLUESSEL"{
"data": {
"valid": false,
"checks": [
{ "code": "id_format", "ok": true, "value": "FR-652014051" },
{ "code": "siren_key", "ok": true, "value": "652014051" },
{ "code": "siret_format", "ok": true, "value": "55203253400414" },
{ "code": "siret_key", "ok": true, "value": "55203253400414" },
{ "code": "identifiers_match", "ok": false, "value": "FR-552032534" }
],
"company": null
}
}Die SIRET gehört zu einem anderen Unternehmen (FR-552032534): Die Kennungen stimmen nicht überein.
Fehler: 400 invalid_parameter, wenn keiner der drei Parameter angegeben ist. Eine fehlerhaft formatierte Kennung ist kein Fehler: Sie führt zu einer fehlgeschlagenen Prüfung id_format.
Ihr Konto im Dashboard verwalten
Diese Funktionen nutzen Sie im Dashboard, angemeldet mit Ihrem Konto: Es sind keine Endpunkte der öffentlichen API, und sie benötigen keinen API-Schlüssel.
API-Schlüssel
Je nach Tarif (Entdecken (kostenlos), Standard, Pro) können Sie bis zu 1, 3 oder 10 aktive Schlüssel gleichzeitig haben, jeder mit einem Namen. Das Erneuern eines Schlüssels erzeugt einen neuen Schlüssel mit demselben Namen: Der alte bleibt 24 Stunden gültig, damit Sie ihn auf Ihren Servern ersetzen können, und wird danach deaktiviert. Ein widerrufener Schlüssel wird sofort mit 401 invalid_api_key abgelehnt.
Zulässige IP-Adressen (Pro)
Mit Pro beschränken Sie die Nutzung Ihrer Schlüssel auf höchstens 20 IP-Adressen oder CIDR-Bereiche, in IPv4 oder IPv6 (zum Beispiel 203.0.113.10 oder 2001:db8::/32). Die Liste gilt für alle Schlüssel des Kontos; eine Anfrage von einer anderen Adresse erhält 403 ip_not_allowed. Eine leere Liste lässt alle Adressen zu.
Anfrageprotokoll
Das Protokoll listet jeden API-Aufruf (Datum, Methode, Pfad mit Parametern, Statuscode und Dauer) über 7 Tage im Entdecken-Tarif, 30 Tage im Standard-Tarif und 90 Tage im Pro-Tarif. Der Inhalt der Antworten wird nicht gespeichert.
Eine Datei anreichern
Laden Sie eine CSV-Datei hoch und wählen Sie die Spalte mit den Kennungen: SIREN, SIRET, USt-IdNr. oder globale Kennung. Nur diese Spalte wird übermittelt. Die ergänzte Datei, eine durch Semikolons getrennte CSV, enthält input, id, found, name, status, legal_form, activity_code, activity_label, nace, address, postal_code, city, country, vat_number, vat_status, incorporated_on, closed_on, signals, insolvency, sanctions, error. Eine Datei umfasst bis zu 10.000 Zeilen im Standard-Tarif und 100.000 im Pro-Tarif; der Tarif Entdecken erlaubt 100 angereicherte Zeilen pro Monat. Jede Zeile zählt als eine Anfrage. Pro Konto wird jeweils eine Datei verarbeitet; das Ergebnis kann 7 Tage lang heruntergeladen werden.
Unternehmenslisten (Standard und Pro)
Filtern Sie französische Unternehmen nach Tätigkeit (NAF-Code wie 62.01Z oder Abteilung wie 62), Département (69, 2A, 974), Rechtsformkategorie und Gründungszeitraum. Die Vorschau zeigt die Anzahl der Unternehmen und zehn Beispiele; die CSV-Datei enthält siren, id, name, naf, naf_label, legal_category, legal_category_label, created_at, address, postal_code, city, department. Kontingent: 1.000 Zeilen pro Kalendermonat im Standard-Tarif, 50.000 im Pro-Tarif. Aufgenommen werden nur aktive Unternehmen mit öffentlichen Daten, niemals Einzelunternehmer. Sie bleiben für die Einhaltung der DSGVO und der Regeln zur Direktwerbung verantwortlich (siehe die AGB).
Export Ihrer Daten (Standard und Pro)
Ihre überwachten Unternehmen, Ihre Ereignisse und Ihr Anfrageprotokoll lassen sich als CSV-Dateien herunterladen, die sich direkt in Tabellenkalkulationen öffnen.
Eine zuverlässige Integration
- Speichern Sie die globale Kennung aus
data.id(FR-552032534,BE-0417497106,CH-101374515,NO-923609016,FI-01120389,LV-40003245752,IE-104547,SE-5560427220,EE-10137025,LT-110053842,AU-51824753556,SG-196800306E,JP-1180301018771,GB-00445790) und verwenden Sie sie unverändert weiter. Prüfen Sie eine von einem Nutzer eingegebene Nummer zuerst mit/v2/validate. - Fordern Sie in
includenur die benötigten Blöcke an: Ein nicht angeforderter Block wird weder gelesen noch berechnet, und die Antwort bleibt schlank. - Bewahren Sie den API-Schlüssel auf Ihrem Server auf. Um ihn zu ändern, erneuern Sie ihn: Der alte bleibt 24 Stunden gültig.
- Warten Sie bei
429oder503die Zeit ausRetry-Afterab und versuchen Sie es dann mit wachsenden Abständen erneut. - Senden Sie das
ETaginIf-None-Matchzurück, um einen unveränderten Datensatz nicht erneut zu lesen, und lesen Sie mehrere Unternehmen auf einmal mitPOST /v2/companies/batch. - Um Kunden oder Lieferanten zu verfolgen, nutzen Sie besser die Überwachung (Webhooks oder
GET /v2/events), statt ihre Datensätze immer wieder abzurufen. - Beachten Sie den Status der eingeschränkten Veröffentlichung
Pfranzösischer Unternehmen (local.diffusion_status) und die Nutzungsbedingungen der Daten.
Siehe auch die SLA-Seite zur Verfügbarkeitszusage des Pro-Tarifs.
Datenquelle
Jsonpage stützt sich auf die amtlichen Unternehmensregister der abgedeckten Länder und auf öffentliche regulatorische Informationen: Insolvenzverfahren, internationale Sanktionslisten, Status von USt-IdNrn. Jsonpage sammelt, prüft, vereinheitlicht und ergänzt diese Informationen, um unabhängig vom Land ein einheitliches Format mit geprüften Kennungen und verständlichen Status zu bieten.
Jede Antwort nennt in meta.sources das Datum der verwendeten Daten, und der Dienststatus ist jederzeit abrufbar.