French Companies Search: SIRENE, SIREN, SIRET and NAF Data avatar

French Companies Search: SIRENE, SIREN, SIRET and NAF Data

Pricing

$5.00 / 1,000 companies

Go to Apify Store
French Companies Search: SIRENE, SIREN, SIRET and NAF Data

French Companies Search: SIRENE, SIREN, SIRET and NAF Data

Returns French companies from the official INSEE Sirene register: SIREN, head office SIRET, name, legal form, NAF code and label, creation date, employee range, address and status. Search by name, SIREN, NAF code, department, postal code and size. No API key, open licence.

Pricing

$5.00 / 1,000 companies

Rating

0.0

(0)

Developer

Viktor Wiberg

Viktor Wiberg

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 hours ago

Last modified

Share

French companies from the official INSEE Sirene register, one row per company. Each row has the SIREN number, the SIRET of the head office, the registered name, legal form, main activity (NAF code, also called APE code, with its official label), company category (PME, ETI, GE), creation date, employee size band, number of establishments, head office address with postal code, city, department and coordinates, active or closed status, and a link to the company on the government's Annuaire des Entreprises.

Use it to build lists of French companies by sector and region, to check or enrich a list of SIREN numbers, or to follow new companies in a sector every week.

What is covered

All companies, associations and public bodies that the French state publishes in the API Recherche d'entreprises, the open search API behind annuaire-entreprises.data.gouv.fr. The data comes from the INSEE Sirene register and is updated daily by the API.

  • Search by name or address words, by SIREN or SIRET, by NAF code, department, postal code, employee range and active status.
  • Searches without text return the largest companies first (by number of establishments).
  • The actor never returns people. Sole proprietors (entreprises individuelles) and partnerships between natural persons are left out, and so are records that are not fully public in Sirene. Directors and other persons in the source are never requested.

Example from a real run

The input and the first two rows of a run on the Apify platform on 3 October 2026 (run IhQnEXhzQty1ARKGO, 10 rows in total).

Input:

{
"nafCodes": ["10.71C"],
"departments": ["69"],
"maxResults": 10
}

Output (excerpt):

[
{
"siren": "817759558",
"siret": "81775955800023",
"name": "FULGUROPAIN",
"acronym": null,
"tradeName": null,
"legalForm": "SAS, société par actions simplifiée",
"legalFormCode": "5710",
"nafCode": "10.71C",
"nafLabel": "Boulangerie et boulangerie-pâtisserie",
"naf2025Code": "10.71H",
"companyCategory": "PME",
"creationDate": "2016-02-01",
"closureDate": null,
"employeeRange": "20-49 employees",
"employeeRangeCode": "12",
"employeeRangeYear": "2024",
"establishmentCount": 8,
"openEstablishmentCount": 6,
"address": "51 RUE DELEUVRE 69004 LYON",
"postalCode": "69004",
"city": "LYON",
"department": "69",
"departmentName": "Rhône",
"region": "84",
"latitude": 45.780077309,
"longitude": 4.825272062,
"status": "active",
"lastUpdated": "2026-10-03",
"url": "https://annuaire-entreprises.data.gouv.fr/entreprise/817759558",
"source": "API Recherche d'entreprises (recherche-entreprises.api.gouv.fr), DINUM, with data from the INSEE Sirene register",
"license": "Licence Ouverte / Open Licence 2.0 (Etalab). Source: INSEE Sirene via API Recherche d'entreprises, DINUM."
},
{
"siren": "377490289",
"siret": "37749028900057",
"name": "LAMBERT TRADITION",
"legalForm": "Société à responsabilité limitée (sans autre indication)",
"legalFormCode": "5499",
"nafCode": "10.71C",
"nafLabel": "Boulangerie et boulangerie-pâtisserie",
"companyCategory": "PME",
"creationDate": "1990-03-20",
"employeeRange": "50-99 employees",
"address": "33 RUE AMBROISE PARE 69740 GENAS",
"city": "GENAS",
"department": "69",
"status": "active",
"url": "https://annuaire-entreprises.data.gouv.fr/entreprise/377490289"
}
]

The second row is shortened here; every row has all fields. The other 8 rows were bakery companies in Lyon, Arnas, Genay and Givors with 0 to 99 employees, created between 1991 and 2020. In the same search, 9 companies were skipped because only a branch, not the head office, was in the Rhône (see headOfficeInArea).

Input

