Skip to main content

Table of Contents

Data Sources

France uses multiple official registries. For a given entity, data comes from a single primary source — the system does not merge attributes across registries. It follows a deterministic priority chain and returns data from the first matching source.

Commercial companies & sole entrepreneurs

  • RNE (Registre National des Entreprises) — Operated by the INPI since January 1, 2023, the RNE replaced and unified three former registries: the RNCS (Registre National du Commerce et des Societes), the Repertoire des Metiers, and the Registre des Actifs Agricoles. This is our primary source for the vast majority of French entities. When a company is found in the RNE, all structured attributes come from the RNE: company name, legal form, status, incorporation date, registered address, share capital, activity codes, legal representatives, shareholders, UBOs, and establishments.
  • SIRENE (INSEE) — The SIRENE repertoire, managed by the INSEE since 1973, covers ~25 million enterprises. Used in two ways: (1) as a supplement to RNE for employee count range (expressed in tranches, e.g. “50 to 99 employees” — note: figures can be 2-3 years old per INSEE methodology); (2) as a standalone fallback for entities that exist in INSEE but are not yet in the RNE, providing a limited dataset only (company name, legal form, activity code, status, employee count — no legal representatives, shareholders, or UBOs).
  • BODACC (Bulletin Officiel des Annonces Civiles et Commerciales) — Free API operated by the DILA. Used as an exceptional last resort only, when an entity appears in none of the above registries (not in RNE, not in SIRENE, not in RNA). This represents a negligible fraction of queries. When used, company data and legal representatives are extracted from legal announcement text.
  • Infogreffe — Used exclusively for KBIS document retrieval (certified trade register extract PDFs). It is not a structured data source for company attributes.

Non-profits

  • RNA Waldec — Non-profits (associations declarees) that have been created or have declared a modification since 2009. Our primary source for non-profits. Enriched with SIRENE data when a SIREN is available.
  • RNA Import — Historical non-profits created since 1901 that have not declared any change since 2009. Fallback when not found in RNA Waldec.
  • RNA Alsace-Moselle — Non-profits (associations de droit local) in departments 57 (Moselle), 67 (Bas-Rhin), and 68 (Haut-Rhin), which operate under local law and are excluded from the national RNA.
RNA data is batch-synced (monthly from data.gouv.fr) because no live API exists for the RNA registries. This is the only available access method provided by the French government for non-profit data.
  • RNA: All non-profits are automatically registered when declared at the prefecture (RNA number: W + 9 digits)
  • SIRENE: Non-profits must register if they seek public subsidies, employ staff, or are subject to VAT/corporate tax (SIREN: 9 digits)
  • RNE: Non-profits with SIRENE registration and business-like activities may also appear in INPI’s unified register, which provides comprehensive data including UBOs
Key Takeaway: All non-profits are in RNA, but only those with economic activities may also appear in RNE. Always use the RNA number (W-prefixed) as the API identifier.

Data Source Priority & Routing

For a given entity, data comes from a single primary source — the system does not merge attributes from multiple registries (all-or-nothing model). The only exception is employee count, which is always sourced separately from SIRENE.
Source Priority for Commercial Companies & Sole Entrepreneurs (SIREN lookup):
  1. RNE (INPI) — Query to the INPI registry (with automatic fallback if the live API is temporarily unavailable)
  2. SIRENE-only — For entities in INSEE but not in RNE (limited dataset: name, legal form, activity, status, employee count)
  3. RNA tables — Waldec, Import, and Alsace-Moselle (first match wins)
  4. BODACC — Last resort, for entities with legal announcements but no registry data (data extracted from announcement text)
Source Priority for Non-profits (RNA lookup):
  1. Check if the RNA number has a SIREN in SIRENE. If yes, check if that SIREN exists in RNE. If yes, use RNE data
  2. RNA Waldec — Non-profits created or modified since 2009
  3. RNA Import — Historical non-profits (no changes declared since 2009)
  4. RNA Alsace-Moselle — Local law non-profits (departments 57, 67, 68)
Important: The system enforces that non-profits with RNA numbers in RNE must be queried by their RNA number, not by SIREN. Queries using SIREN for RNA-registered non-profits will return null.

Attribute-Level Source Mapping

