France SIRENE Company Scraper - SIREN/SIRET Lookup & Search
Pricing
from $7.30 / 1,000 company returneds
France SIRENE Company Scraper - SIREN/SIRET Lookup & Search
Search French companies by name, city, department, postcode, NAF/APE code, legal form, size or status, or look up SIREN and SIRET numbers in bulk (check digits verified first). One row per company with head office, VAT number, officers, revenue and matching establishments. No API key.
Pricing
from $7.30 / 1,000 company returneds
Rating
0.0
(0)
Developer
NeverEmpty
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
Search French companies by name, department, postcode, commune, region, NAF/APE activity code, legal form, size category, employee band, status or sole-trader status, or look up SIREN and SIRET numbers in bulk. No API key, no browser, no proxy.
This Actor reads the French government's public Recherche d'entreprises API (recherche-entreprises.api.gouv.fr, the search behind annuaire-entreprises.data.gouv.fr), which is built from INSEE's Sirene register and the national business register (RNE). It is not affiliated with INSEE, DINUM or the French administration.
Each result is one row per company (SIREN): company name, legal name, acronym, VAT number, active or closed, creation and closing date, legal form (INSEE code and its name), size category (PME / ETI / GE), employee band, NAF/APE code with its label and the NAF 2025 code, the head office (SIRET, address, postcode, city, commune code, department, region, coordinates, trade name, shop signs), number of establishments and open establishments, the establishments that matched your search, the officers (name and role), and the latest revenue and net income the source holds.
Typical uses: B2B lead lists by town, department and activity (bakeries in Lyon, construction companies in Ile-de-France, large companies in Hauts-de-Seine), KYC and supplier checks from a list of SIREN or SIRET numbers, VAT number lookup, and checking whether companies are still active.
What this source is, and what it is not
- It is a search, not the whole Sirene database. Every search stops at 10,000 results (see below), and a bulk lookup is one request per number. A name search can also miss a company that is in the register: in postcode 76450, DAVID PIGNE (SIREN 488970997, a closed bakery, NAF 10.71C, shop sign "BOULANGERIE LES 3 MARCHES") is not among the results for
boulangerie, which returns one company there (2026-09-11). - The name search looks at names, not at the activity. To get every bakery rather than every company called "boulangerie", search by NAF code
10.71C(and10.71Dfor pastry shops) instead of by name. - Companies whose data is not public ("non-diffusibles") and companies refused registration are not in the source at all (stated in the source's own documentation). Neither the source nor this Actor returns them; a lookup of such a number comes back as
not-found. - A company row lists only the establishments that matched your search, up to
maxEstablishmentsPerCompany(10 by default, 100 at most, the source's limit), not every establishment of the company.matchingEstablishmentsListedis how many are listed, not how many match: ELIOR RESTAURATION FRANCE has 3,208 open establishments and 10 are listed by default.matchingEstablishmentsMayBeMoreistruewhen the list reached the limit.establishmentCountandopenEstablishmentCountgive the company's totals; the source gives no total of matching establishments.
What the source gets wrong, and what this Actor does about it
Measured against the live API on 2026-09-11. Counts are from that day and change as the register is updated.
| The source's behaviour | What you get here |
|---|---|
A name search also matches addresses, officers and elected officials: renault in postcode 76450 returned 9 companies, of which BR IMMO (an officer is named Renault) and COMMUNE DE THIOUVILLE (no Renault in its name or among its officers) are not Renault companies | Company names only by default: a company is kept when every word of your query appears in its name, legal name, acronym, trade name or shop sign (checked against all 4,091 companies of postcode 76450: the same 7 companies). Choose everything to get what the source returns. When nothing is left, the row says how many were left out and why |
Every search stops at 10,000 results: page × page size above 10,000 is refused with HTTP 400, and the reported total is capped at 10,000. Splitting by department alone misses every company whose head office is outside France, because department filters only match establishments in France (legal form 3120, foreign companies registered in France: the sections add up to 34,586 companies, a department-only split found 31,702; airbus finds 245 companies, 35 of them with a head office abroad) | When more than 10,000 match and you ask for more, the search is split by department (and a department still over 10,000 by NAF section), then each NAF section is read on its own without a department, which reaches the companies based abroad. Companies already returned are skipped, so each company is charged once. At the end the section counts are added up and compared with the companies found; if some could not be reached, an incomplete row (free) says how many. Measured on Apify for legal form 3120 on 2026-09-11: 34,774 companies in 1,991 seconds (34,571 of the 34,586 the sections count, plus 203 companies with no section), and one incomplete row naming the 15 not reached. Two kinds of company can still be missed without a count: companies with neither a NAF section nor an establishment in France beyond the first 10,000 results, and, where a department had to be split by section, companies with no NAF section there; a row says when that can have happened |
| Location filters match any establishment: a search for bakeries in departments 75 and 92 returns BOULANGERIES PAUL, whose head office is in department 59 | The establishments inside your area are listed in matchingEstablishments (address, postcode, city, SIRET, active or closed), so you can see why the company is there |
| A lookup by SIREN returns no establishments: Renault SAS (780129987) has 224 establishments and the lookup lists none, even when asking for 100 | matchingEstablishments is null with matchingEstablishmentsListed: 0, and establishmentCount / openEstablishmentCount give the totals. Look up a SIRET to get that establishment |
| Paris, Lyon and Marseille are filed under their arrondissements: commune code 75056 (Paris) returns 0 bakeries, 75111 (Paris 11e) returns 57 | 75056, 69123 and 13055 are sent as their arrondissement codes (75101-75120, 69381-69389, 13201-13216), and the search description says so |
| A commune code that does not exist (69999) returns 0 results, exactly like a commune without companies | The empty-result row says that an unknown commune code (or postcode) gives the same empty answer |
| The reported total can be larger than what the pages return: postcode 76450 says 4,104 companies, the last page stops at 4,091 | Reading stops at the last page and the result is not reported as incomplete; the count reported by the source is in the log |
Partly public companies and establishments come back with the text [NON-DIFFUSIBLE] in the address, postcode, coordinates, acronym and shop signs | Those values are null, never the placeholder text, and headOfficeAddressWithheld / addressWithheld / partiallyWithheld say which records the source withheld. The city and department that the source does publish are kept |
| A mistyped SIREN or SIRET is simply "not found" | Every number is checked against its Luhn check digit before it is sent (with INSEE's separate rule for La Poste's SIRETs, which do not satisfy Luhn), and a typo comes back as bad-input with the reason. A French VAT number (FR + key + SIREN) is accepted and its key is checked. If a spreadsheet dropped a leading zero, the row suggests the corrected number |
| The source publishes the birth month and year of officers who are natural persons | Officers are returned with name and role only; birth month, birth year and nationality are not returned |
Rate limit: 7 requests per second per IP and 30 per second per network (ASN), "likely to be hit on public clouds" (source documentation). From Apify's network, three quick requests already got HTTP 429 with retry-after: 4 | One request at a time with a pause, retry-after honoured, up to 6 attempts with growing waits. If the source still does not answer, you get a failed or incomplete row saying so; nothing is guessed |
| Queries shorter than 3 characters, unknown department, NAF, legal form or employee band codes are refused with a French error message | Obvious mistakes are caught before anything is sent, with the reason in English; anything the source still refuses comes back as bad-input with the source's own message |
Input
Give SIREN/SIRET numbers for a bulk lookup, or any combination of the search fields. If both are given, the numbers are looked up and a row says the search fields were not used. If nothing at all is given, three example numbers (Renault SA 441639465, Societe Generale 552120222 and the head office of Renault SAS 78012998704037) are looked up so the Actor always returns something, and every row records what was looked up in its input column.
| Field | Default | What it does |
|---|---|---|
ids | - | SIREN (9 digits) or SIRET (14 digits) numbers, up to 3,000 per run. New lines, commas and semicolons separate numbers; spaces and dots inside a number are fine (552 120 222). A French VAT number is read as its SIREN. Numbers beyond 3,000 are counted in one row |
query | - | Words to search for (at least 3 characters). Case, accents and hyphens are ignored; whole words; every word must appear |
searchIn | names | names: keep only companies whose own names contain every word. everything: also companies matched through an address, an officer or an elected official (as the source does) |
departments | - | Department codes such as 75, 92, 69, 2A, 971 (a single digit is read with a leading zero). Several means any of them |
postalCodes | - | 5-digit postcodes such as 75011 |
communeCodes | - | 5-character INSEE commune codes such as 92012 (not postcodes). Paris, Lyon and Marseille are expanded to their arrondissements |
regions | - | 2-digit INSEE region codes such as 11 (Ile-de-France) or 84 (Auvergne-Rhone-Alpes) |
nafCodes | - | NAF rev. 2 codes such as 62.01Z or 10.71C (6201Z is read as 62.01Z) |
sections | - | NAF section letters A to U |
legalForms | - | INSEE legal category codes such as 5710 (SAS), 5499 (SARL), 5599 (SA), 1000 (sole trader), 9220 (association) |
companyCategories | - | PME, ETI, GE |
employeeBands | - | INSEE headcount bands: NN, 00, 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 (1,000-1,999), 51 (2,000-4,999), 52 (5,000-9,999), 53 (10,000+) |
status | any | active or closed companies |
soleTraders | any | only or exclude sole traders (entreprises individuelles) |
maxResults | 100 | Most companies a search returns, up to 50,000 (above 10,000 the search is split as described above) |
maxEstablishmentsPerCompany | 10 | How many matching establishments to list per company, 1 to 100 |
Examples
Bulk lookup (SIREN, SIRET or VAT numbers, in any mix):
{ "ids": ["441639465", "552 120 222", "78012998704037", "FR63441639465"] }
Bakeries in Lyon (all arrondissements), active only:
{ "query": "boulangerie", "communeCodes": ["69123"], "status": "active", "maxResults": 500 }
Construction companies with 10 to 49 employees in Hauts-de-Seine:
{ "departments": ["92"], "sections": ["F"], "employeeBands": ["11", "12"], "maxResults": 1000 }
Software companies (NAF 62.01Z) in Paris that are SAS:
{ "departments": ["75"], "nafCodes": ["62.01Z"], "legalForms": ["5710"], "maxResults": 2000 }
Output
One row per company. Example (Renault SA, shortened):
{"status": "ok","input": "441639465","lookupType": "siren","siren": "441639465","name": "RENAULT (RENAULT)","legalName": "RENAULT","vatNumber": "FR63441639465","isActive": true,"createdOn": "2002-04-01","legalFormCode": "5510","legalForm": "SA nationale à conseil d'administration","companyCategory": "GE","nafCode": "64.20Z","nafLabel": "Activités des sociétés holding","revenueEur": 56232000000,"netIncomeEur": 891000000,"financialYear": 2024,"headOfficeSiret": "44163946500091","headOfficeAddress": "122-122 122 B AVENUE DU GENERAL LECLERC 92100 BOULOGNE-BILLANCOURT","headOfficeCity": "BOULOGNE-BILLANCOURT","headOfficeDepartment": "92","establishmentCount": 9,"openEstablishmentCount": 1,"officerCount": 18,"officers": [{ "type": "person", "name": "MICHELLE STRAKA BARON", "lastName": "BARON", "firstNames": "MICHELLE STRAKA", "role": "Administrateur", "siren": null }],"annuaireUrl": "https://annuaire-entreprises.data.gouv.fr/entreprise/441639465"}
All columns: siren, siret (the SIRET you looked up), lookupType (siren, siret or search), name, legalName, acronym, vatNumber, isActive, administrativeStatus (active / closed), createdOn, closedOn, legalFormCode, legalForm, companyCategory, companyCategoryYear, employeeBandCode, employeeBand, employeeBandYear, nafCode, nafLabel, naf2025Code, activitySection, activitySectionLabel, isSoleTrader, isAssociation, isSocialEconomy, collectiveAgreementCodes, revenueEur, netIncomeEur, financialYear, headOfficeSiret, headOfficeAddress, headOfficePostalCode, headOfficeCity, headOfficeCommuneCode, headOfficeDepartment, headOfficeRegion, headOfficeLatitude, headOfficeLongitude, headOfficeIsActive, headOfficeTradeName, headOfficeSigns, headOfficeIsEmployer, headOfficeAddressWithheld, partiallyWithheld, establishmentCount, openEstablishmentCount, matchingEstablishmentsListed (how many are listed, not how many match), matchingEstablishmentsMayBeMore (true when the list reached maxEstablishmentsPerCompany; null for SIREN/SIRET lookups), matchingEstablishments, officerCount, officers, sourceUpdatedAt, annuaireUrl, checkedAt, plus status, note, input and source.
Each entry of matchingEstablishments: siret, isHeadOffice, isActive, address, postalCode, city, communeCode, latitude, longitude, nafCode, tradeName, signs, createdOn, closedOn, employeeBandCode, addressWithheld. Each entry of officers: type (person or company), name, lastName, firstNames, role, siren (for a company acting as officer, such as a statutory auditor).
Labels (legalForm, nafLabel, employeeBand, activitySectionLabel) are INSEE's French labels, taken from the source's own open-source label tables. Values the source does not hold are null, never 0, false, an empty string or an empty list. Revenue and net income are in euros, for the latest year the source holds, and are missing for most small companies.
Rows with a status other than ok explain themselves in note and are never charged: bad-input (rejected before sending, or refused by the source), not-found (valid check digit, nothing in the source), no-results (the search matched nothing), failed (no answer after retries), incomplete (part of a search could not be read, or it reached the 10,000 limit and could not be split), duplicate-input (the same number given twice: looked up and charged once), not-looked-up (over 3,000 numbers, the charge limit or the time limit), filters-ignored (numbers and search fields given together).
Speed
Measured on Apify on 2026-09-11: a search returned 2,500 companies in 61 seconds (100 pages of 25); a bulk lookup of 300 SIREN numbers took 172 seconds (about 0.6 seconds each, one at a time), during which the source answered HTTP 429 seven times and every one of those numbers went through on retry. A full run of 3,000 numbers therefore takes about half an hour. A search for boulangerie asking for 10,100 companies went past the 10,000 limit by splitting by department and returned 10,100 different companies in 366 seconds (431 requests; 63 companies that matched only through an address or a person's name were left out and not charged).
Personal data
Officers are returned as the public register publishes them, with name and role only; their birth month, birth year and nationality are not returned. A sole trader's company name is the owner's own name, and the source publishes the business address of sole traders whose record is public; this Actor returns it as published. Records and addresses the source marks as not public are not returned by the source, and this Actor does not return them either.
Pricing
Pay per result: you are charged for each company row returned. Rows that only explain a rejected input, a number the source does not hold, an empty search or a failed lookup are free.
Source and licence
Data comes from the Recherche d'entreprises API run by the French interministerial digital directorate (DINUM), built from INSEE's Sirene register and the RNE, published as open data under the Licence Ouverte / Open Licence 2.0 (Etalab). The label tables come from the API's own open-source repository (MIT licence). This Actor is not affiliated with INSEE, DINUM or the French administration.
Support
Found a wrong value or a missing field? Open an issue in the Issues tab with the input you used and the SIREN or SIRET concerned.