FieldTypeDefaultDescription
querystringnoneName, brand or address words, for example "boulangerie lyon" or "Danone".
sirenNumbersarraynoneSIREN (9 digits) or SIRET (14 digits) numbers to look up, up to 1 000 per run. When set, query and the other filters are ignored except activeOnly.
nafCodesarrayallNAF rev. 2 codes, for example 62.01Z (computer programming), 10.71C (bakeries), 56.10A (restaurants), 68.20B (property rental). 6201Z works too.
departmentsarrayallDepartment codes, for example 75, 69, 13, 2A, 971.
postalCodesarrayallFive digit postal codes, for example 69002.
employeeRangearrayallINSEE size bands: NN none, 00 0, 01 1-2, 02 3-5, 03 6-9, 11 10-19, 12 20-49, 21 50-99, 22 100-199, 31 200-249, 32 250-499, 41 500-999, 42 1000-1999, 51 2000-4999, 52 5000-9999, 53 10000+.
activeOnlybooleantrueOnly active companies. Set to false to include closed ones.
headOfficeInAreabooleantrueWith departments or postal codes, only companies whose head office is there. false also returns companies that only have a branch there.
maxResultsinteger50Maximum number of companies per run, 1 to 10 000.
onlyNewbooleanfalseOnly companies that earlier runs with the same input did not deliver. See "Monitoring and scheduling".

A run with empty input returns the 50 largest active companies in France (La Poste, EDF, Elior, Ville de Paris, Société Générale and so on) in about 6 seconds.

Output

FieldDescription
siren9 digit company number (SIREN)
siret14 digit number of the head office establishment (SIRET)
nameRegistered name (dénomination)
acronym, tradeNameAcronym (sigle) and trade name of the head office, when registered
legalForm, legalFormCodeINSEE legal form label in French and its 4 digit code, for example SAS, société par actions simplifiée and 5710
nafCode, nafLabelMain activity as NAF rev. 2 code and the official French label
naf2025CodeThe same activity in the new NAF 2025 classification
companyCategoryPME (small and medium), ETI (intermediate) or GE (large), as computed by INSEE
creationDate, closureDateYYYY-MM-DD
employeeRange, employeeRangeCode, employeeRangeYearEmployee size band, its INSEE code and the year it refers to
establishmentCount, openEstablishmentCountNumber of establishments, all and open
address, postalCode, cityHead office address
department, departmentName, regionDepartment code and name, INSEE region code of the head office
latitude, longitudeHead office coordinates, when INSEE has geocoded it
statusactive or closed
lastUpdatedDate the API last updated the record
urlThe company on annuaire-entreprises.data.gouv.fr
source, licenseAttribution for the data

Monitoring and scheduling

Set onlyNew to true to follow a segment over time, for example new software companies in Paris. The actor remembers which companies it has delivered for the same input, in a named key-value store in your Apify account (nightwave-state-france-company-register, one record per input). Each run returns and charges only companies that earlier runs did not deliver. The first run returns everything in the selection. A run without news finishes successfully with 0 rows.

onlyNew and maxResults are not part of the remembered input, so you can change them without starting over. Changing any other field starts a fresh state. With onlyNew the actor reads the whole search window (up to 10 000 hits) to find the new companies, so keep the search narrow: one or a few NAF codes and departments.

Example: every morning at 07:00, new active computer programming and consulting companies with their head office in Paris. In Apify Console, open Schedules, create a schedule with the cron expression 0 7 * * * and add this actor with the input below.

{
"nafCodes": ["62.01Z", "62.02A"],
"departments": ["75"],
"onlyNew": true,
"maxResults": 500
}

The same schedule through the Apify API:

curl -X POST "https://api.apify.com/v2/schedules?token=<YOUR_TOKEN>" \
-H "Content-Type: application/json" \
-d '{"name": "daily-france-companies", "cronExpression": "0 7 * * *", "timezone": "Europe/Paris", "isEnabled": true, "isExclusive": true,
"actions": [{"type": "RUN_ACTOR", "actorId": "nightwave-owner~france-company-register",
"runInput": {"contentType": "application/json; charset=utf-8", "body": "<the input above as a JSON string>"}}]}'

For a weekly list instead, use the cron expression 0 7 * * 1 (every Monday at 07:00), for example with the name weekly-france-companies. The input stays the same.

A second run straight after the first, with onlyNew and the same input, returns 0 rows and is not charged.

Connect a webhook or an integration (Google Sheets, HubSpot, Slack, e-mail) in Apify Console if you want the new rows sent somewhere when the run finishes.

Limitations

  • At most 10 000 companies per search. That is a limit of the API. For larger extracts, split the search by department or NAF code and run it once per part.
  • Departments and postal codes match establishments. The API returns a company when any of its establishments is in the area. With headOfficeInArea (the default) the actor keeps only companies whose head office is there; those skipped are not charged.
  • No people. Sole proprietors, partnerships between natural persons and records that are not fully public in Sirene are never returned, and directors are never requested. The search text is meant for company names and addresses.
  • Labels are in French. legalForm and nafLabel are the official INSEE labels. The codes next to them are stable and easy to translate.
  • Polite use. At most 3 requests per second (the API allows 7), a declared User-Agent, and retries that wait as long as the API asks (Retry-After) on rate limits and server errors. A response in an unexpected format stops the run with a clear message.
  • The data is the public register, not a credit report. Check the official record before you rely on it in a contract.