When data comes from the RNE (the vast majority of commercial companies and sole entrepreneurs), the following table shows the source for each attribute:
AttributeSourceNotes
Company name, legal form, statusRNEFrom formality data
Registered addressRNEFrom adresseEntreprise
Share capitalRNEAmount, currency, variable/fixed
Activity codes (APE/NAF)RNESupplemented by SIRENE for some entities
Business purpose descriptionRNEFrom objet field
Legal representativesRNEFrom formality pouvoirs data
ShareholdersRNEFrom beneficiaires effectifs + pouvoirs
UBOsRNEFrom beneficiaires effectifs with ownership modalities
EstablishmentsRNEMain + secondary
Employee count rangeSIRENE (INSEE)Always from SIRENE, even when RNE is primary — expressed in tranches, can be 2-3 years old
When the primary source is SIRENE-only or BODACC, the available attributes are significantly more limited (see Data Availability Matrix below).

UBO Data Handling

Live UBO Fetching: When UBO data is not yet available for a company, the system automatically fetches it live from the INPI registry. This ensures UBO data is always current, even for newly registered companies.
Data Lineage (Upcoming): We are planning to add explicit source traceability to our data model, so that each attribute group in the API response will carry metadata indicating the source registry name and retrieval timestamp.

Company Identifiers

Query Identifiers

Company TypeSourceFormatExampleNotes
Commercial companies & sole entrepreneursRNE9 digits (SIREN)932884117Standard business identifier
Non-profitsRNAW + 9 digitsW073000441Always use RNA, even if SIREN exists
Alsace-Moselle non-profitsRNA AMA + year(4) + court(3) + seq(6)A2002THI000075Special local law format
Alsace-Moselle Format Breakdown: A2002THI000075 = A (prefix) + 2002 (year) + THI (court code: THI=Thionville, MET=Metz, SAG=Sarreguemines) + 000075 (sequence)
Critical: RNA vs SIREN for Non-profitsNon-profits may have both an RNA number (W prefix) and a SIREN number. Always use the RNA number (W-prefixed) as the API ID for the most accurate and complete data retrieval. The system enforces this: querying by SIREN when an RNA number exists will return null.

Identifiers in API Response

Once you retrieve company data, the identifiers object contains all available identifiers for that entity:
Identifier TypeFormatExampleFound In
SIREN9 digits932884117Commercial companies, sole entrepreneurs, some non-profits
VATFR + 11 digitsFR03932884117Commercial companies, sole entrepreneurs
RNAW + 9 digitsW073000441Non-profits
rnaAlsaceMoselleA + year + court + seqA2002THI000075Alsace-Moselle non-profits

Search Capabilities

Search TypePatternExampleMatch TypeExpected Results
By SIREN9 digits932884117ExactSingle company (1 result)
By SIRET14 digits93288411700011ExactSingle company (converted to SIREN)
By RNAW + 9 digitsW073000441ExactSingle non-profit (1 result)
By Alsace-Moselle IDA + year + code + seqA2002THI000075ExactSingle non-profit (1 result)
By VAT NumberFR + 11 digitsFR03932884117ExactSingle company (1 result)
By NameText string"TOPOGRAPH"FuzzyMultiple results across all sources

Search Source Priority

Search queries are dispatched across five sources in priority order:
  1. Index lookup by ID — Pre-built search index for identifier-based searches (SIREN, SIRET, VAT, RNA, Alsace-Moselle)
  2. RNE by ID — Live INPI API lookup for identifier-based searches
  3. Index search by Name — Pre-built search index for name-based fuzzy searches
  4. RNE by Name — Live INPI API for name-based searches
  5. BODACC by ID — Last resort, SIREN/SIRET only
Search Performance: Use identifier-based searches (SIREN, RNA, VAT) for best performance and exact matching. Name searches may return multiple results from different registers (RNE, RNA Waldec, RNA Import, Alsace-Moselle).
Search uses both pre-built indexes and live lookups. Name searches query a pre-built index for fast results. Identifier searches (SIREN, RNA, VAT) also perform live registry lookups to ensure the most up-to-date data.

Quirks & Gotchas

