France company data API: SIREN and SIRET lookup with BODACC events

A customer types a SIREN, a SIRET or the first letters of a name; your onboarding form fills in the legal name, legal form, status and registered address from the French registers, and the same key reads the officers, the BODACC announcements and the insolvency notices behind the record. One response shape, the same as every other country the API covers.

What you get, and what you do not

France is one of the fuller countries in the API: the company record keyed on the SIREN, its officers, the BODACC announcements as a corporate-event stream, corporate insolvency notices, public-procurement awards from the DECP and, in beta, buyer-risk scores for French contracting bodies. It has no monitoring watchlists, no registry-compliance signal and no beneficial owners.

  • Company record: yes, keyed on the SIREN (GET /companies/search, GET /companies/{id}).
  • Officers: yes, the current directors and representatives plus officer changes announced in the BODACC. They come back as appointments on the company record and can be searched by name with GET /people/search?country=FR.
  • Corporate events: yes, the BODACC announcements typed into a fixed list of event types (GET /company-events/search and /company-events/timeline).
  • Insolvency notices: yes. France is one of the nine insolvency markets (FR, DE, GB, AT, CH, NO, FI, US, NL), corporate only (GET /insolvency/search and POST /insolvency/check).
  • Public procurement: yes, awards from the consolidated DECP (GET /procurement/awards?country=FR).
  • Procurement buyer risk: beta, Spain and France. A score about the contracting body, never about a supplier or a tender (GET /procurement/buyers?country=FR).
  • Monitoring: no. The monitor endpoint covers Spain, Ireland and Poland.
  • Registry-compliance signal: no. France publishes no equivalent pre-signal; removals from the register are served as status.
  • Beneficial owners: no.

Searching officers by name and reading corporate events need a Starter plan or above; a free key has 25 trial calls a month on each.

What the French record gives your product

  • Exact match on the SIREN: siren=552032534 with country=FR (company_number is an alias). The match is exact, so check the digits first.
  • The SIRET: siret= takes 14 digits and matches the SIRET the record holds. For any other establishment, pass its first nine digits as the SIREN.
  • Autocomplete by name: a normalised, partial match ranked by a match score. A name search returns one ranked page, so narrow the name to refine.
  • The fields a form needs: legal name, legal form with its full label, status, registered address, postal code, city and département, the NAF activity code, share capital where a BODACC notice printed one, the employee bracket and the founding date.
  • The register's own state: France returns status dissolved for a company that still exists pending liquidation (status_canonical in_dissolution). A company whose owner asked INSEE to restrict publication comes back as non_diffusible with the name [ND]; treat it as unknown, not inactive.
  • A new-company feed: founded_after= with country=FR lists companies by incorporation date, paged with a cursor.

Validate before you call

A SIREN is nine digits and a SIRET is fourteen, and both end in a Luhn check digit (La Poste SIRETs are a documented exception), so a mistyped number can be rejected in your own code before it costs a call. The free identifier validator and a short JavaScript function on the full page do exactly that.

Beyond the record

  • Officers: the company record carries appointments with a canonical role next to the register's own wording, an action, dates and the person. GET /people/search?name=...&country=FR finds officers by name.
  • BODACC events: GET /company-events/timeline?country=FR&company_number=552032534 lists the announcements of one company, each with event_type, the raw BODACC code in act_type, the event date and a notice_url where one exists.
  • Insolvency notices: GET /insolvency/search?country=FR&company_number=552032534 matches the SIREN printed on the notice. POST /insolvency/check screens up to 100 counterparties in one call. Corporate only; an empty result is not proof of solvency.
  • Public procurement: GET /procurement/awards?country=FR&nif=... takes the SIRET the supplier published. One row is one award to one supplier, and awards to natural persons are never returned.
  • Buyer risk, beta: GET /procurement/buyers?country=FR ranks contracting bodies on competition and counterparty scores. A score is a prompt to look, not a finding of wrongdoing.

If you are comparing it with the INSEE API Sirene

SIREN and SIRET are issued by INSEE through the Sirene register. This API keys the French record on the SIREN and adds the BODACC events, the officers, the insolvency notices and the procurement awards behind it, in the same call shape as every other country. The record carries one siret field, not a list of every establishment; if you need every establishment of a company, use the Sirene service itself.

What France does not carry

