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.
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 'https://recherche-entreprises.api.gouv.fr/search?q=totalenergies&per_page=1'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);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()){
"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": [
"13Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
q | query | Required | Free-text query — company name, SIREN, SIRET or a director's name. totalenergies |
per_page | query | Optional | Results per page, up to 25. 1 |
page | query | Optional | Page number. 1 |
code_postal | query | Optional | Restrict results to a postcode. 92000 |
activite_principale | query | Optional | Filter by NAF activity code. 46.71Z |
etat_administratif | query | Optional | `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
JSON Formatter
Format, beautify and minify JSON online with 2-space, 4-space or tab indentation. Sort keys alphabetically and catch syntax errors instantly — free and private.
Invoice Generator
Create a professional invoice with line items, tax and totals, then export a clean PDF — all in your browser. Free invoice generator, nothing uploaded.
CSV to JSON Converter
Convert CSV to a JSON array of objects online. Header-row detection, comma/semicolon/tab delimiters and pretty-printed output — 100% in your browser.
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.