QuirkDetails
All-or-nothing data modelData comes from a single source per entity — no cross-registry merging. Exception: employee count always from SIRENE.
RNA number required for non-profitsEven if a non-profit has a SIREN, you must query by RNA number (W-prefix). Querying by SIREN returns null.
Non-diffusible sole entrepreneurs~30% of EIs are marked non-diffusible by INSEE. Only minimal data returned (identifiers + VAT). No workaround.
SIRENE employee data lagEmployee count ranges (tranches) from SIRENE can be 2-3 years old per INSEE methodology.
BODACC = AI-extracted textWhen BODACC is the source (rare last resort), company data and legal reps are extracted from announcement text by AI. Quality is lower.
K-Bis only for active companiesCertified trade register extract (certifiedTradeRegisterExtract) is unavailable for closed/dissolved companies. Use INPI extract instead.
Alsace-Moselle is separateDepartments 57/67/68 non-profits use local law (German heritage). Different identifier format, different activity codes, different registry.
ISIC sometimes AI-inferredNAFREV2-to-NACE mapping is deterministic. NACE-to-ISIC uses formal tables when possible, but falls back to AI. Check isAIInferred flag.
RNE replaced 3 registries in 2023Since Jan 1 2023, RNE unified RNCS + Repertoire des Metiers + Registre des Actifs Agricoles. Some legacy data may still reference old registries.
JOAF docs are paidNon-profit documents from Journal Officiel cost EUR 0.40 each. Not all non-profits publish to JOAF.
SIRET auto-converted to SIRENWhen a 14-digit SIRET is provided, it is automatically converted to the 9-digit SIREN (first 9 digits) for lookup.
SCI shareholders special caseFor SCI (code 6540), all pouvoirs entries are treated as shareholders regardless of ownership percentage data.

Mappings

Company Status

Company status is determined deterministically from RNE and SIRENE data — no AI inference is involved.

RNE (primary source)

Status is derived from historical events, cessation indicators, and dormancy flags:
Local StatusEnglishStandardized StatusNotes
ActifActiveActiveNo closure indicators
En sommeilDormantActiveCompany temporarily inactive (dateMiseEnSommeil set)
FermeClosedClosedHas cessation events, radiation dates, or closure events
Under insolvencyUnder Insolvency ProceedingWhen faillite/redressement/sauvegarde events detected
Closure reasons (when status is Closed or Under Insolvency Proceeding):
French EventStandardized Closure Reason
FailliteBankruptcy
Redressement judiciaire / SauvegardeCourt Order
Dissolution avec liquidationLiquidation
Dissolution volontaire / sur decisionVoluntary Dissolution
Radiation / dissolution administrativeAdministrative Dissolution
Nature cessation code (fallback)Other

SIRENE (fallback source)

CodeLocal StatusStandardized Status
AActifActive
CCesseClosed
SIRENE provides only a binary active/ceased status with no closure reasons or detailed dates. When RNE is the primary source (vast majority of cases), the richer RNE status logic is used.

RNA Waldec / RNA Import

CodeLocal StatusStandardized Status
AActiveActive
DDissouteClosed
SSupprimeeClosed

RNA Alsace-Moselle

CodeLocal StatusStandardized Status
INSCRITEInscriteActive
DISSOUTEDissouteClosed
RADIEERadieeClosed
France uses the INSEE catégorie juridique nomenclature (4-digit codes covering all entity types). Every code is mapped deterministically to a standardized legal form, English translation, and ISO 20275 (ELF) code via a static lookup table — no AI is involved at runtime. The mapping was generated from the full RNE nomenclature (450 codes) using AI enrichment + ISO 20275 embedding lookup, then frozen as a static file.
Legal form mapping is fully deterministic. The local French legal form name (from the INSEE nomenclature) is always preserved verbatim alongside the standardized classification and ISO 20275 code.

Key Business Forms

CodeFrench NameAbbr.Standardized
5710Societe par actions simplifieeSAS / SASUCorporation
5499Societe a responsabilite limiteeSARLLimited Liability Company
5498SARL d’attribution d’immeuble en jouissance a temps partageLimited Liability Company
5599SA a conseil d’administration (sans autre indication)SACorporation
5308Societe en commandite par actionsSCACorporation
5202Societe en nom collectifSNCPartnership
5306Societe en commandite simpleSCSPartnership
5485Societe d’exercice liberal a responsabilite limiteeSELARLLimited Liability Company
5310Societe en libre partenariatSLPPartnership