No monitoring watchlists, no registry-compliance signal, no beneficial owners (the French register of beneficial owners is access-restricted), no financial statements and no credit scores. France is updated daily.

Pricing

France is included in every tier at no upcharge. Free — 14-day trial. 1,000 API calls per month, 10 requests/minute, no credit card. Subscribing keeps the same key working. Then Starter at €9.99/month, Professional at €29.99/month and Scale at €99.99/month, monthly or annual.

FAQ

How do I look up a French company by SIREN from an API? Call GET /companies/search?siren=552032534&country=FR. The match is exact, so validate the Luhn check digit in your own code first; a mistyped SIREN comes back as no match, which looks the same as an unknown company.

Can I look up a company by SIRET? Yes: siret= takes the 14 digits and matches the SIRET the record holds. To resolve any other establishment, pass its first nine digits as the SIREN. The record is keyed on the legal unit and carries one siret field, not a list of every establishment.

Does the API carry BODACC announcements? Yes. They are served as corporate events with a typed event_type, the raw BODACC code in act_type and the event date. Reading events needs a Starter plan or above; a free key has 25 trial calls a month.

Does it list French insolvency proceedings? Yes. France is one of the nine insolvency markets (FR, DE, GB, AT, CH, NO, FI, US, NL), corporate only. GET /insolvency/search matches the SIREN printed on the notice, and POST /insolvency/check screens up to 100 counterparties in one call. An empty result is not proof of solvency.

Can I monitor French companies? Not with the monitor endpoint, which covers Spain, Ireland and Poland. For France you poll: the events timeline for one company, or POST /insolvency/check for a list of counterparties.

How much does the France company data API cost? France is included in every tier at no upcharge. Free is a 14-day trial with 1,000 API calls per month and no credit card; subscribing keeps the same key working. Paid tiers run from EUR 9.99 to EUR 99.99 a month, monthly or annual.

Read the full page · Try the free SIREN lookup · What is the BODACC? · SIREN vs SIRET · Pricing · API docs · Get a free API key

Contains data from BODACC (DILA) and the INPI national company register (RNE), France.

What the French record gives your product

FieldWhat it holds for France
company_number, sirenThe nine-digit SIREN of the legal unit: 552032534.
siret, rcs_number, greffeThe SIRET the record holds, the RCS registration and the registry court, where the register has them.
company_nameThe registered name in capitals; [ND] for a non-diffusible unit.
legal_form, legal_form_fullThe legal-form code and its full label, with legal_form_canonical and legal_form_family for comparing across countries.
statusThe register's status, with status_canonical and stage beside it where the value is recognised.
address, postal_code, city, provinceThe registered seat where the register holds one; province is the département.
activity_codeThe NAF code, with the statutory purpose (objet social) in activity_description.
capital_amount, capital_currencyShare capital where a BODACC notice printed one.
employee_bracket, founding_dateThe employee-size bracket and the start date, where published.

Frequently asked questions

How do I look up a French company by SIREN from an API?
Call GET /companies/search with siren=552032534 and country=FR. The match is exact, so validate the Luhn check digit in your own code first; a mistyped SIREN comes back as no match, which looks the same as an unknown company.
Can I look up a company by SIRET?
Yes. siret= takes the 14 digits and matches the SIRET the record holds. To resolve any other establishment, pass its first nine digits as the SIREN: the record is keyed on the legal unit, and it carries one siret field, not a list of every establishment.
Does the API carry BODACC announcements?
Yes. The BODACC announcements are served as corporate events with a typed event_type, the raw BODACC code in act_type and the event date, through GET /company-events/search and GET /company-events/timeline. Reading events needs a Starter plan or above; a free key has 25 trial calls a month.
Does it list French insolvency proceedings?
Yes. France is one of the nine insolvency markets (FR, DE, GB, AT, CH, NO, FI, US, NL), corporate only. GET /insolvency/search matches the SIREN printed on the notice, and POST /insolvency/check screens up to 100 counterparties in one call. An empty result is not proof of solvency.
Can I monitor French companies?
Not with the monitor endpoint, which covers Spain, Ireland and Poland. For France you poll: the events timeline for one company, or POST /insolvency/check for a list of counterparties.
How much does the France company data API cost?
France is included in every tier at no upcharge. Free is a 14-day trial with 1,000 API calls per month and no credit card; subscribing keeps the same key working. Paid tiers run from EUR 9.99 to EUR 99.99 a month, monthly or annual.