French Company Data: SIREN/SIRET Search & Lookup (Official API)
Pricing
from $1.80 / 1,000 company saveds
French Company Data: SIREN/SIRET Search & Lookup (Official API)
Official French company data (SIRENE) from the government API: look up SIREN/SIRET or search by name, NAF code, département, postcode, size, legal form, revenue. Clean output with NAF labels, HQ address, headcount, revenue & net income. No API key. Sole traders excluded by default.
Pricing
from $1.80 / 1,000 company saveds
Rating
0.0
(0)
Developer
Kevin
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
21 hours ago
Last modified
Categories
Share
Get French company data from the official government API (API Recherche d'entreprises, built on the INSEE Sirene register). You can look up companies by SIREN or SIRET, search them by name, or list every company that matches your filters: NAF/APE code, département, postal code, commune, size category, headcount band, legal form, revenue range, labels and creation date.
Each result is a clean, flat row with readable labels. Codes come with their names (for example
10.71C → Boulangerie et boulangerie-pâtisserie and 22 → 100 à 199 salariés). Each row also has
the head office address and GPS coordinates, the latest revenue and net income, VAT numbers,
labels (RGE, Qualiopi, ESS…), and the number of establishments.
- No API key, no scraping, no proxies. The data comes from the same API that powers annuaire-entreprises.data.gouv.fr.
- Privacy by default. Sole traders (entrepreneurs individuels) are excluded and directors are off unless you turn them on. Every row shows whether the company has opted out of commercial prospecting.
- Fast: each API request returns 25 companies, so a 1,000-company list takes under a minute.
- $1.80 per 1,000 companies, with every field included.
Not affiliated with or endorsed by INSEE, DINUM or data.gouv.fr.
How to use
- Click Start. The prefilled input looks up Airbus (SIREN 383474814) and lists bakeries (NAF 10.71C) in Paris (département 75), capped at 100 companies.
- Replace it with your own SIREN/SIRET list, search terms or filters. You can combine them.
- Run the actor. Then export the dataset as CSV, Excel or JSON, or pull it into your CRM or spreadsheet through the Apify API.
Example 1: SIREN / SIRET lookup (KYB, CRM enrichment, invoice checks). Spaces and Annuaire URLs are fine:
{"sirenOrSiret": ["383 474 814", "35600000000048", "https://annuaire-entreprises.data.gouv.fr/entreprise/poilane-324445030"]}
Example 2: lead list from filters. This lists software companies (SAS/SASU) in Lyon and Villeurbanne with 10–49 employees, created since 2015, head office in the area, biggest first:
{"nafCodes": ["62.01Z"],"postalCodes": ["69001", "69002", "69003", "69006", "69007", "69100"],"locationHeadOfficeOnly": true,"headcountBands": ["11", "12"],"legalFormCodes": ["5710", "5720"],"createdFrom": "2015-01-01","sortBySize": true,"maxResults": 2000}
Example 3: name search with establishments and directors. This finds RGE-certified installers named "solaire" in Gironde, with their establishments (SIRET) and directors (names and roles only):
{"searchQueries": ["solaire"],"departements": ["33"],"onlyWithLabels": ["est_rge"],"includeEstablishments": true,"includeDirectors": true,"maxResults": 300}
Official API vs. scraping-based actors
| This actor | Pappers / website scrapers | Bare API wrappers | |
|---|---|---|---|
| Source | Official government API (Sirene + RNE) | Third-party website HTML | Official API |
| Breaks when a website changes | No | Often | No |
| Filters: NAF, département, postal code, headcount, legal form, revenue, labels | ✅ all | Varies | Few or none |
| Creation-date range, head-office-only location | ✅ | Varies | ❌ |
| Labels for NAF, legal form, headcount | ✅ | Partly | ❌ raw codes |
| Revenue + net income with year | ✅ | ✅ | Raw nested JSON |
| Sole traders excluded / opt-out flag | ✅ by default | ❌ | ❌ |
| Price per 1,000 companies | $1.80 | $3.50–$10 | ~$1 |
What data do you get?
One dataset item per company (SIREN):
- Identity: SIREN, name, registered name, acronym, legal form (code and label), status (active or ceased), creation and closure dates, last update.
- Activity: NAF/APE code and label, NAF section, NAF 2025 code.
- Size: headcount band (code, label and year), INSEE category (PME / ETI / GE), employer flag, number of establishments (total and open).
- Head office (siège): SIRET, one-line address, postal code, city, commune code, département, region, country, latitude and longitude.
- Finances (when published): latest revenue (chiffre d'affaires) and net income (résultat net) with their year, plus the full history the API returns.
- Other: intra-EU VAT numbers, labels and certifications (RGE, Qualiopi, Bio, ESS, société à mission, EPV, SIAE, organisme de formation, Egapro…), collective agreements (IDCC), sole-trader flag, commercial-prospecting opt-out flag, and a link to the company page on annuaire-entreprises.data.gouv.fr.
- Optional:
establishments(SIRET, address, activity, headcount, status, coordinates) anddirectors(names and roles; companies acting as directors or auditors include their SIREN). - Provenance:
matchedBy,retrievedAt,sourceandlicenceon every row.
The run summary (key-value store record OUTPUT) lists the lookups found, not found or excluded, the
total matches for each search, and the number of API requests.
Input
| Field | What it does |
|---|---|
sirenOrSiret | SIREN (9 digits) or SIRET (14 digits) numbers to look up |
searchQueries | Free-text search on name, address or a director's name; each query is combined with the filters |
nafCodes, nafSections | Main activity of the company (NAF rev. 2) |
departements, postalCodes, communeCodes | Location of any establishment; add locationHeadOfficeOnly to keep only companies whose head office is there |
companyStatus | active (default), ceased or any; applies to searches |
companyCategories, headcountBands, legalFormCodes | Size and legal form |
minRevenue, maxRevenue | Latest published revenue in EUR |
onlyWithLabels | RGE, Qualiopi, Bio, ESS, … (all selected labels required) |
createdFrom, createdTo | Creation-date range (applied to the results of your search/filters) |
sortBySize | Biggest companies first instead of relevance |
excludeSoleTraders | Default on |
excludeProspectingOptOuts | Skip companies opposed to commercial prospecting (default off; the flag is always output) |
includeEstablishments, maxEstablishmentsPerCompany | Add matching establishments (up to 100 per company) |
includeDirectors | Add directors (names and roles); default off |
maxResults | Total companies to save (default 100) |
maxRequestsPerSecond | Default 4 (the API allows 7 per IP) |
Output example
{"siren": "324445030","companyName": "POILANE","status": "active","legalFormCode": "5710","legalForm": "SAS, société par actions simplifiée","nafCode": "10.71C","nafLabel": "Boulangerie et boulangerie-pâtisserie","creationDate": "1982-04-01","headcountBand": "22","headcountBandLabel": "100 à 199 salariés","companyCategory": "PME","hqSiret": "32444503000012","hqAddress": "8 RUE DU CHERCHE-MIDI 75006 PARIS","hqPostalCode": "75006","hqCity": "PARIS","hqDepartement": "75","hqLatitude": 48.851284924,"hqLongitude": 2.3289797068,"establishmentCount": 6,"openEstablishmentCount": 6,"vatNumbers": ["FR48324445030"],"revenue": 10532253,"netIncome": -2158104,"financialYear": 2023,"labels": ["Alim'Confiance", "Egapro"],"isSoleTrader": false,"optedOutOfCommercialProspecting": false,"annuaireUrl": "https://annuaire-entreprises.data.gouv.fr/entreprise/324445030","containsPersonalData": false,"retrievedAt": "2026-10-31T14:34:16+00:00","licence": "Source: Insee, base Sirene des entreprises et de leurs etablissements, and other public sources via the API Recherche d'entreprises (DINUM / annuaire-entreprises.data.gouv.fr). Licence Ouverte / Open Licence version 2.0."}
(Shortened. See the dataset schema for all fields.)
Pricing
Pay per result: $1.80 per 1,000 companies saved ($0.0018 per company). Establishments, directors,
finances and labels are included at no extra cost. Companies dropped by your filters are never charged.
Set Maximum cost per run in Apify and the actor stops cleanly when it reaches that amount. The
summary then shows stoppedByChargeLimit: true.
Use cases
- B2B lead lists: for example, every active bakery, plumber or software firm in a département, filtered by size and revenue.
- KYB / supplier checks: confirm that a SIREN/SIRET exists and is active, and get its legal form, address and VAT number.
- CRM enrichment: add NAF, headcount, revenue and GPS coordinates to your company records.
- Market research: count and map companies by activity, size and area.
Licence and attribution
The data is open data under the Licence Ouverte / Open Licence version 2.0 (Etalab), which allows commercial reuse provided you credit the source and show the date of last update.
- Sirene register, data.gouv.fr dataset page (link): "Producteur : Institut national de la statistique et des études économiques (Insee) — Licence : Licence Ouverte / Open Licence version 2.0".
- Company data used by the Annuaire des Entreprises, the data behind this API (link): "Producteur : data.gouv.fr — Licence : Licence Ouverte / Open Licence version 2.0".
- Licence text: https://www.etalab.gouv.fr/licence-ouverte-open-licence/
Every item includes a licence attribution statement, lastUpdated and retrievedAt. Keep them when
you republish the data. The API itself is documented at https://recherche-entreprises.api.gouv.fr/docs/.
Personal data and GDPR
Company data about legal entities is not personal data. However, sole traders are natural persons: their name is the company name and their address is often their home. Directors' names are personal data too. This actor therefore:
- excludes sole traders by default (
excludeSoleTraders). When you turn it off, their rows havecontainsPersonalData: true; - outputs directors only when you enable
includeDirectors, and then names and roles only. The month and year of birth that the API publishes are never output; - outputs
optedOutOfCommercialProspectingfor every company. Atruevalue means the company has objected to reuse of its data for commercial prospecting (Code de commerce art. R.123-320 / GDPR art. 21). Respect it, or setexcludeProspectingOptOuts; - never returns companies that are non-diffusibles: the API does not publish them.
If you process personal data, you are the controller of your copy: you need a lawful basis, must inform the people concerned, and must honour objections. Do not use this actor to build consumer contact lists.
FAQ
Do I need an API key or an account at INSEE? No. The API is open, and the actor handles its rate limits for you.
Is it the full Sirene database? It covers every public company that the government directory shows: active and ceased, including associations and public bodies. Companies that have asked not to be published (non-diffusibles) are not included. For bulk exports of millions of rows, use the Sirene stock files on data.gouv.fr.
Why do I get at most 10,000 companies per search? The API caps each search at 10,000 results. Split large lists by département, NAF code or headcount band (for example, one run per département).
Why do some companies have a head office outside my département? The API's location filters match
any establishment of a company. Turn on locationHeadOfficeOnly to keep only companies whose head
office is in the area.
How does the creation-date filter work? The API has no date parameter, so the actor checks
creationDate on each result of your search or filters. Combine the date filter with an activity or
location filter. It cannot be the only filter.
Why is revenue 0 or empty? Revenue appears only when the company has published its accounts. Many small companies file confidential accounts, which the source reports as 0 or leaves out.
Can I get every establishment of a large company? includeEstablishments returns the
establishments that matched your search or filters, up to 100 per company. For a plain SIREN lookup the
API returns no matching establishments, so the actor lists the head office. establishmentCount always
shows the total.
How fresh is the data? Every run queries the live API, which DINUM refreshes regularly from INSEE
Sirene, the RNE and the other sources. lastUpdated shows when each company record last changed.
Can I get emails or phone numbers? No. The register does not publish them, and this actor does not guess or scrape them.
Changelog
- 1.0 (2026-10): first release.