Sole Entrepreneurs

CodeFrench NameStandardized
1000Entrepreneur individuelSole Proprietorship

Cooperatives

CodeFrench NameAbbr.Standardized
5458Societe cooperative ouvriere de production (SCOP) a responsabilite limiteeSCOPCooperative
5462Societe cooperative d’interet collectif a responsabilite limiteeSCICCooperative
5461Societe cooperative a responsabilite limiteeCooperative
5192Societe cooperative de banque populaireCooperative
5195Association cooperative inscrite (droit local Alsace Moselle)Cooperative
5463Societe cooperative d’activite et d’emploi a responsabilite limiteeCooperative
5465Societe cooperative d’habitants a responsabilite limiteeCooperative

Civil Companies

CodeFrench NameAbbr.Standardized
6540Societe civile immobiliereSCIPartnership
6533Societe civile professionnelleSCPPartnership
6595Societe civile d’exploitation agricoleGAECPartnership

Non-Profits

CodeFrench NameStandardized
9220Association declareeNonprofit Organization
9221Association declaree d’insertion par l’economiqueNonprofit Organization
9222Association intermediaireNonprofit Organization
9223Association declaree, reconnue d’utilite publiqueNonprofit Organization
9300FondationNonprofit Organization
Nature CodeFrench NameISO 20275
DAssociation declareeBEWI
RAssociation reconnue d’utilite publiqueXH8C
UUnion d’associations2N4L
AAssociation d’interet generalBEWI
BAssociation de bienfaisanceBEWI
G / WAssociation cultuellePWKL
IAssociation internationaleBEWI
LAssociation de loi locale (Alsace-Moselle)HF2L
RNA legal form mapping is stable and deterministic — no AI parsers. It is based on the nature field (D, R, U, A, B, G, I, L) and the groupement field (S=Simple, U=Union, F=Federation).

Public Entities

CodeFrench NameStandardized
4110EPIC dote d’un comptable publicGovernment-Owned Entity
4120EPIC non dote d’un comptable publicGovernment-Owned Entity
4130Exploitant publicGovernment-Owned Entity
4140EPIC localGovernment-Owned Entity
4150Regie d’une collectivite locale a caractere industriel ou commercialGovernment-Owned Entity
4160Institution Banque de FranceGovernment-Owned Entity

Foreign Entities

CodeFrench NameStandardized
3110Representation ou agence commerciale d’etat ou organisme public etranger immatriculee au RCSBranch or Representative Office
3120Societe commerciale etrangere immatriculee au RCSBranch or Representative Office
3205Organisation internationaleBranch or Representative Office
3210Etat, collectivite ou etablissement public etrangerBranch or Representative Office
3220Societe etrangere non immatriculee au RCSBranch or Representative Office
3290Personne morale de droit etranger non immatriculee au RCSBranch or Representative Office

Other Private Structures

CodeFrench NameStandardized
2110Indivision entre personnes physiquesOther
2210Societe creee de fait entre personnes physiquesPartnership
2310Societe en participation entre personnes physiquesPartnership
2400FiducieTrust
2700Paroisse hors zone concordataireOther
2800Assujetti unique a la TVAOther

Social Security & Mutual Organizations

CodeFrench NameStandardized
8110Regime general de la Securite SocialeGovernment-Owned Entity
8210MutuelleCooperative
8250Assurance mutuelle agricoleCooperative
The full INSEE nomenclature is available at INSEE. All 450 codes from the RNE nomenclature are statically mapped with English translations, standardized categories, and ISO 20275 (ELF) codes in legal-form-mapping.ts.
Legal representatives are extracted from the RNE composition.pouvoirs data. The classification of a role as legal representative vs. other key person is fully deterministic — a static mapping covers all 71 RNE role codes, each with a standardized role, English translation, and isLegalRepresentative flag based on French corporate law. No AI is involved.

Complete RNE Role Mapping (71 roles)

The classification of each role as legal representative or other key person is deterministic and based on French corporate law. For example, a “Gérant” (code 30) is always a legal representative, while an “Administrateur” (code 65) is always an other key person. For individual entrepreneurs (typePersonne = 'P'), the entrepreneur is always mapped as the sole legal representative with role “Entrepreneur Individuel.”
All 71 codes from the RNE role nomenclature are statically mapped in role.util.ts with standardized roles, English translations, and legal representative classification. No code is missing and no AI is involved.

