BYTETOOLS

Recherche d'entreprises (France) API

Free French government company search API with no key: find any French company by name, SIREN or SIRET, with head office address, NAF code, headcount band and coordinates.

No API key requiredCORS enabledHTTPSFree tier

Endpoint tested and returned HTTP 200 on 2026-08-21

What is the Recherche d'entreprises (France) API?

The French government's Recherche d'entreprises API is a free company search service with no key. It searches the Sirene register by name, SIREN or SIRET and returns the head office details, activity code and establishment counts.

France's Sirene register normally requires an INSEE account to query directly. This API sits in front of it as part of the api.gouv.fr programme, adds full-text search, and drops the authentication requirement entirely — which makes it the practical way to look up a French company from an application without an onboarding process.

Two identifiers matter and they are not interchangeable. The SIREN is nine digits and identifies the legal entity; the SIRET is fourteen — the SIREN plus a five-digit establishment code — and identifies one physical site. An invoice needs the SIREN of the entity but a delivery address maps to a SIRET. The `siege` object in each result describes the head office establishment specifically, and `nombre_etablissements` versus `nombre_etablissements_ouverts` tells you how many sites exist in total against how many are still open.

Quick facts

Base URL
https://recherche-entreprises.api.gouv.fr
Authentication
No key or registration. Published under the api.gouv.fr open API programme.
Rate limit
Documented as 7 requests per second per IP.
Pricing
Free.
CORS
Enabled — callable directly from browser JavaScript
Official docs
Read the docs

How to use the Recherche d'entreprises (France) API

Every request below was executed against the live API on 2026-08-21, and the response shown is the real body it returned — not an illustration.

1. Search the French company register for TotalEnergies

GET https://recherche-entreprises.api.gouv.fr/search?q=totalenergies&per_page=1

curl
curl 'https://recherche-entreprises.api.gouv.fr/search?q=totalenergies&per_page=1'
JavaScript (fetch)
const res = await fetch("https://recherche-entreprises.api.gouv.fr/search?q=totalenergies&per_page=1");
if (!res.ok) throw new Error(`Request failed: ${res.status}`);
const data = await res.json();
console.log(data);
Python (requests)
import requests

res = requests.get("https://recherche-entreprises.api.gouv.fr/search?q=totalenergies&per_page=1", timeout=20)
res.raise_for_status()
print(res.json())
Response — HTTP 200 (truncated)
{
  "results": [
    {
      "siren": "531680445",
      "nom_complet": "TOTALENERGIES MARKETING FRANCE",
      "nom_raison_sociale": "TOTALENERGIES MARKETING FRANCE",
      "sigle": null,
      "nombre_etablissements": 322,
      "nombre_etablissements_ouverts": 286,
      "siege": {
        "activite_principale": "46.71Z",
        "activite_principale_naf25": "46.81Y",
        "activite_principale_registre_metier": null,
        "annee_tranche_effectif_salarie": "2023",
        "adresse": "562 AVENUE DU PARC DE L'ILE 92000 NANTERRE",
        "caractere_employeur": "N",
        "cedex": null,
        "code_pays_etranger": null,
        "code_postal": "92000",
        "commune": "92050",
        "complement_adresse": null,
        "coordonnees": "48.892370474,2.1791583752",
        "date_creation": "2014-06-13",
        "date_debut_activite": "2021-09-07",
        "date_fermeture": null,
        "date_mise_a_jour": null,
        "date_mise_a_jour_insee": "2025-12-05T23:02:07",
        "departement": "92",
        "distribution_speciale": null,
        "epci": "200054781",
        "est_siege": true,
        "etat_administratif": "A",
        "geo_adresse": null,
        "geo_id": null,
        "indice_repetition": null,
        "latitude": "48.892370474",
        "libelle_cedex": null,
        "libelle_commune": "NANTERRE",
        "libelle_commune_etranger": null,
        "libelle_pays_etranger": null,
        "libelle_voie": "DU PARC DE L'ILE",
        "liste_enseignes": null,
        "liste_finess": null,
        "liste_id_bio": null,
        "liste_idcc": [
          "13

Parameters

ParameterTypeRequiredDescription
qqueryRequiredFree-text query — company name, SIREN, SIRET or a director's name. totalenergies
per_pagequeryOptionalResults per page, up to 25. 1
pagequeryOptionalPage number. 1
code_postalqueryOptionalRestrict results to a postcode. 92000
activite_principalequeryOptionalFilter by NAF activity code. 46.71Z
etat_administratifqueryOptional`A` for active companies, `C` for ceased. A

Response fields

results[].sirenstring
Nine-digit identifier of the legal entity.
results[].nom_completstring
Display name, which for a sole trader is the person's name.
results[].nom_raison_socialestring
Registered corporate name.
results[].nombre_etablissementsinteger
Total establishments ever registered under this SIREN.
results[].nombre_etablissements_ouvertsinteger
How many of those are currently open.
results[].siegeobject
The head office establishment, including its own SIRET.
results[].siege.adressestring
Head office address as a single formatted line.
results[].siege.activite_principalestring
NAF code describing the main activity.
results[].siege.coordonneesstring
Latitude and longitude as a comma-separated string, not a numeric pair.
results[].siege.date_creationstring
When the establishment was created.
results[].siege.tranche_effectif_salariestring
Headcount band code rather than an exact number.

What you can build with the Recherche d'entreprises (France) API

  • Autocomplete a French company field from SIREN during signup
  • Validate a SIRET before issuing an invoice
  • Map company head offices using the returned coordinates
  • Filter companies by NAF activity code for market research

Common errors and how to fix them

429

The 7-requests-per-second limit was exceeded.

Fix: Throttle client-side, particularly if you wire this to a keystroke-triggered autocomplete.

Empty results

The query matched nothing.

Fix: Try the SIREN directly rather than a name. French corporate names often differ from trading names.

Coordinates fail to parse

`coordonnees` is a single comma-separated string.

Fix: Split on the comma and parse each half; it is not a JSON array or object.

Recherche d'entreprises (France) API — frequently asked questions

Is the French company search API free?

Yes. It is published under the api.gouv.fr open API programme with no key or registration, rate-limited to about 7 requests per second per IP.

What is the difference between SIREN and SIRET?

SIREN is nine digits and identifies the legal entity. SIRET is fourteen — the SIREN plus a five-digit establishment code — and identifies a specific site. A company has one SIREN and as many SIRETs as it has establishments.

Does this replace the INSEE Sirene API?

For search and lookup, largely yes, and without the account INSEE requires. For bulk extraction or fields this API does not expose, the INSEE service remains the source.

Can I get an exact employee count?

No. The register publishes a headcount band rather than an exact figure, exposed as `tranche_effectif_salarie`. The band codes are documented in the API reference.

Tools that pair with this API

Recherche d'entreprises (France) is an independent third-party service and is not affiliated with ByteTools or ByteVancer. Details on this page were verified on 2026-08-21; always check the official documentation before relying on this API in production, as terms and limits can change.