Skip to main content
Company data comes from two public registers:
  • 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.
A company is identified by its SIREN, 9 digits. Each of its establishments (registered office, shops, plants, offices) has a SIRET, 14 digits: the SIREN followed by 5 digits. Activities are coded with the French NAF rev. 2 classification (for example 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.
Pass 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).
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. Set headquarters_only=true to 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_revenue and latest_revenue_year_end are filled. A rare activity can take too long here and returns ZONE_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).
A few fields to know:
  • active is false for a ceased company. Ceased companies are still returned.
  • sole_proprietorship is true for an entrepreneur individuel: the legal unit is a person, and name is that person’s registered first and last name.
  • partial_diffusion is true for a company under SIRENE partial diffusion. See personal data.
  • headquarters.building_id is the BDNB building of the registered office, when its address matches one. Open it with GET /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.
Each entry has a type:
  • person: first_names, last_name (birth name), usage_name (usage name declared at the RNE, when it differs), birth_month and an id for the officer profile.
  • company: a corporate officer, with name and its siren when 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.
Namesakes are common. Each result carries one company where the person holds a mandate and their 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_incomplete is true when mandates in other companies could not all be gathered in time.
  • relations is 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.
  • format is full (tax return forms 2050 to 2059) or simplified (form 2033, fewer items).
  • confidential is true when the income statement was filed as confidential: only balance sheet items are present.
  • A null amount means the item is absent from the filing.
  • Consolidated accounts, banks and insurers are not included.
Many small companies file confidential accounts or none at all, so 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 families and headcount ranges:
Sole proprietorships are not a legal form family: they cannot be selected with legal_form.

Use them as filters

Look up the codes once, then combine them in GET /v1/companies. This request finds bakery SAS with 50 to 99 employees. Without a name or a location, results are ranked by latest revenue:
For conditions the company search does not offer (revenue together with a city, loss-making companies, negative equity, company names starting with a prefix), use the advanced search with target: "companies".

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: name is 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.
See data sources for the full rules.

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.