France Company Registry (RNE / INPI) API and MCP — Company Profile by SIREN
Send a French registration number and get the company as structured JSON: name, status, legal form, registration date, address, activity with its NAF code, VAT number, share capital, employee band and company category, plus the head office and a list of establishments.
- You send
- a French registration number (SIREN), or the link to the company page
- You get back
- legal form, status, address, share capital, NAF activity code, head office, establishments and the registration extract link
- Coverage
- France — entities on RNE / INPI.
- Price
- 30 pts — $30 per 1,000
- Charged only when the record resolves. A lookup that finds nothing is not billed.
Ways to get this data
Three approaches teams use today, and where each one runs into trouble.
| Approach | What it takes | Cost | Trade-off |
|---|---|---|---|
| RNE / INPI directly | Open RNE / INPI and read the record | Usually free, sometimes per-document | A different interface, language and data shape for every country you add |
| Collecting it yourself | Build and host a crawler per register, then keep each one alive | Infrastructure and maintenance | Registers change their pages without warning, and nobody is on the hook when yours breaks |
| NeuralVerge | One request, the same shape as every other source in the catalog | $30 per 1,000, misses not billed | Covers France — other countries are separate sources with the same request format |
What you get back
Every field in the example response below.
| Field | Type | Description |
|---|---|---|
session_id | string | Id of this run, for tracing. |
kind | string | Source type of the response. |
company | string | The identifier you sent. |
company_id | string | The identifier as the register uses it. |
human | string | Readable summary of the record. |
total_points | number | Points charged for the run. |
machine.company.registration_number | string | SIREN registration number. |
machine.company.name | string | Company name. |
machine.company.status | string | Activity status, e.g. En activité (active). |
machine.company.address | string | Registered head-office address. |
machine.company.url | string | Link to the company page on the register. |
machine.company.company_type | string | Legal form. |
machine.company.incorporation_date | string | Registration date (YYYY-MM-DD). |
machine.company.activity | string | Main activity description. |
machine.company.naf_code | string | NAF activity code. |
machine.company.naf_2025_code | string | Activity code under the 2025 NAF revision. |
machine.company.naf_2025_activity | string | Activity description under the 2025 revision. |
machine.company.siret_siege | string | SIRET of the head office. |
machine.company.vat_number | string | VAT number. |
machine.company.closure_date | null | Empty in the sample because the company is active. |
machine.company.deregistration_date | null | Empty in the sample because the company is active. |
machine.company.rne_registration_date | string | Date of registration in the RNE. |
machine.company.share_capital | string | Share capital as displayed, with its type. |
machine.company.share_capital_amount | number | Share capital as a number. |
machine.company.share_capital_type | string | Whether capital is fixed or variable. |
machine.company.employees | string | Employee size band and its year. |
machine.company.company_category | string | Size category and its year. |
machine.company.fiscal_year_end | string | Fiscal year end (DD/MM). |
machine.company.company_nature | string | Nature of the company, e.g. Commerciale. |
machine.company.legal_existence_end_date | string | Date the legal existence is set to end. |
machine.company.insee_status | string | Status in the INSEE Sirene register. |
machine.company.insee_registration_date | string | Registration date in INSEE. |
machine.company.insee_updated_date | string | Last INSEE update date. |
machine.company.rne_status | string | Status in the RNE. |
machine.company.rne_updated_date | string | Last RNE update date. |
machine.company.requested_id | string | The identifier you sent. |
machine.company.eori_number | null | Empty in the sample. |
machine.company.activity_start_date | null | Empty in the sample. |
machine.company.establishments_total | number | Number of establishments. |
machine.company.establishments_active | number | Number of active establishments. |
machine.company.head_office | object | Head office: siret, nic, address, activity, NAF codes, creation_date, collective_agreement and last_insee_update. |
machine.company.establishments[] | array | Establishments: siret, activity, naf_code, address, notes, is_head_office, creation_date, status, active and closure_date. |
machine.company.directors[] | array | Empty in the sample. |
machine.company.dpo | null | Empty in the sample. |
machine.company.financials | null | Empty in the sample. |
machine.company.bodacc_announcements_total | null | Empty in the sample. |
machine.company.collective_proceedings | null | Empty in the sample. |
machine.company.collective_proceedings_text | null | Empty in the sample. |
machine.company.labels_certificates[] | array | Labels and certificates; empty in the sample. |
machine.company.gender_equality_index[] | array | Gender equality index entries; empty in the sample. |
machine.company.collective_agreements[] | array | Collective agreements; empty in the sample. |
machine.company.rne_extract_url | string | Link to the registration extract PDF. |
machine.company.insee_situation_notice_url | string | Link to the INSEE situation notice PDF. |
machine.blocked | boolean | Whether the register refused the request. |
machine.pages_opened | number | Register pages read for the run. |
machine.proxy_traffic_bytes | number | Size of the data transferred for the run, in bytes. |
Example response
A real response, as returned.
{
"session_id": "11111111-1111-1111-1111-111111111111",
"kind": "fr_companies",
"company": "552032534",
"company_id": "552032534",
"human": "# France — Annuaire des Entreprises (RNE/Sirene) — company\n\n- **Number:** 552032534\n- **Pages opened:** 1\n- **Proxy traffic:** 121.4 KB\n- **Name:** DANONE\n- **Status:** En activité\n- **Type:** SA à conseil d'administration (s.a.i.)\n- **Registered:** 1955-01-01\n- **Address:** 59-61 RUE LA FAYETTE 75009 PARIS",
"machine": {
"company": {
"registration_number": "552032534",
"name": "DANONE",
"status": "En activité",
"address": "59-61 RUE LA FAYETTE 75009 PARIS",
"url": "https://annuaire-entreprises.data.gouv.fr/entreprise/552032534",
"company_type": "SA à conseil d'administration (s.a.i.)",
"incorporation_date": "1955-01-01",
"activity": "Activités des sièges sociaux",
"naf_code": "70.10Z",
"siret_siege": "55203253400703",
"vat_number": "FR27 552 032 534",
"closure_date": null,
"deregistration_date": null,
"rne_registration_date": "1955-03-01",
"share_capital": "170 834 294,25 € (fixe)",
"employees": "1 000 à 1 999 salariés, en 2024",
"company_category": "Grande Entreprise (GE), en 2024",
"fiscal_year_end": "31/12",
"requested_id": "552032534",
"eori_number": null,
"naf_2025_code": "70.10Y",
"naf_2025_activity": "Activités des sièges sociaux",
"share_capital_amount": 170834294.25,
"share_capital_type": "fixe",
"company_nature": "Commerciale",
"activity_start_date": null,
"legal_existence_end_date": "2112-04-25",
"insee_status": "Inscrite",
"insee_registration_date": "1955-01-01",
"insee_updated_date": "2026-09-10",
"rne_status": "Immatriculée",
"rne_updated_date": "2026-09-29",
"establishments_total": 19,
"establishments_active": 3,
"head_office": {
"siret": "55203253400703",
"nic": "00703",
"address": "59-61 RUE LA FAYETTE 75009 PARIS",
"activity": "Activités des sièges sociaux",
"naf_code": "70.10Z",
"naf_2025_code": "66.30Y",
"naf_2025_activity": "Activités de gestion de fonds",
"creation_date": "2025-08-19",
"collective_agreement": "IDCC 9999",
"last_insee_update": null
},
"establishments": [
{
"siret": "55203253400703",
"activity": "Activités des sièges sociaux",
"naf_code": "70.10Z",
"address": "59-61 RUE LA FAYETTE 75009 PARIS",
"name": null,
"notes": "siège social",
"is_head_office": true,
"creation_date": "2025-08-19",
"status": "en activité",
"active": true,
"closure_date": null
},
{
"siret": "55203253400679",
"activity": "Activités des sièges sociaux",
"naf_code": "70.10Z",
"address": "17-19 17 RUE DES DEUX GARES 92500 RUEIL MALMAISON",
"name": null,
"notes": null,
"is_head_office": false,
"creation_date": "2020-09-30",
"status": "en activité",
"active": true,
"closure_date": null
}
],
"directors": [],
"dpo": null,
"financials": null,
"bodacc_announcements_total": null,
"collective_proceedings": null,
"collective_proceedings_text": null,
"labels_certificates": [],
"gender_equality_index": [],
"collective_agreements": [],
"rne_extract_url": "https://annuaire-entreprises.data.gouv.fr/justificatif-immatriculation-pdf/552032534",
"insee_situation_notice_url": "https://api-avis-situation-sirene.insee.fr/identification/pdf/55203253400703"
},
"blocked": false,
"pages_opened": 1,
"proxy_traffic_bytes": 124348
},
"total_points": 30
}How to run it
The same lookup works from the app, the API, or as a tool an agent can call mid-task.
One company per request. Pass the registration number or the link to the record on the register.
curl -X POST https://api.neuralverge.ai/functions/v1/run-fr-companies \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"company":"552032534"}'What teams use it for
Where this field shows up in an actual workflow.
Confirm a company is active, see its legal form, capital and head-office address before you onboard it.
List a company's establishments with SIRET numbers, activity codes and active or closed status.
Use the NAF code, with the 2025 revision alongside, to segment French companies by activity.
Fill VAT number, legal form and registration dates from a SIREN you already hold.
Coverage, freshness and limits
What this source covers, how fresh it is, and where it stops.
France — entities on RNE / INPI.
Read at request time, so the answer reflects the register as it stands when you ask.
RNE / INPI is a public register. Every response carries the source URL it was read from and a session id you can trace.
- —Several sections are empty in the sample (directors, financials, collective proceedings), so do not assume they are populated for every company.
- —The establishments list is capped; compare it with establishments_total.
- —Text values such as status and activity are in French as the register publishes them.
Questions, answered
The 9-digit SIREN, such as 552032534, or the link to the company page.
Related sources
Try inpi company on your own data
One request format across every source in the catalog.