nvNeuralVerge
Corporate registry

France Company Search (RNE / INPI) API and MCP — Find Companies by Name

Send a name and get back matching French companies: SIREN, name, status, address, activity with its NAF code, the officers as listed and a link to the record. Set max_items to control how many come back.

You send
a company name
You get back
matching French companies with SIREN, status, address, activity, NAF code and officers
Coverage
France — entities on RNE / INPI.
Price
1 point per returned record — $1 per 1,000
Billed per record actually returned, capped by max_items. A request that returns nothing costs nothing.
Comparison

Ways to get this data

Three approaches teams use today, and where each one runs into trouble.

ApproachWhat it takesCostTrade-off
RNE / INPI directlyType the name into RNE / INPI and read the resultsUsually free, sometimes per-documentA different interface, language and data shape for every country you add
Collecting it yourselfBuild and host a crawler per register, then keep each one aliveInfrastructure and maintenanceRegisters change their pages without warning, and nobody is on the hook when yours breaks
NeuralVergeOne request, the same shape as every other source in the catalog$1 per 1,000, misses not billedCovers France — other countries are separate sources with the same request format
Response

What you get back

Every field in the example response below.

FieldTypeDescription
session_idstringId of this run, for tracing.
kindstringSource type of the response.
keywordstringThe search text you sent.
max_itemsnumberThe cap you set on returned records.
start_pagenumberResults page the search started from.
partialbooleanWhether the result set is incomplete.
humanstringReadable summary with the number of results and matches found.
total_pointsnumberPoints charged: one per returned record.
machine.total_itemsnumberRecords returned in this batch.
machine.first_itemobjectThe first returned record, same shape as one entry of items.
machine.items[]arrayThe returned records.
machine.total_foundnumberMatches the register reports for the search; null when it does not report one.
machine.page_countnumberResult pages read.
machine.blockedbooleanWhether the register refused the request.
machine.proxy_traffic_bytesnumberSize of the data transferred for the run, in bytes.
machine.items[].registration_numberstringSIREN registration number.
machine.items[].namestringCompany name.
machine.items[].statusstringActivity status, e.g. En activité (active).
machine.items[].addressstringHead-office address.
machine.items[].urlstringLink to the company page on the register.
machine.items[].company_typenullNull in the sample; use the company lookup for legal form.
machine.items[].incorporation_datenullNull in the sample; use the company lookup for registration date.
machine.items[].activitystringMain activity description.
machine.items[].naf_codestringNAF activity code.
machine.items[].officersstringOfficers as a single text list, with a count of others when long.
machine.items[].badges[]arrayBadges shown on the listing; empty in the sample.
Response

Example response

A real response, as returned.

{
  "session_id": "11111111-1111-1111-1111-111111111111",
  "kind": "fr_companies_search",
  "keyword": "danone",
  "max_items": 2,
  "start_page": 1,
  "partial": false,
  "human": "# France — Annuaire des Entreprises (RNE/Sirene) — company search\n\n- **Keyword:** danone\n- **Results:** 2 of 447 found\n- **Proxy traffic:** 170.3 KB",
  "machine": {
    "total_items": 2,
    "first_item": {
      "registration_number": "552032534",
      "name": "DANONE",
      "status": "En activité",
      "address": "59-61 RUE LA FAYETTE 75009 PARIS",
      "url": "https://annuaire-entreprises.data.gouv.fr/entreprise/danone-552032534",
      "company_type": null,
      "incorporation_date": null,
      "activity": "Activités des sièges sociaux",
      "naf_code": "70.10Z",
      "officers": "Antoine BERNARD DE SAINT AFFRIQUE, Frederic BOUTEBBA, Valerie CHAPOULAUD-FLOQUET, Gilbert GHOSTINE, Lise KINGO, et 8 autres",
      "badges": []
    },
    "items": [
      {
        "registration_number": "552032534",
        "name": "DANONE",
        "status": "En activité",
        "address": "59-61 RUE LA FAYETTE 75009 PARIS",
        "url": "https://annuaire-entreprises.data.gouv.fr/entreprise/danone-552032534",
        "company_type": null,
        "incorporation_date": null,
        "activity": "Activités des sièges sociaux",
        "naf_code": "70.10Z",
        "officers": "Antoine BERNARD DE SAINT AFFRIQUE, Frederic BOUTEBBA, Valerie CHAPOULAUD-FLOQUET, Gilbert GHOSTINE, Lise KINGO, et 8 autres",
        "badges": []
      },
      {
        "registration_number": "672039971",
        "name": "DANONE PRODUITS FRAIS FRANCE (D.P.F.F.)",
        "status": "En activité",
        "address": "17 RUE DES DEUX GARES 92500 RUEIL MALMAISON",
        "url": "https://annuaire-entreprises.data.gouv.fr/entreprise/danone-produits-frais-france-d-p-f-f-672039971",
        "company_type": null,
        "incorporation_date": null,
        "activity": "Fabrication de lait liquide et de produits frais",
        "naf_code": "10.51A",
        "officers": "Olivier PECHEREAU, Pablo PERVERSI, Jeremy WOOD, ERNST & YOUNG AUDIT",
        "badges": []
      }
    ],
    "total_found": 447,
    "page_count": 1,
    "blocked": false,
    "proxy_traffic_bytes": 174403
  },
  "total_points": 2
}
Integration

How to run it

The same lookup works from the app, the API, or as a tool an agent can call mid-task.

Results come back in the same envelope as every other source: a session id, a readable summary, the structured result and the points charged.

curl -X POST https://api.neuralverge.ai/functions/v1/run-fr-companies-search \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"keyword":"danone","max_items":2}'
Use cases

What teams use it for

Where this field shows up in an actual workflow.

Resolve a name to a SIREN

Turn a trading name into the registration number needed for a profile lookup.

Find group entities

Search a group name and see the subsidiaries that carry it, with activity codes.

Prospect lists by name

Collect French companies matching a keyword, with address and activity.

Screening

Check names against the register and flag any that are not En activité.

Coverage & limits

Coverage, freshness and limits

What this source covers, how fresh it is, and where it stops.

Coverage

France — entities on RNE / INPI.

Freshness

Read at request time, so the answer reflects the register as it stands when you ask.

Handling

RNE / INPI is a public register. Every response carries the source URL it was read from and a session id you can trace.

What it will not do
  • —Legal form and registration date are null in search results; use INPI company for them.
  • —Officers come as one text string, not a structured list.
  • —Matching is on name, so generic keywords return unrelated companies.
FAQ

Questions, answered

machine.total_found reports the register's count (447 for danone in the sample). You receive up to max_items of them.

Related

Related sources

Try france company search on your own data

One request format across every source in the catalog.

Get started