French Company Lookup by SIRET, 42M+ businesses via API

2026-04-04 · European Business API

The SIRENE database

France maintains one of the most comprehensive business registries in the world: SIRENE (Système Informatique pour le Répertoire des Entreprises et de leurs Établissements). It contains 42.5 million establishments, every registered business in France, from solo freelancers to multinational corporations.

Every French business has two identifiers:

Lookup by SIRET

The simplest query, give a SIRET, get everything about that establishment:


import httpx

response = httpx.get(
    "https://frenchbusinessapi.com/sirene/siret/35600000000048",
    headers={"X-API-Key": "your_api_key"}
)
data = response.json()
print(data["denomination"])  # "LA POSTE"
print(data["adresse"])       # Full address
print(data["code_naf"])      # "53.10Z" (postal activities)
print(data["effectif"])      # Workforce range

The response includes: legal name, trade name, full address with GPS coordinates, NAF/APE code, workforce range, legal form, creation date, and active/inactive status.

Lookup by SIREN

Search by SIREN to get the company and all its establishments:


response = httpx.get(
    "https://frenchbusinessapi.com/sirene/siren/356000000",
    headers={"X-API-Key": "your_api_key"}
)
data = response.json()
print(f"{data['denomination']}, {data['nombre_etablissements']} establishments")

Search by name

Don't have a SIRET? Search by company name:


response = httpx.get(
    "https://frenchbusinessapi.com/sirene/search",
    params={"q": "Google France", "limit": 5},
    headers={"X-API-Key": "your_api_key"}
)
for company in response.json()["results"]:
    print(f"{company['siret']}, {company['denomination']}, {company['ville']}")

The search is fuzzy, it handles typos, partial names, and common abbreviations. Results are ranked by relevance.

Search by location

Find businesses near a GPS point:


response = httpx.get(
    "https://frenchbusinessapi.com/sirene/geo",
    params={"lat": 48.8566, "lon": 2.3522, "radius": 500, "limit": 10},
    headers={"X-API-Key": "your_api_key"}
)

Returns businesses within 500 meters of the coordinates, sorted by distance. Useful for store locators, local business directories, or market analysis.

Use cases

KYC and onboarding

When a French business signs up for your platform, validate their SIRET:


siret = user_input.strip()
response = httpx.get(
    f"https://frenchbusinessapi.com/sirene/siret/{siret}",
    headers={"X-API-Key": "your_api_key"}
)
if response.status_code == 200:
    data = response.json()
    if data["actif"]:
        # Auto-fill company name, address, legal form
        pass
    else:
        # Warn: this establishment is closed
        pass

Invoice enrichment

Before generating an invoice, look up the buyer's SIRET to auto-fill their company details. This pairs well with VAT validation for complete B2B verification.

Market research

Analyze businesses by NAF code, location, or workforce size:


# Find all bakeries (NAF 10.71C) in Lyon
response = httpx.get(
    "https://frenchbusinessapi.com/sirene/search",
    params={"naf": "10.71C", "commune": "69123", "limit": 100},
    headers={"X-API-Key": "your_api_key"}
)

Fraud detection

Cross-reference a SIRET provided by a customer with the SIRENE database. If the SIRET doesn't exist, is inactive, or belongs to a completely different company, that's a red flag.

Data freshness

The SIRENE data in the API is refreshed monthly from the official INSEE dump (data.gouv.fr). This covers new registrations, closures, address changes, and name changes. The refresh happens automatically on the 2nd of each month.

For real-time needs (same-day registration verification), the API INSEE offers a live endpoint, but for 99% of use cases, the monthly refresh is sufficient.

Common fields in the response

Next steps

Ready to build for Europe?

One API for company lookup, VAT validation, IBAN verification, SEPA payments, and more.

Get your API key