France Company Search (SIRENE) – SIREN, SIRET & NAF Data avatar

France Company Search (SIRENE) – SIREN, SIRET & NAF Data

Pricing

$3.00 / 1,000 companies

Go to Apify Store
France Company Search (SIRENE) – SIREN, SIRET & NAF Data

France Company Search (SIRENE) – SIREN, SIRET & NAF Data

Search French companies by name, SIREN/SIRET, NAF code, department or postcode. Get legal form, status, creation date, head office and optional directors as JSON/CSV. No API key needed. Data: Annuaire des Entreprises (DINUM), Licence Ouverte 2.0. Not affiliated with the French government.

Pricing

$3.00 / 1,000 companies

Rating

0.0

(0)

Developer

alex link

alex link

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

5 days ago

Last modified

Share

Search French companies by name, SIREN/SIRET, NAF code, department or postcode. Get legal form, status, creation date, head office, VAT number and optional directors as clean JSON/CSV. Track new companies with onlyNew. No API key needed.

Data comes from the public API Recherche d'entreprises (the API behind Annuaire des Entreprises, run by DINUM), reused under Licence Ouverte 2.0. Every record includes the date the source last updated it (sourceUpdatedAt).

Pricing

Pay per event: $0.003 per company written to the dataset ($3 per 1,000). Invalid numbers, not-found numbers, duplicates, and companies removed by filters or by onlyNew are not charged.

Input examples

Number lookup:

{"sirenOrSiret": ["552032534", "13002526500013"]}

New software companies in Lozère created in 2025:

{"nafCodes": ["62.01Z"], "departments": ["48"], "incorporatedFrom": "2025-01-01", "incorporatedTo": "2025-12-31", "maxItems": 100}

At least one of sirenOrSiret, companyNames, nafCodes, departments, postalCodes is required.

Example output (one record, shortened)

{
"siren": "552032534",
"name": "DANONE",
"status": "active",
"creationDate": "1955-01-01",
"nafCode": "70.10Z",
"legalFormCode": "5599",
"companyCategory": "GE",
"headOffice": {"siret": "55203253400703", "address": "59-61 RUE LA FAYETTE 75009 PARIS", "postalCode": "75009", "city": "PARIS", "department": "75"},
"vatNumber": "FR27552032534",
"dirigeants": null,
"sourceUpdatedAt": "2026-10-14T08:01:59",
"annuaireUrl": "https://annuaire-entreprises.data.gouv.fr/entreprise/552032534",
"licence": "Source: API Recherche d'entreprises (DINUM, recherche-entreprises.api.gouv.fr), data from INSEE Sirene and other French public registers. Licence Ouverte / Open Licence 2.0 (https://www.etalab.gouv.fr/licence-ouverte-open-licence/). Last update of each record: see sourceUpdatedAt."
}

Behaviour

  • Number lookups return the requested company and ignore status and date filters.
  • Name search keeps only companies whose name contains the keyword (case- and accent-insensitive). The API also matches addresses and directors; those hits are dropped.
  • Creation date filters and onlyNew are applied by the Actor, not by the API (the API has no date filter). Each query can scan at most 10,000 results; when a query hits that cap the run log and RUN-STATS warn that results may be incomplete. Narrow the query with NAF codes, departments or postcodes. Departments × NAF × postcodes are searched as separate slices.
  • Departments and postcodes match any establishment, not only the head office; matchedEstablishmentSirets shows which ones matched.
  • Rate limit: the Actor sends at most 5 requests per second, backs off on HTTP 429 (honouring Retry-After) and on server errors. On shared cloud networks the API may throttle harder; runs then end with partial results and a status message.
  • Time budget: the Actor stops starting requests shortly before the run timeout so that data and RUN-STATS are always saved. The run still succeeds, and RUN-STATS.stoppedReason is time_budget. To get more results, narrow the query or raise the run timeout.

Output

One record per legal unit (siren, name, legalName, acronym, status, creationDate, closureDate, nafCode, nafCode2025, nafSection, legalFormCode, companyCategory, employeeRange, establishmentsCount, openEstablishmentsCount, headOffice{…}, matchedEstablishmentSirets, vatNumber, isIndividualEntrepreneur, diffusionStatus, dirigeants, sourceUpdatedAt, sourceUpdatedAtInsee, sourceUpdatedAtRne, annuaireUrl, source, licence, fetchedAt). Missing values are null. Request and filter counters are in the key-value store record RUN-STATS; invalid/not-found inputs in ERRORS.

Data limitations

This is not the complete Sirene database: non-diffusible units and units that refused RCS registration are absent, and establishment predecessor/successor links are not included.

Personal data (GDPR)

Directors are off by default. When enabled, only name, role, birth year/month and nationality are output, never addresses or full birth dates. Sole traders' company names are personal names. Units with diffusionStatus = "P" (partial diffusion) are output as the API provides them and must not be used for marketing or prospecting. You are the data controller and need your own lawful basis; B2B marketing must follow GDPR and CNIL rules. This is not legal advice.

Data source and licence

Data source: API Recherche d'entreprises (DINUM) — INSEE Sirene and other French public registers, reused under Licence Ouverte / Open Licence 2.0. Each record carries its last update date (sourceUpdatedAt). This Actor is independent: it is not affiliated with or endorsed by INSEE, DINUM or the French government, and is not a government service.

« Source : API Recherche d'entreprises (DINUM) — base Sirene de l'Insee et autres registres publics, réutilisées sous Licence Ouverte 2.0. Service indépendant, sans lien avec l'Insee ni la DINUM. »