Shareholders

Shareholders are extracted from the RNE for commercial companies only. Non-profits and BODACC/SIRENE-only entities do not provide shareholder data.

Extraction Logic

Shareholders come from two RNE data sources, combined and deduplicated:
SourceWhen UsedData Extracted
Beneficiaires effectifs (UBO declarations)Always (when available)Only individuals with direct ownership (detentionPartDirecte AND detentionPartTotale > 0)
Pouvoirs (company officers)ComplementaryIndividuals/companies with detentionPartTotale > 0 (or ALL pouvoirs for SCI)
Special case — SCI (Societe Civile Immobiliere, code 6540): All pouvoirs entries are treated as shareholders regardless of whether they have ownership percentage data. This reflects SCI’s structure where all partners are inherently shareholders. Both individual and corporate shareholders are supported.

Ownership Fields

FieldDescriptionSource
sharePercentageOwnership percentagedetentionPartTotale from RNE
typeIndividual or CompanyDetermined from pouvoir/UBO data structure
Shareholder data is only available for companies in the RNE. Entities sourced from SIRENE-only, BODACC, or RNA do not include shareholders. Both individual and corporate shareholders are supported.

Activity Code Mapping

France uses the NAFREV2 (Nomenclature d’Activites Francaise, Revision 2) classification, which extends the European NACE Rev. 2 standard with a trailing letter suffix. The system maps activity codes across three levels:
NAFREV2 (French) -> NACE Rev. 2 (European) -> ISIC Rev. 4 (International)
ClassificationSourceExampleAI Inferred?
NAFREV2RNE / SIRENE (APE code)5829CNo (official)
NACEDerived from NAFREV2 (strip trailing letter)5829No (formal mapping)
ISICDerived from NACE (formal mapping) or AI5820Sometimes
RNARNA Waldec / Import (objet_social codes)011000 (Sports)No (official)
ALSACE_MOSELLERNA Alsace-Moselle (regional classification)SOCIAL-SOLIDARITENo (official)
AI Enrichment: When ISIC codes cannot be derived from NACE via formal mapping tables, the system uses AI to match activity descriptions to ISIC Rev. 4 codes. Every activity item includes an isAIInferred flag to distinguish official vs. AI-derived codes. NAFREV2 and NACE codes are never AI-inferred for France.

Activity Codes by Source

SourceClassifications returnedNotes
RNENAFREV2 + NACE + ISICFrom codeApe in formality data
SIRENENAFREV2 + NACE + ISICFrom activitePrincipaleUniteLegale
RNA WaldecRNA + (NAFREV2 + NACE if SIREN exists) + ISICRNA nomenclature codes + SIRENE APE if available
RNA ImportRNA + ISICRNA nomenclature codes only
RNA Alsace-MoselleALSACE_MOSELLE + ISICRegional classification codes (DOMAINES/THEMES)

Data Availability

Data Availability Matrix

Data TypeCommercial companies (RNE)SIRENE-onlyBODACCRNA WaldecRNA ImportAlsace-Moselle
Company Profile✅ Full⚠️ Limited⚠️ AI-extracted✅ Basic✅ Basic✅ Basic
Legal Representatives✅ Comprehensive⚠️ AI-extracted
Shareholders⚠️ AI-extracted
Ultimate Beneficial Owners✅ (live fetch)
Establishments⚠️ Via SIRENE⚠️ Via SIRENE
Activity Codes✅ NAFREV2/NACE/ISIC✅ NAFREV2/NACE/ISIC✅ RNA + NACE/ISIC✅ RNA + ISIC✅ ALSACE_MOSELLE + ISIC
Employee Count✅ (from SIRENE)⚠️ Via SIRENE⚠️ Via SIRENE
Legend: ✅ Available | ❌ Not Available | ⚠️ Conditionally Available

Employee Count Tranches (SIRENE)

Tranche CodeRange
000 employees
011-2 employees
023-5 employees
036-9 employees
1110-19 employees
1220-49 employees
2150-99 employees
22100-199 employees
31200-249 employees
32250-499 employees
41500-999 employees
421,000-1,999 employees
512,000-4,999 employees
525,000-9,999 employees
5310,000+ employees

