French Company Search: SIRENE, SIREN, SIRET, NAF, VAT
Pricing
$2.00 / 1,000 company records
French Company Search: SIRENE, SIREN, SIRET, NAF, VAT
Search and export French companies from the official SIRENE / Annuaire des Entreprises open API: SIREN, SIRET, NAF, address, GPS, headcount, revenue, VAT, labels. Filters by industry, department, size. GDPR-friendly, no proxies.
Pricing
$2.00 / 1,000 company records
Rating
0.0
(0)
Developer
vantum
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
3 days ago
Last modified
Categories
Share
What does French Company Search do?
French Company Search exports French companies and establishments from the official SIRENE register (INSEE, via the government's API Recherche d'entreprises) into clean, English-labelled rows: SIREN, SIRET, VAT number, NAF/APE activity, headcount, revenue, net income, address with GPS, certifications and more.
Pick an industry and a place, for example software companies in Lyon or bakeries within 2 km of a point, or paste a list of SIREN/SIRET numbers. You get a spreadsheet-ready dataset in minutes. You need no API key, no proxy and no login, and you pay only for the rows you get.
- 🇫🇷 Every company and establishment in SIRENE, active or closed, refreshed daily from INSEE SIRENE and INPI RNE
- 🧭 Exports past the 10,000-result limit of the source API by splitting big searches automatically (department → sector → headcount → NAF code)
- 🛡️ GDPR-friendly by design: it never outputs officers who are natural persons, and sole traders (entrepreneurs individuels) are excluded by default
- 💶 Free dry run that counts matches and estimates the cost before you spend anything
Why use French Company Search?
- B2B lead lists: every active IT services firm (NAF 62.02A) with 20–99 employees in Île-de-France, with revenue.
- Market sizing and TAM: how many restaurants opened in Bordeaux this year, and how many are SMEs.
- CRM enrichment and KYB: turn a column of SIREN/SIRET numbers into VAT numbers, legal form, status and head-office address.
- Supplier and partner sourcing: RGE-certified builders, Qualiopi training organisations, organic (bio) producers, ESS companies.
- Local prospecting: every establishment within a radius of a point, for field sales or retail planning.
- A cheap Pappers or Societe.com alternative for bulk exports, built on the same open data at a fraction of the cost.
What data can I extract from the French company register?
| Group | Fields |
|---|---|
| Identity | siren, siret, name, legalName, acronym, tradeNames, vatNumber (intra-EU VAT) |
| Status | isActive, createdOn, closedOn, isHeadOffice, dataUpdatedAt |
| Activity | nafCode (APE), nafLabel, nafSection, nafSectionLabel, nafCode2025 (new NAF 2025) |
| Size | companyCategory (PME / ETI / GE), employeeRange, employeesMin, employeesMax, establishmentsCount |
| Finances | revenueEur (chiffre d'affaires), netIncomeEur (résultat net), financialYear (when published) |
| Location | address, postalCode, city, cityCode (INSEE), department, region, latitude, longitude |
| Labels | labels (RGE, Qualiopi, Bio, ESS, mission-driven company, FINESS, …), collectiveAgreements (IDCC) |
| Governance | corporateOfficers (only officers that are companies: name, SIREN, role), naturalPersonOfficersCount |
| Source | officialRegistryUrl (annuaire-entreprises.data.gouv.fr page), scrapedAt |
How to export French companies (step by step)
- Click Try for free and open the Input tab.
- Leave Mode on Search the register.
- Choose one or more NAF/APE codes (e.g.
62.01Z) or a broad sector, then a department, region, postal code or city. - Optionally narrow by headcount, company size, legal form, revenue, certifications or creation date.
- Set Max records, or tick Dry run first to see how many companies match and what a full export would cost.
- Click Start. Download the results as JSON, CSV, Excel, XML or HTML, or pull them from the API.
To enrich a list, switch Mode to Look up SIREN / SIRET numbers and paste your IDs (spaces and dots are fine). To search around a point, choose Nearby, then enter latitude, longitude and a radius of up to 50 km.
How much does it cost to export French company data?
You pay per record saved, and nothing else: no start fee, no subscription, no proxy costs.
| Price | |
|---|---|
| 1 company or establishment row | $0.002 ($2 per 1,000) |
| 10,000 companies | about $20 |
| Dry run (count + cost estimate) | free |
| Lookups for unknown or invalid IDs | free (only found companies are charged) |
Apify's free plan includes monthly credit, which is enough for a few thousand rows to test with. Set Maximum cost per run in the run options and the Actor stops cleanly at your budget.
Input
All filters are optional, but a search needs at least one filter or a keyword, so the Actor never downloads the whole register by accident. Example: active software companies in the Rhône department.
{"mode": "search","nafCodes": ["62.01Z"],"departments": ["69"],"employeeRanges": ["11", "12", "21"],"maxResults": 500}
Lookup example:
{"mode": "lookup","ids": ["552 032 534", "40305211102020"],"outputLevel": "companies"}
Main options:
- Output level:
companiesgives one row per company (head office).establishmentsgives one row per matching location (SIRET), which suits retail chains, restaurants and branches. - Location filters apply to the head office (on by default): a search for companies in Lyon returns companies headquartered there, not national groups that merely have a branch there.
- Establishments must match the activity (on by default): with establishment rows, only locations whose own NAF code matches are kept. A bakery chain's head office (coded as a holding) is left out.
- Active companies only (on by default), Include sole traders (off by default, see GDPR below), Created after / before.
- Auto-split large searches (on by default) exports beyond the source API's 10,000-results-per-query limit.
Output
Each row looks like this (real output, shortened):
{"recordType": "company","siren": "452487416","siret": "45248741600060","name": "SYNOLIA","isActive": true,"createdOn": "2004-03-01","legalForm": "SAS, société par actions simplifiée","nafCode": "62.01Z","nafLabel": "Programmation informatique","companyCategory": "PME","employeeRange": "50 à 99 salariés","employeesMin": 50,"employeesMax": 99,"address": "59 RUE DE L'ABONDANCE 69003 LYON","postalCode": "69003","city": "LYON","department": "Rhône","region": "Auvergne-Rhône-Alpes","latitude": 45.754120383,"longitude": 4.8559396747,"vatNumber": "FR28452487416","revenueEur": 12095056,"netIncomeEur": 317717,"financialYear": "2024","labels": ["Egapro index published"],"corporateOfficers": [{ "name": "SEVENTY SIX", "siren": "911885275", "role": "Président de SAS" }],"naturalPersonOfficersCount": 1,"officialRegistryUrl": "https://annuaire-entreprises.data.gouv.fr/entreprise/452487416"}
An establishment row (from outputLevel: "establishments") has the same fields, but siret, address, NAF code, headcount and dates describe that location:
{"recordType": "establishment","siren": "899507552","siret": "89950755200045","name": "AB COPAINS","tradeNames": ["COPAINS"],"isHeadOffice": false,"nafCode": "56.10C","nafLabel": "Restauration de type rapide","employeeRange": "3 à 5 salariés","address": "29 RUE DES BLANCS MANTEAUX 75004 PARIS","department": "Paris"}
Each run also writes a RUN_SUMMARY record to the key-value store. It holds the status, the number of rows saved, rows skipped and why, the IDs not found, the dry-run estimate and the exact filters sent to the API. The Console offers three table views: Overview, Locations and Finance.
Tips for large exports
- Start with a dry run. It is free and tells you how many rows a full export has.
- Use NAF codes rather than keywords for complete lists. The keyword search ranks by relevance; NAF and location filters are exhaustive.
- Very large markets (a whole sector nationwide) are split automatically. If a slice still exceeds 10,000 results, the run summary lists it so you can add a postal-code filter.
- Revenue is only available for companies that publish their accounts, often only about half of the rows in a typical search.
- Speed: up to about 75 rows per second (the source API is rate-limited), so 100,000 companies take roughly 25–40 minutes. Raise the run timeout for very large exports; an interrupted run resumes where it stopped.
- Creation-date filters run after download, because the source API cannot filter by date. They are free (you pay only for rows that pass), but they are slow on broad searches. Combine them with a department and NAF code. Example: a weekly scheduled run of restaurants in Gironde created after last Monday makes a cheap new-business feed.
FAQ
Is it legal to scrape the French company register?
Yes. This Actor does not scrape websites. It calls the official public API Recherche d'entreprises run by DINUM (French government), which publishes SIRENE (INSEE) and RNE (INPI) data under the Licence Ouverte / Etalab 2.0, an open licence that allows commercial reuse with attribution. Every run records the source in its summary; keep that attribution when you republish the data.
How is personal data handled (GDPR)?
Collecting personal data is avoided by design: officers who are natural persons are never output (only their count), there is no search by person name, and sole traders are excluded by default because their company name is usually the owner's name. If you enable Include sole traders, you become responsible for having a lawful basis under the GDPR and for honouring people's right to object to direct marketing.
How is this different from Pappers, Societe.com or Infogreffe?
Those sites show one company at a time, or sell bulk exports through subscriptions. This Actor gives you the same core register data in bulk, with filters, for about $2 per 1,000 companies. It does not include paid documents such as full balance sheets, shareholder registers or court filings.
How fresh is the data?
The government API is updated daily from INSEE and INPI. Each row includes dataUpdatedAt.
Why are some companies or fields missing?
Some companies requested non-diffusion (statut de diffusion partielle), so INSEE hides parts of their data. Financial data appears only when accounts were published. Headcount ranges come from INSEE and can lag by a year.
Can I use it through the API, with Make, Zapier, n8n or an AI agent?
Yes. Like every Apify Actor, it can be run through the Apify API, its JS and Python clients, or integrations with Make, Zapier, n8n and Google Sheets, or used as a tool by AI agents via the Apify MCP server.
I found a bug or need a feature
Open an issue in the Issues tab with your run ID and what you expected.
Disclaimer: this Actor is not affiliated with INSEE, INPI, DINUM or the French government. Data comes from the API Recherche d'entreprises (recherche-entreprises.api.gouv.fr) under the Licence Ouverte / Etalab 2.0. NAF and legal-form labels are adapted from the open-source search-api project (MIT, © DINUM).