Skip to main content

Data Sources

France uses multiple registers depending on the entity type:
  • RNE (Registre National des Entreprises) - INPI’s unified business register for companies and some associations. Includes UBO data.
  • RNA Waldec - National association register for active associations. Enriched with SIRENE data.
  • RNA Import - Alternative association register for entities not in RNA Waldec or RNE.
  • RNA Alsace-Moselle - Regional register for associations under special local law (Alsace-Moselle regions).
The system queries all sources in parallel and returns data from the first available source in priority order (RNE → RNA Waldec → RNA Import → RNA Alsace-Moselle).
Associations in RNE vs SIRENE (RNA)Understanding when associations appear in different registers:RNA (Répertoire National des Associations):
  • All associations are automatically registered in RNA when declared at the prefecture
  • They receive a unique RNA number (W + 9 digits)
  • This is the primary register for all French associations
SIRENE (Système d’Identification du Répertoire des Entreprises):
  • Associations must register in SIRENE if they:
    • Seek public subsidies from the state or local authorities
    • Plan to employ salaried staff
    • Engage in activities subject to VAT or corporate tax
  • Upon registration, they receive a SIREN number (9 digits)
RNE (Registre National des Entreprises):
  • Associations that have registered in SIRENE and conduct business-like activities may appear in RNE
  • RNE is INPI’s unified business register, designed primarily for companies
  • Associations in RNE typically have SIREN numbers and are registered as businesses due to their economic activities
  • RNE provides comprehensive business data including UBO (Ultimate Beneficial Owner) information
Key Takeaway: All associations are in RNA, but only those with economic activities (requiring SIRENE registration) may also appear in RNE. When querying associations, always use the RNA number (W-prefixed) as the API identifier, even if the association has a SIREN number.

Company Identifiers

Query Identifiers

Company TypeSourceFormatExampleNotes
CompaniesRNE9 digits (SIREN)932884117Standard business identifier
AssociationsRNAW + 9 digitsW073000441Always use RNA, even if SIREN exists
Alsace-Moselle AssociationsRNA 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 AssociationsAssociations 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 digits932884117Companies, some associations
VATFR + 11 digitsFR03932884117Companies with VAT registration
RNAW + 9 digitsW073000441Associations
rnaAlsaceMoselleA + year + court + seqA2002THI000075Alsace-Moselle associations

Data Availability Matrix

Data TypeCompanies (RNE)RNA WaldecRNA ImportAlsace-MoselleNotes
Company Profile✅ Async✅ Async✅ Async✅ AsyncFull data for RNE, basic for associations
Legal Representatives⚠️ Limited⚠️ Limited⚠️ LimitedComprehensive for RNE companies only
ShareholdersRNE companies only
Ultimate Beneficial OwnersFetched live from INPI API if needed
Establishments⚠️ Via SIRENE⚠️ Via SIRENESIRENE data when SIREN exists
Activity CodesNACE/ISIC mapping
Legend: ✅ Available | ❌ Not Available | ⚠️ Conditionally Available | Async = Asynchronous processing (2-5 min timeout)

Documents by Company Type

Companies (RNE - SIREN)

Document TypeAPI CategoryFormatSKUAvailabilityNotes
K-Bis (Certified Extract)certifiedTradeRegisterExtractPDFFRA_CERTIFIED_REGISTER_EXTRACT✅ Active companies onlyOfficial certified trade register extract
INPI Extract (Uncertified)tradeRegisterExtractPDFFRA_REGISTER_EXTRACT✅ All companiesNon-certified trade register extract
UBO ExtractultimateBeneficialOwnersCertificatePDFFRA_UBO_FORM✅ All companiesUltimate beneficial owners certificate
Financial Statements (Bilans)financialStatements[]PDFFRA_FINANCIAL_STATEMENTS✅ When filedAnnual accounts filed with RNE
Company Documents (Actes)articlesOfAssociation[]PDFFRA_STATUS✅ When filedStatutes, decisions, formalities (AI-classified)

Associations (RNA Waldec, RNA Import, Alsace-Moselle)

Document TypeAPI CategoryFormatSKUAvailabilityNotes
JOAF Official PublicationsofficialPublications[]PDFFRA_OTHER_DOCUMENTS⚠️ If publishedGazette publications (€0.40/doc)
JOAF Financial StatementsfinancialStatements[]PDFFRA_OTHER_DOCUMENTS⚠️ If publishedAnnual accounts in JOAF (€0.40/doc)
K-Bis Availability: The certified K-Bis extract (certifiedTradeRegisterExtract) is only available for active companies. 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 associations. These documents are conditionally available - not all associations publish to JOAF. When available, they appear under officialPublications and financialStatements categories with a price of €0.40 per document.