Documents by Company Type

Commercial companies & sole entrepreneurs (SIREN)

Document TypeAPI CategoryFormatSKUAvailabilityNotes
K-Bis (Certified Extract)certifiedTradeRegisterExtractPDFFRA_CERTIFIED_REGISTER_EXTRACT✅ Active + in RNE + on InfogreffeOfficial certified trade register extract
INPI Extract (Uncertified)tradeRegisterExtractPDFFRA_REGISTER_EXTRACT✅ Active + in RNENon-certified trade register extract
UBO ExtractultimateBeneficialOwnersCertificatePDFFRA_UBO_FORM✅ Active + in RNEUltimate beneficial owners certificate
Financial Statements (Bilans)financialStatements[]PDFFRA_FINANCIAL_STATEMENTS✅ When filedAnnual accounts filed with RNE (formal mapping)
Company Documents (Actes)articlesOfAssociation[]PDFFRA_STATUS✅ When filedStatutes, decisions, formalities (AI-classified)

Non-profits (RNA Waldec, RNA Import, Alsace-Moselle)

Document TypeAPI CategoryFormatSKUAvailabilityNotes
JOAF Official PublicationsofficialPublications[]PDFFRA_OTHER_DOCUMENTS⚠️ If publishedGazette publications (EUR 0.40/doc)
JOAF Financial StatementsfinancialStatements[]PDFFRA_OTHER_DOCUMENTS⚠️ If publishedAnnual accounts in JOAF (EUR 0.40/doc)
K-Bis Availability: The certified K-Bis extract (certifiedTradeRegisterExtract) requires three conditions: company is active, is in RNE, and is available on Infogreffe (verified via Infogreffe API). Inactive, dissolved, or liquidated companies can only access the uncertified INPI extract (tradeRegisterExtract).
JOAF Documents: The Journal Officiel des Associations et Fondations (JOAF) publishes official documents for non-profits. These documents are conditionally available — not all non-profits publish to JOAF. When available, they appear under officialPublications and financialStatements categories with a price of EUR 0.40 per document. JOAF documents include two sources: JOAFE (gazette publications) and DCA (annual accounts).

Example API Responses

