- SIRENE (INSEE): every legal unit and its establishments, with activity, size and address.
- RNE (Registre national des entreprises, INPI): officers, registry facts and filed annual accounts.
10.71C, bakery).
All requests below send your key in the Authorization header. See authentication.
Search companies
GET /v1/companies finds companies by name and filters.
meta.page.next_cursor as cursor to get the next page, with the same filters. Pagination and total_kind are described in conventions.
Parameters
string
Company name (prefix or contained words), SIREN or SIRET. Exact names come first.
string
Up to 20 activities, comma-separated: NAF sub-classes (
43.29A), divisions (47) or sections (G). See reference data.string
A Gabin sector: a named group of NAF sub-classes, for example
plomberie-chauffage or commerce-alimentaire. The accepted values are listed in the API reference.string
INSEE code of a city, or of a Paris, Lyon or Marseille arrondissement. The INSEE code is the official 5-character city code (
69266 is Villeurbanne), not the postal code.string
IRIS code of a district: 9 characters, starting with the city INSEE code. IRIS are the statistical districts of INSEE. Implies
insee.string
Department code, for example
69, 2A or 974.string
INSEE headcount range code, for example
11 (10 to 19 employees).string
Legal form families, comma-separated:
sas, sarl, sa, sci, scpi, association, public.integer
Minimum latest reported revenue, in euros.
integer
Maximum latest reported revenue, in euros.
boolean
default:"false"
Include ceased companies. By default only active companies are returned.
boolean
default:"false"
With a location filter, match on the registered office only.
string
Companies created on or after this date (
YYYY-MM-DD). Requires insee, iris or department.integer
default:"20"
Results per page, 1 to 100.
string
meta.page.next_cursor of the previous page.How the filters combine
- With a location (
insee,iris,department), a company matches when it has an establishment in the area, open or closed. Setheadquarters_only=trueto match on the registered office only. Results come newest first in a city, and in index order in a department. - With a name (
q), exact names come first. - With neither a name nor a location, you get the largest active companies by latest revenue, and
latest_revenueandlatest_revenue_year_endare filled. A rare activity can take too long here and returnsZONE_REQUIRED: add a location.
latest_revenue is only filled in that last case. For any other company, read GET /v1/companies/{siren}/financials.
The search returns summaries. Call GET /v1/companies/{siren} for a full profile.
Get a company profile
GET /v1/companies/{siren} returns the identity, activity, legal form, size, registered office (address, district, building), registry facts from the RNE, the latest accounts summary and the latest collective insolvency procedure published in the BODACC (the official gazette of commercial announcements).
activeisfalsefor a ceased company. Ceased companies are still returned.sole_proprietorshipistruefor an entrepreneur individuel: the legal unit is a person, andnameis that person’s registered first and last name.partial_diffusionistruefor a company under SIRENE partial diffusion. See personal data.headquarters.building_idis the BDNB building of the registered office, when its address matches one. Open it withGET /v1/buildings/{id}(see buildings).- Labels (
naf_label,legal_form.label,headcount_range.label) are the official French labels. Codes are stable.
List establishments
GET /v1/companies/{siren}/establishments lists the establishments of a company, open and closed: the registered office first, then open ones, newest first. The list is paginated.
building_id is set when the establishment’s address matches a BDNB building at street-number level. location is the geocoded point [lon, lat], or null when only the city is known.
To read one establishment directly, use GET /v1/establishments/{siret}. The response adds company_name:
Officers
Officers of a company
GET /v1/companies/{siren}/officers returns the officers registered at the RNE: people and corporate officers (for example, statutory auditors). Management comes first, then current mandates. The list is not paginated: meta.total is the full count.
type:
person:first_names,last_name(birth name),usage_name(usage name declared at the RNE, when it differs),birth_monthand anidfor the officer profile.company: a corporate officer, withnameand itssirenwhen known.
role is the French label from the register. active is false for a past mandate the register still publishes.
Search officers by name
GET /v1/officers?q= finds people holding a mandate in a French company. q takes a last name, “first last” or “last first”. Exact identities come first. The search is not paginated: limit goes up to 20 (default 8); refine q for more precise results.
birth_month (YYYY-MM), which together tell people apart.
Officer profile
GET /v1/officers/{id} returns a person’s mandates in every company where the same identity (name, first names, birth month) appears, and a bounded relationship graph.
- Each mandate embeds a company summary, the same object as in the company search.
mandates_incompleteistruewhen mandates in other companies could not all be gathered in time.relationsis a graph you can draw directly: level 0 is the officer, level 1 their companies, level 2 the other officers of those companies. Node ids are officer ids or SIRENs.
An officer id is the SIREN of one of the person’s mandates followed by 8 hexadecimal characters. The same person can therefore appear under several ids: above,
552081317213aac93 (found through EDF’s officers) and 398732321213aac93 (found through the search) return the same six mandates. To deduplicate people across results, compare the last 8 characters together with the name and birth_month, or compare the mandates.Annual accounts
GET /v1/companies/{siren}/financials returns the annual accounts filed at the RNE: up to 10 fiscal years, most recent first, with income statement and balance sheet items in euros, and a summary of the latest year.
formatisfull(tax return forms 2050 to 2059) orsimplified(form 2033, fewer items).confidentialistruewhen the income statement was filed as confidential: only balance sheet items are present.- A
nullamount means the item is absent from the filing. - Consolidated accounts, banks and insurers are not included.
fiscal_years can be empty and latest can be null. EDF (552081317), for example, returns an empty fiscal_years and latest: null. latest comes from a separate summary (the RNE accounts synthesis) and is often present when fiscal_years is empty.
Reference data
Three endpoints list the values accepted by the company filters, with their official French labels. They are not paginated.legal_form.
Use them as filters
Look up the codes once, then combine them inGET /v1/companies. This request finds bakery SAS with 50 to 99 employees. Without a name or a location, results are ranked by latest revenue:
Personal data
Gabin exposes what the public registers publish, and nothing more:- Officers are named with their first names, last name, usage name and month and year of birth (
birth_month,YYYY-MM), as published by the RNE. The register gives no day of birth. - Sole proprietorships (entrepreneurs individuels) appear under their registered name, which is the person’s first and last name.
- Companies under SIRENE partial diffusion never show a person’s name, a street address, a position or a building:
nameis a neutral label ("Entrepreneur individuel"), the address is limited to the postal code and city, and the officers list is empty. A person is never linked to such a company. - No contact data is exposed: no email, no phone number, no personal address.
Next steps
Buildings
Find the buildings a company occupies or owns, and the companies in a building.
Advanced search
Combine conditions with AND and OR groups across companies and buildings.