Use cases

  • B2B prospect lists by sector, size and region, for example bakeries with 10-49 employees in the Rhône, without scraping company directory websites.
  • KYC and supplier checks: confirm that a SIREN exists, is active and has the expected name, activity and address.
  • CRM enrichment: add legal form, NAF code, size band and head office to a list of SIREN or SIRET numbers.
  • Market sizing: count active companies per NAF code and department.
  • Daily or weekly alerts on new companies in a sector and department with onlyNew.

FAQ

How fresh is the data? Live. Each run asks the API Recherche d'entreprises, which is updated daily from Sirene and the national company registry.

What does 1 000 rows cost? 5 USD (0.005 USD per company, event company), plus Apify platform usage. A test run that returned 1 000 rows used 0.006 USD of platform usage.

Can I use the data commercially? Yes. The data is published under the Licence Ouverte / Open Licence 2.0, which allows commercial reuse when you name the source and the date of the last update. Every row carries the source in source and license, the date in lastUpdated and a link to the official record in url. See "Data source and license".

Why is a company missing? It may be a sole proprietor, a record that is not public in Sirene, closed (with activeOnly), or outside the 10 000 hit window of the search. Look it up by SIREN to check.

Data source and license

The data comes from the API Recherche d'entreprises (GET https://recherche-entreprises.api.gouv.fr/search), run by DINUM (Direction interministérielle du numérique) for the French government and listed on api.gouv.fr. It is open without an API key. Its sources are the INSEE Sirene register (Base Sirene des entreprises et de leurs établissements) and other public registers.

The license, read on 3 October 2026:

  • Both the Sirene base (INSEE) and the dataset "Données des entreprises utilisées dans l'Annuaire des Entreprises" (data.gouv.fr) are published under the Licence Ouverte / Open Licence 2.0 (Etalab).
  • The licence lets you "l'exploiter à titre commercial, par exemple en la combinant avec d'autres informations, ou en l'incluant dans son propre produit ou application" (use it commercially, for example by combining it with other information or including it in your own product or application), on condition that you "mentionner la paternité de l'« Information » : sa source (au moins le nom du « Concédant ») et la date de dernière mise à jour" (name the source, at least the licensor, and the date of the last update).
  • The attribution does not suggest any endorsement by the French state, and this actor is not endorsed by INSEE or DINUM.

Usage terms of the API, from its documentation: at most 7 requests per second per IP address and 30 per second per network; over the limit the API answers HTTP 429 with a Retry-After header. Non-diffusible companies are not available in the API.

The code lists used for the labels come from INSEE: NAF rev. 2 sub-classes, legal forms (catégories juridiques) and departments.

Pricing

Pay per result: 0.005 USD per company returned (event company), which is 5 USD per 1 000 companies. Apify bills platform usage on top as usual; a 1 000 row run used 0.006 USD. Companies skipped by onlyNew or headOfficeInArea are not charged. maxResults caps how many rows a run returns, so you always know the highest possible cost.

Contact

Built and maintained by Nightwave AB. Questions, bugs and feature requests: kontakt@nightwave.se

På svenska

Actorn hämtar franska företag ur INSEE:s officiella register Sirene via det öppna API:t Recherche d'entreprises, en rad per företag: SIREN, huvudkontorets SIRET, namn, bolagsform, huvudverksamhet (NAF-kod och officiell benämning), storleksklass, antal anställda (intervall), registreringsdatum, huvudkontorets adress, departement, koordinater, status och länk till Annuaire des Entreprises.

  • Källa: API Recherche d'entreprises (recherche-entreprises.api.gouv.fr), som drivs av den franska statens digitaliseringsmyndighet DINUM. Ingen API-nyckel behövs.
  • Licens: Licence Ouverte / Open Licence 2.0. Kommersiell vidareanvändning är tillåten om källan och datum för senaste uppdatering anges. Fälten source, license, lastUpdated och url finns på varje rad (läst 3 oktober 2026).
  • Filter: söktext, SIREN- eller SIRET-nummer, NAF-kod, departement, postnummer, antal anställda och aktiva företag. Med departement eller postnummer tas som standard bara företag med huvudkontoret i området.
  • Inga personer: enskilda firmor, bolag mellan fysiska personer och poster som inte är helt offentliga i Sirene lämnas ute, och företrädare hämtas aldrig.
  • Högst 10 000 träffar per sökning (API:ts gräns). Dela upp större uttag per departement eller NAF-kod.
  • Med onlyNew: true levereras bara företag som tidigare körningar med samma input inte har levererat (se "Monitoring and scheduling").
  • Pris: 0,005 USD per företag (5 USD per 1 000) plus Apifys plattformsanvändning.
  • Kontakt: kontakt@nightwave.se