All examples use placeholder data. Query: POST /company with { "id": "<id>", "countryCode": "FR", "dataPoints": ["companyProfile"] }
{
  "company": {
    "id": "123456789",
    "countryCode": "FR",
    "identifiers": { "VAT": "XX123456789" },
    "taxId": { "type": "eu_vat", "value": "XX123456789", "country": "FR", "verification": { "status": "verified", "verifiedName": "SAS EXAMPLE CORP" } },
    "legalName": "Example Corp",
    "registrationDate": "2023-03-15",
    "activityDescription": "Developpement et commercialisation de logiciels professionnels.",
    "status": { "localName": "Actif", "active": true, "statusDetails": { "status": "ACTIVE" } },
    "legalForm": { "localName": "SAS, societe par actions simplifiee", "standardized": "Corporation", "iso20275Code": "6CHY" },
    "capital": { "amount": 10000, "currency": "EUR" },
    "activities": {
      "NAFREV2": [{ "code": "6201Z", "description": "Programmation informatique", "isAIInferred": false }],
      "NACE": [{ "code": "6201", "description": "Programmation informatique", "isAIInferred": false }],
      "ISIC": [{ "code": "6201", "description": "Computer programming activities", "isAIInferred": true }]
    },
    "legalAddress": { "addressLine1": "10 Rue de la Paix", "city": "Paris", "postalCode": "75002", "countryCode": "FR" }
  },
  "legalRepresentatives": [
    { "type": "individual", "role": { "localName": "President de SAS", "standardized": "President" }, "individual": { "name": { "fullName": "Jean DUPONT" }, "birthDate": { "month": 6, "year": 1985 } } },
    { "type": "individual", "role": { "localName": "Directeur General", "standardized": "Chief Executive Officer" }, "individual": { "name": { "fullName": "Marie MARTIN" }, "birthDate": { "month": 9, "year": 1990 } } }
  ],
  "ultimateBeneficialOwners": [
    {
      "entityId": "ubo_001",
      "type": "individual",
      "individual": { "name": { "fullName": "Jean DUPONT", "firstName": "Jean", "lastName": "DUPONT" }, "birthDate": { "month": 6, "year": 1985 }, "nationality": "Francaise" },
      "ownershipPercentage": 75,
      "votingRightsPercentage": 75,
      "ownershipModalities": ["Detention directe du capital"]
    },
    {
      "entityId": "ubo_002",
      "type": "individual",
      "individual": { "name": { "fullName": "Marie MARTIN", "firstName": "Marie", "lastName": "MARTIN" }, "birthDate": { "month": 9, "year": 1990 }, "nationality": "Francaise" },
      "ownershipPercentage": 25,
      "votingRightsPercentage": 25,
      "ownershipModalities": ["Detention directe du capital"]
    }
  ],
  "establishments": [
    { "id": "12345678900011", "name": "Example Corp", "creationDate": "2023-03-15", "active": true, "address": { "addressLine1": "10 Rue de la Paix", "city": "Paris", "postalCode": "75002", "countryCode": "FR" } }
  ]
}
{
  "company": {
    "id": "987654321",
    "countryCode": "FR",
    "identifiers": { "VAT": "YY987654321" },
    "taxId": { "type": "eu_vat", "value": "YY987654321", "country": "FR", "verification": { "status": "unverified" } },
    "legalName": "Ancienne Boutique",
    "registrationDate": "2015-01-10",
    "activityDescription": "Commerce de detail de vetements.",
    "status": { "localName": "Radiation", "active": false, "statusDetails": { "status": "CLOSED" } },
    "legalForm": { "localName": "SARL, Societe a responsabilite limitee", "standardized": "Limited Liability Company", "iso20275Code": "V9QP" },
    "capital": { "amount": 5000, "currency": "EUR" },
    "activities": {
      "NAFREV2": [{ "code": "4771Z", "description": "Commerce de detail d'habillement", "isAIInferred": false }],
      "NACE": [{ "code": "4771", "description": "Commerce de detail d'habillement", "isAIInferred": false }],
      "ISIC": [{ "code": "4771", "description": "Retail sale of clothing", "isAIInferred": true }]
    },
    "legalAddress": { "addressLine1": "25 Rue du Commerce", "city": "Lyon", "postalCode": "69002", "countryCode": "FR" }
  },
  "legalRepresentatives": [
    { "type": "individual", "role": { "localName": "Gerant", "standardized": "Manager" }, "individual": { "name": { "fullName": "Pierre DURAND" }, "birthDate": { "month": 3, "year": 1978 } } }
  ],
  "establishments": [
    { "id": "98765432100015", "name": "Ancienne Boutique", "creationDate": "2015-01-10", "endDate": "2023-06-30", "active": false, "address": { "addressLine1": "25 Rue du Commerce", "city": "Lyon", "postalCode": "69002", "countryCode": "FR" } }
  ]
}
Note: Closed companies have active: false, status Radiation, and endDate on establishments. K-Bis (certified extract) is not available for closed companies.
Sole entrepreneurs (personnes physiques) are often non-diffusible in SIRENE, returning minimal data. Below is a diffusible example.
{
  "company": {
    "id": "111222333",
    "countryCode": "FR",
    "identifiers": { "VAT": "ZZ111222333" },
    "legalName": "Sophie BERNARD",
    "registrationDate": "2020-09-01",
    "activityDescription": "Activites de conseil en gestion.",
    "status": { "localName": "Actif", "active": true },
    "legalForm": { "localName": "Entrepreneur individuel", "standardized": "Sole Proprietorship", "iso20275Code": "SV8C" },
    "activities": {
      "NAFREV2": [{ "code": "7022Z", "description": "Conseil pour les affaires et autres conseils de gestion", "isAIInferred": false }],
      "NACE": [{ "code": "7022", "description": "Conseil pour les affaires et autres conseils de gestion", "isAIInferred": false }],
      "ISIC": [{ "code": "7020", "description": "Management consultancy activities", "isAIInferred": true }]
    },
    "legalAddress": { "addressLine1": "5 Impasse des Lilas", "city": "Nantes", "postalCode": "44000", "countryCode": "FR" }
  },
  "establishments": [
    { "id": "11122233300012", "name": "Sophie BERNARD", "creationDate": "2020-09-01", "active": true }
  ]
}
Note: No legal representatives (the entrepreneur is the company), no shareholders, no UBOs. legalName is the individual’s name.
{
  "company": {
    "id": "W751000001",
    "countryCode": "FR",
    "identifiers": { "rna": "W751000001" },
    "legalName": "ASSOCIATION SPORTIVE DU QUARTIER",
    "registrationDate": "2016-10-20",
    "activityDescription": "Promouvoir la pratique sportive et organiser des evenements.",
    "status": { "localName": "Active", "active": true },
    "legalForm": { "localName": "Association declaree", "iso20275Code": "BEWI" },
    "activities": {
      "RNA": [{ "code": "011000", "description": "SPORTS, ACTIVITES DE PLEIN AIR" }],
      "NACE": [{ "code": "93.12", "description": "Activities of sports clubs", "isAIInferred": true }],
      "ISIC": [{ "code": "9312", "description": "Activities of sports clubs", "isAIInferred": true }]
    },
    "legalAddress": { "addressLine1": "21 Rue des Associations", "city": "Paris", "postalCode": "75007", "countryCode": "FR" }
  }
}
Note: No legal representatives, shareholders, UBOs, or establishments. Activity codes use RNA nomenclature + AI-inferred NACE/ISIC.
{
  "company": {
    "id": "A2002THI000001",
    "countryCode": "FR",
    "identifiers": { "rnaAlsaceMoselle": "A2002THI000001" },
    "legalName": "ENTRAIDE SOLIDAIRE DE THIONVILLE",
    "registrationDate": "2002-11-03",
    "activityDescription": "Soutien aux familles en difficulte et aide alimentaire.",
    "status": { "localName": "Inscrite", "active": true },
    "legalForm": { "localName": "Association de droit local Alsace-Moselle", "iso20275Code": "HF2L" },
    "activities": {
      "ALSACE_MOSELLE": [{ "code": "SOCIAL-SOLIDARITE", "description": "Divers social" }],
      "NACE": [{ "code": "88.99", "description": "Other social work activities without accommodation", "isAIInferred": true }],
      "ISIC": [{ "code": "889", "description": "Other social work activities without accommodation", "isAIInferred": true }]
    },
    "legalAddress": { "addressLine1": "1 Rue de la Gare", "city": "Thionville", "postalCode": "57100", "countryCode": "FR" }
  }
}
Note: Uses ALSACE_MOSELLE classification instead of RNA nomenclature. Status Inscrite (not Active). Court codes: THI (Thionville), MET (Metz), SAG (Sarreguemines).
Query with "dataPoints": ["ultimateBeneficialOwners"]:
{
  "ultimateBeneficialOwners": [
    {
      "entityId": "ubo_001",
      "type": "individual",
      "individual": {
        "name": { "fullName": "Jean DUPONT", "firstName": "Jean", "lastName": "DUPONT" },
        "birthDate": { "month": 6, "year": 1985 },
        "nationality": "Francaise",
        "birthCity": "Paris",
        "birthCountry": "France"
      },
      "ownershipPercentage": 75,
      "votingRightsPercentage": 75,
      "ownershipModalities": ["Detention directe du capital"],
      "registrationDate": "2023-03-15"
    }
  ]
}
Note: UBOs are only available for commercial companies in the RNE. Fetched live from INPI API if not already available. Includes ownership/voting percentages and modalities in French.
Documents are returned when "dataPoints": ["documents"] is requested.Commercial companies & sole entrepreneurs (SIREN):
API CategoryDocumentNotes
certifiedTradeRegisterExtractK-Bis PDFActive + in RNE + on Infogreffe
tradeRegisterExtractINPI extract PDFActive + in RNE
ultimateBeneficialOwnersCertificateUBO declaration PDFActive + in RNE
financialStatements[]Annual accounts (bilans)When filed (formal mapping)
articlesOfAssociation[]Statutes, decisions (actes)AI-classified
Non-profits (RNA):
API CategoryDocumentNotes
officialPublications[]JOAF gazette publicationsIf published, EUR 0.40/doc
financialStatements[]JOAF annual accountsIf published, EUR 0.40/doc