Search Capabilities

Search TypePatternExampleMatch TypeExpected Results
By SIREN9 digits932884117ExactSingle company (1 result)
By RNAW + 9 digitsW073000441ExactSingle association (1 result)
By Alsace-Moselle IDA + year + code + seqA2002THI000075ExactSingle association (1 result)
By VAT NumberFR + 11 digitsFR03932884117ExactSingle company (1 result)
By NameText string"TOPOGRAPH"FuzzyMultiple results across all sources
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).

Data Source Priority & Routing

When querying French entities, the system queries all 4 sources in parallel and returns the first available result:
Automatic Source Selection (Priority Order):
  1. RNE (Registre National des Entreprises) - INPI’s unified business register
    • All companies with SIREN
    • Some associations with SIREN (if registered as businesses)
    • Includes UBO data (fetched live from INPI API if not cached)
  2. RNA Waldec - Active associations register
    • Associations not present in RNE
    • Enriched with SIRENE data when SIREN available
    • Exclusion logic: SQL query excludes associations that exist in RNE
  3. RNA Import - Alternative associations register
    • Associations not in RNA Waldec or RNE
    • Legacy/transitional records
  4. RNA Alsace-Moselle - Regional associations register
    • Special local law associations (Alsace-Moselle regions)
    • Separate identifier format (A prefix)
Important: The system enforces that associations with RNA numbers in RNE must be queried by their RNA number, not by SIREN. Queries using SIREN for RNA-registered associations will return null.

UBO Data Handling

Live UBO Fetching: If UBO data doesn’t exist in the local RNE database cache, the system automatically fetches fresh data from the INPI API in real-time (5-minute timeout, 5 retry attempts). This ensures UBO data is always current, even for newly registered companies.

Example API Responses

Company (RNE)

Query: /company?countryCode=FR&id=932884117
{
  "company": {
    "id": "932884117", // ← The ID you used to query
    "countryCode": "FR",
    "legalName": "TOPOGRAPH",
    "identifiers": {
      // ← Additional identifiers in the response
      "SIREN": "932884117",
      "VAT": "FR03932884117"
    },
    "legalForm": {
      "iso20275Code": "54RD",
      "localName": "Société par actions simplifiée"
    },
    "status": {
      "active": true
    }
  }
}

Association (RNA Waldec)

Query: /company?countryCode=FR&id=W073000441
{
  "company": {
    "id": "W073000441", // ← RNA number used as query ID
    "countryCode": "FR",
    "legalName": "ASSOCIATION EXAMPLE",
    "identifiers": {
      "RNA": "W073000441",
      "SIREN": "775684970" // May have SIREN, but query by RNA!
    },
    "legalForm": {
      "localName": "Association déclarée"
    }
  }
}

Alsace-Moselle Association

Query: /company?countryCode=FR&id=A2002THI000075
{
  "company": {
    "id": "A2002THI000075", // ← Alsace-Moselle ID
    "countryCode": "FR",
    "legalName": "ASSOCIATION ALSACE MOSELLE EXAMPLE",
    "identifiers": {
      "rnaAlsaceMoselle": "A2002THI000075"
    },
    "legalForm": {
      "localName": "Association de droit local Alsace-Moselle"
    }
  }
}

Important Implementation Notes

France uses standard ISO 20275 codes for company legal forms (e.g., 54RD for SAS, XJLU for SARL). Associations use descriptive local names:
  • Standard associations: “Association déclarée”
  • Alsace-Moselle associations: “Association de droit local Alsace-Moselle”

Regional Specificity

Alsace-Moselle associations operate under special local law inherited from German legislation (1870-1918). These associations are registered in local tribunals rather than the national RNA register, hence the different identifier format.

Data Freshness & Update Frequency

Data SourceUpdate FrequencyReal-time Capabilities
RNE (Companies)Monthly stock (via INPI FTP)✅ Live UBO fetching from INPI API
RNA WaldecMonthly updates (data.gouv.fr)❌ Batch only
RNA ImportMonthly updates (data.gouv.fr)❌ Batch only
RNA Alsace-MoselleMonthly updates (data.gouv.fr)❌ Batch only
JOAF DocumentsContinuous (as published)✅ Real-time document availability

Processing & Retry Logic

All operations use asynchronous processing with automatic retries:
  • Standard activities: 2-minute timeout, 3 retry attempts
  • INPI API calls: 5-minute timeout, 5 retry attempts (rate limits not retried)
  • Document processing: 1-2 minute timeout, 2-3 retry attempts
  • AI document classification: 5-minute timeout, 2 retry attempts
Recent Identifier System Rework: The identifier system was completely reworked in October 2025 to improve consistency and reliability across all French entity types. If you experience any issues with identifier resolution, please contact support.