API v1 · OpenAPI 3.1 · stabil
API-Referenz
Fragen Sie französische Unternehmensdaten (SIRENE/INSEE + RNE/INPI) aus Ihrer Anwendung ab: Suche, Rechtseinheiten, Niederlassungen, Geschäftsführer und Jahresabschlüsse. Eine einzige Basis-URL, Authentifizierung mit einem Schlüsselpaar.
Überblick
Eine zustandslose REST-API, JSON ein/aus, versioniert. Jede Route hat das Präfix /v1 und gibt die Hülle { success, data, timestamp } zurück.
- Basis-URL
https://companyfrance.fr/api/v1 - Version
v1 · OpenAPI 3.1 - Format
application/json - Authentifizierung
X-API-Key + X-API-Secret
Daten aus SIRENE/INSEE (Open Data), angereichert mit RNE/INPI. Der vollständige Vertrag ist als OpenAPI 3.1 verfügbar.
Authentifizierung
Jede Anfrage muss Ihr API-Schlüsselpaar in den HTTP-Headern enthalten. Der öffentliche Schlüssel identifiziert Ihr Konto; der geheime Schlüssel authentifiziert es. Geben Sie Ihren geheimen Schlüssel niemals im Browser preis.
curl "https://companyfrance.fr/api/v1/me" \
-H "X-API-Key: pk_live_xxxxxxxxxxxx" \
-H "X-API-Secret: sk_live_xxxxxxxxxxxxxxxxxxxxxxxx"Erforderliche Header
X-API-Key— öffentlicher Schlüssel, Format pk_live_…X-API-Secret— geheimer Schlüssel, Format sk_live_… (serverseitig aufbewahren)
Erstellen und widerrufen Sie Ihre Schlüssel unter /dashboard/api/keys.
Fehlerformat
Jeder Fehler gibt einen HTTP-Status 4xx oder 5xx und einen JSON-Body mit success: false, einem error-Feld (lesbar) und einem code-Feld (Maschinenkennung) zurück.
{
"success": false,
"error": "No legal unit found for this SIREN.",
"code": "NOT_FOUND",
"timestamp": "2026-06-22T10:00:00.000Z"
}MISSING_CREDENTIALSAPI-Schlüssel fehlen in den Headern.INVALID_API_KEYUngültiger öffentlicher oder geheimer Schlüssel.API_KEY_DISABLEDSchlüssel deaktiviert oder abgelaufen.MISSING_FILTERKein Suchfilter angegeben (q, naf, codePostal…).INVALID_SIRENUngültige SIREN: 9 Ziffern erwartet.NOT_FOUNDRessource nicht gefunden.INTERNAL_ERRORInterner Serverfehler.
Paginierung
Listen-Endpunkte akzeptieren page (Standard 1) und perPage (Standard 20, max. 100). Die Antwort enthält ein pagination-Objekt, das die aktuelle Seite und das Vorhandensein einer nächsten Seite beschreibt.
"pagination": {
"page": 1,
"perPage": 20,
"total": 137,
"totalPages": 7,
"hasNext": true
}Kontingente & Limits
Aufrufe werden auf das monatliche Kontingent Ihres Tarifs angerechnet und pro Stunde begrenzt. Jede Antwort zeigt Ihren Verbrauch über X-RateLimit-*-Header.
- Monatliches Kontingent des Tarifs
X-RateLimit-Limit - Verbleibende Aufrufe im Zeitraum
X-RateLimit-Remaining - Reset-Zeitstempel (Epoch)
X-RateLimit-Reset
Überschreitung
Rechtseinheiten suchen
/v1/searchDatenbankgestützte Suche über französische Unternehmen. Geben Sie mindestens einen Filter an. Ergebnisse sind paginiert und nach Name sortiert.
Query-Parameter
qstringoptionalFreitext: Name, Name des Geschäftsführers oder SIREN-Präfix. Ein q mit 9 Ziffern führt eine exakte SIREN-Suche durch.
nafstringoptionalExakter NAF/APE-Code (z. B. 29.10Z) oder Abteilungspräfix (z. B. 62).
categorieJuridiquestringoptionalINSEE-Rechtsformcode (z. B. 5710).
etatstringoptionalACVerwaltungsstatus: A (aktiv) oder C (eingestellt).
codePostalstringoptionalExakte Postleitzahl (entspricht einer Niederlassung).
communestringoptionalGemeindename (Teilübereinstimmung).
departementstringoptionalDépartement mit 2 Ziffern (Postleitzahl-Präfix).
pageintegeroptionalStandard1Seitennummer (ab 1).
perPageintegeroptionalStandard20Ergebnisse pro Seite (max. 100).
Antworten
- 200Paginierte Ergebnisse (items + pagination).
- 400Kein Filter angegeben.
- 401API-Schlüssel fehlen oder ungültig.
- 429Kontingent oder Ratenlimit überschritten.
curl "https://companyfrance.fr/api/v1/search?q=renault&departement=92&perPage=20" \
-H "X-API-Key: pk_live_..." \
-H "X-API-Secret: sk_live_..."{
"success": true,
"data": {
"items": [
{
"siren": "552032534",
"sirenFormatted": "552 032 534",
"name": "RENAULT",
"sigle": null,
"legalForm": { "code": "5710", "label": "SA à conseil d'administration" },
"activity": { "code": "29.10Z", "label": "Construction de véhicules automobiles" },
"category": "GE",
"active": true,
"state": "A",
"dateCreation": "1955-01-01T00:00:00.000Z"
}
],
"pagination": { "page": 1, "perPage": 20, "total": 3, "totalPages": 1, "hasNext": false }
},
"timestamp": "2026-06-22T10:00:00.000Z"
}Unternehmen nach Geschäftsführer suchen
/v1/search/dirigeantsUmgekehrte Suche: alle Unternehmen, die eine Person leitet oder geleitet hat (RNE-Geschäftsführer + Einzelunternehmer). Groß-/Kleinschreibung- und akzentunabhängig. Geben Sie mindestens nom oder prenom an (min. 2 Zeichen).
Query-Parameter
nomstringoptionalNachname (oder ein beliebiger Namensteil).
prenomstringoptionalVorname(n).
strictbooleanoptionalStandardfalsetrue → feldgebundener Abgleich (nom↔nom, prénom↔prénom): weniger Namensvetter.
pageintegeroptionalStandard1Seitennummer (ab 1).
perPageintegeroptionalStandard20Ergebnisse pro Seite (max. 100).
Antworten
- 200Mit der Person verknüpfte Unternehmen (items + pagination, totalMatched, capped).
- 400Kein Geschäftsführername angegeben.
- 401API-Schlüssel fehlen oder ungültig.
- 429Kontingent oder Ratenlimit überschritten.
curl "https://companyfrance.fr/api/v1/search/dirigeants?nom=Dupont&prenom=Jean" \
-H "X-API-Key: pk_live_..." \
-H "X-API-Secret: sk_live_..."{
"success": true,
"data": {
"items": [
{
"siren": "552032534",
"sirenFormatted": "552 032 534",
"name": "RENAULT",
"activity": { "code": "29.10Z", "label": "Construction de véhicules automobiles" },
"active": true,
"state": "A",
"dateCreation": "1955-01-01T00:00:00.000Z",
"dateRadiation": null,
"roles": ["Président du conseil d'administration"],
"matched": "Jean Dupont"
}
],
"pagination": { "page": 1, "perPage": 20, "total": 3, "totalPages": 1, "hasNext": false },
"totalMatched": 3,
"capped": false
},
"timestamp": "2026-06-22T10:00:00.000Z"
}Unternehmen nach Adresse suchen
/v1/search/adresseUmgekehrte Suche: alle an einer Adresse registrierten Unternehmen, gruppiert nach SIREN (Hauptsitz zuerst). Die Postleitzahl ist erforderlich; verfeinern Sie mit Straße und Gemeinde.
Query-Parameter
codePostalstringerforderlichPostleitzahl — erforderlich. 5 Ziffern (oder ein Präfix mit min. 4 Ziffern). Sie ist der indizierte Anker.
voiestringoptionalStraßenbegriffe (Nummer / Typ / Name), in beliebiger Reihenfolge.
communestringoptionalGemeindename (optionale Verfeinerung).
pageintegeroptionalStandard1Seitennummer (ab 1).
perPageintegeroptionalStandard20Ergebnisse pro Seite (max. 100).
Antworten
- 200Unternehmen an der Adresse (items + pagination, totalMatched, capped).
- 400Postleitzahl fehlt.
- 401API-Schlüssel fehlen oder ungültig.
- 429Kontingent oder Ratenlimit überschritten.
curl "https://companyfrance.fr/api/v1/search/adresse?codePostal=92100&voie=Quai+Le+Gallo" \
-H "X-API-Key: pk_live_..." \
-H "X-API-Secret: sk_live_..."{
"success": true,
"data": {
"items": [
{
"siren": "552032534",
"sirenFormatted": "552 032 534",
"name": "RENAULT",
"activity": { "code": "29.10Z", "label": "Construction de véhicules automobiles" },
"active": true,
"state": "A",
"dateCreation": "1955-01-01T00:00:00.000Z",
"address": "13 Quai Alphonse Le Gallo, 92100 Boulogne-Billancourt",
"street": "13 Quai Alphonse Le Gallo",
"postalCode": "92100",
"commune": "Boulogne-Billancourt",
"headOffice": true,
"establishmentsMatched": 1
}
],
"pagination": { "page": 1, "perPage": 20, "total": 12, "totalPages": 1, "hasNext": false },
"totalMatched": 12,
"capped": false
},
"timestamp": "2026-06-22T10:00:00.000Z"
}Eine Rechtseinheit abrufen
/v1/unite-legale/{siren}Vollständiger Unternehmensdatensatz: Namen, Rechtsform, Tätigkeit, Kapital (Pro/Enterprise), Belegschaft, USt-IdNr. und Anzahl der Niederlassungen.
Pfadparameter
sirenstringerforderlichSIREN der Rechtseinheit — 9 Ziffern.
Antworten
- 200Datensatz der Rechtseinheit.
- 404Ressource nicht gefunden.
curl "https://companyfrance.fr/api/v1/unite-legale/552032534" \
-H "X-API-Key: pk_live_..." \
-H "X-API-Secret: sk_live_..."{
"success": true,
"data": {
"siren": "552032534",
"sirenFormatted": "552 032 534",
"name": "RENAULT",
"legalForm": { "code": "5710", "label": "SA à conseil d'administration" },
"activity": { "code": "29.10Z", "label": "Construction de véhicules automobiles" },
"active": true,
"state": "A",
"vatNumber": "FR41552032534",
"workforceRange": "53",
"capital": { "amount": 1126701902, "currency": "EUR", "variable": false },
"establishments": { "total": 12, "active": 9 }
},
"timestamp": "2026-06-22T10:00:00.000Z"
}Niederlassungen einer Rechtseinheit auflisten
/v1/unite-legale/{siren}/etablissementsNiederlassungen (SIRET), die einer SIREN zugeordnet sind, paginiert. Filtern Sie nach Status, um nur aktive Niederlassungen zu behalten.
Pfadparameter
sirenstringerforderlichSIREN der Rechtseinheit — 9 Ziffern.
Query-Parameter
etatstringoptionalAFNiederlassungsstatus: A (aktiv) oder F (geschlossen).
pageintegeroptionalStandard1Seitennummer (ab 1).
perPageintegeroptionalStandard20Ergebnisse pro Seite (max. 100).
Antworten
- 200Paginierte Niederlassungen.
- 404Ressource nicht gefunden.
curl "https://companyfrance.fr/api/v1/unite-legale/552032534/etablissements?etat=A" \
-H "X-API-Key: pk_live_..." \
-H "X-API-Secret: sk_live_..."Geschäftsführer einer Rechtseinheit auflisten
/v1/unite-legale/{siren}/dirigeantsGeschäftsführer (Geschäftsführer, Präsident…) aus dem RNE. Für einen Einzelunternehmer wird die natürliche Person aus der Identität der Rechtseinheit abgeleitet.
Pfadparameter
sirenstringerforderlichSIREN der Rechtseinheit — 9 Ziffern.
Antworten
- 200Liste der Geschäftsführer (count + items).
- 404Ressource nicht gefunden.
curl "https://companyfrance.fr/api/v1/unite-legale/552032534/dirigeants" \
-H "X-API-Key: pk_live_..." \
-H "X-API-Secret: sk_live_..."{
"success": true,
"data": {
"siren": "552032534",
"count": 1,
"items": [
{
"type": "person",
"name": "Jean Dupont",
"nom": "Dupont",
"prenoms": "Jean",
"denomination": null,
"role": "Président du conseil d'administration",
"birthYear": 1968
}
]
},
"timestamp": "2026-06-22T10:00:00.000Z"
}Jahresabschlüsse einer Rechtseinheit
/v1/unite-legale/{siren}/financesHinterlegte Jahresabschlüsse (Umsatz, Jahresüberschuss…), sofern verfügbar.
Pfadparameter
sirenstringerforderlichSIREN der Rechtseinheit — 9 Ziffern.
Antworten
- 200Jahresabschlüsse.
- 403Unzureichender Tarif — Upgrade erforderlich.
- 404Ressource nicht gefunden.
Endpunkt nur für Pro- und Enterprise-Tarife
curl "https://companyfrance.fr/api/v1/unite-legale/552032534/finances" \
-H "X-API-Key: pk_live_..." \
-H "X-API-Secret: sk_live_..."{
"success": true,
"data": {
"siren": "552032534",
"count": 1,
"items": [
{
"year": 2024,
"dateCloture": "2024-12-31",
"typeBilan": "C",
"totalBilan": 98765432000,
"capitauxPropres": 31200000000,
"resultatNet": 752000000,
"chiffreAffaires": 56601000000,
"currency": "EUR",
"confidential": false,
"dateDepot": "2025-05-14"
}
]
},
"timestamp": "2026-06-22T10:00:00.000Z"
}Eine Niederlassung abrufen
/v1/etablissement/{siret}Niederlassungsdatensatz per SIRET: Adresse, Tätigkeit, Geschäftsname, Hauptsitz-Kennzeichen und Verwaltungsstatus.
Pfadparameter
siretstringerforderlichSIRET der Niederlassung — 14 Ziffern.
Antworten
- 200Datensatz der Niederlassung.
- 404Ressource nicht gefunden.
curl "https://companyfrance.fr/api/v1/etablissement/55203253400041" \
-H "X-API-Key: pk_live_..." \
-H "X-API-Secret: sk_live_..."NAF-Nomenklatur
/v1/nafListe der NAF/APE-Codes mit ihren Bezeichnungen. Filtern Sie mit q, um nach Bezeichnung oder Code zu suchen.
Query-Parameter
qstringoptionalSuche nach Bezeichnung oder NAF-Code.
Antworten
- 200NAF-Codes.
curl "https://companyfrance.fr/api/v1/naf?q=automobile" \
-H "X-API-Key: pk_live_..." \
-H "X-API-Secret: sk_live_..."Einen NAF-Code auflösen
/v1/naf/{code}Gibt die Bezeichnung eines bestimmten NAF/APE-Codes zurück.
Pfadparameter
codestringerforderlichAufzulösender NAF/APE-Code (z. B. 29.10Z).
Antworten
- 200Code-Bezeichnung.
- 404Ressource nicht gefunden.
curl "https://companyfrance.fr/api/v1/naf/29.10Z" \
-H "X-API-Key: pk_live_..." \
-H "X-API-Secret: sk_live_..."Nomenklatur der Rechtsformen
/v1/categories-juridiquesListe der Rechtsformcodes (INSEE) mit ihren Bezeichnungen. Filtern Sie mit q.
Query-Parameter
qstringoptionalSuche nach Bezeichnung oder Code.
Antworten
- 200Rechtsformen.
curl "https://companyfrance.fr/api/v1/categories-juridiques?q=SARL" \
-H "X-API-Key: pk_live_..." \
-H "X-API-Secret: sk_live_..."Ihr Tarif & Verbrauch
/v1/meGibt das aufrufende Konto, seinen Tarif und den aktuellen Verbrauch zurück. Dieser Aufruf wird selbst auf das Kontingent angerechnet.
Antworten
- 200Tarif + Verbrauch.
- 400API-Schlüssel keinem Unternehmen zugeordnet.
curl "https://companyfrance.fr/api/v1/me" \
-H "X-API-Key: pk_live_..." \
-H "X-API-Secret: sk_live_..."{
"success": true,
"data": {
"keyId": "key_01J…",
"company": { "id": "cmp_01J…" },
"plan": {
"code": "pro",
"name": "Pro",
"status": "active",
"trialEndsAt": null,
"currentPeriodEnd": "2027-06-22T00:00:00.000Z"
},
"usage": {
"used": 1284,
"limit": 50000,
"remaining": 48716,
"percentage": 3,
"resetAt": "2026-07-01T00:00:00.000Z",
"hourlyRateLimit": 1000
}
},
"timestamp": "2026-06-22T10:00:00.000Z"
}