France Company Registry Scraper (SIREN, Officers, Finances)
Pricing
from $11.54 / 1,000 results
France Company Registry Scraper (SIREN, Officers, Finances)
Extract French company records from the official Sirene and RNE registry. Get SIREN, SIRET, legal form, NAF code, officers (dirigeants), VAT number, turnover and net income for 30M+ businesses across France. Export to JSON, CSV or Excel.
Pricing
from $11.54 / 1,000 results
Rating
5.0
(2)
Developer
Scrapers Lat
Maintained by CommunityActor stats
0
Bookmarked
1
Total users
0
Monthly active users
19 days ago
Last modified
Categories
Share
France Company Registry Scraper (SIREN, Officers, Finances)
Here is one real result, with every field the actor returns (the dirigeants and matchingEstablishments arrays are trimmed for display, real values):
{"siren": "638502963","name": "BOULANGERIE NEUHAUSER","nomRaisonSociale": "BOULANGERIE NEUHAUSER","tradeName": null,"enseignes": [],"sigle": null,"legalFormCode": "5599","legalForm": "SA a conseil d administration","activitePrincipale": "10.71A","activitePrincipaleNaf25": "10.71G","sectionActivite": "C","dateCreation": "1963-01-01","etatAdministratif": "A","etatAdministratifLabel": "Active","categorieEntreprise": "GE","categorieEntrepriseLabel": "Large enterprise","employeeRangeCode": "41","employeeRange": "500 to 999 employees","anneeEffectif": "2023","siretSiege": "63850296300082","numeroTva": "FR43638502963","address": {"full": "18 AVENUE FOCH 57730 FOLSCHVILLER","street": "18 AVENUE FOCH","postalCode": "57730","city": "FOLSCHVILLER","departement": "57","region": "44","country": "France","latitude": "49.071304293","longitude": "6.6881211053"},"nombreEtablissements": 14,"nombreEtablissementsOuverts": 12,"dateFermeture": null,"caractereEmployeur": null,"conventionCollective": ["1747"],"certifications": ["Publishes greenhouse-gas report"],"isAssociation": false,"isEntrepreneurIndividuel": false,"dirigeants": [{ "type": "person", "name": "JEROME GENEY", "role": null, "siren": null, "birthYear": "1973", "birthDate": "1973-06", "nationality": null },{ "type": "person", "name": "GUY MASSONNEAU", "role": "Président du directoire", "siren": null, "birthYear": "1964", "birthDate": "1964-10", "nationality": null },{ "type": "company", "name": "ERNST AND YOUNG AUDIT", "role": "Commissaire aux comptes titulaire", "siren": "344366315", "birthYear": null, "nationality": null }],"matchingEstablishments": [{ "siret": "63850296300082", "estSiege": true, "address": "18 AVENUE FOCH 57730 FOLSCHVILLER", "postalCode": "57730", "city": "FOLSCHVILLER", "activitePrincipale": "10.71A", "etatAdministratifLabel": "Active", "latitude": "49.071304293", "longitude": "6.6881211053", "dateDebutActivite": "2018-06-01" }],"finances": { "year": 2024, "ca": 489214400, "resultatNet": -28343000 },"dateMiseAJour": "2026-08-13T15:49:41","aiCompanySummary": "BOULANGERIE NEUHAUSER is a large bakery company based in Folschviller, France, established in 1963. It operates 14 establishments and employs between 500 to 999 people, focusing on the production of baked goods. The company is currently active but reported a net loss in its latest financial results.","aiRiskLevel": "medium","aiRiskFlags": ["financial losses", "negative net result"],"aiRiskRationale": "The company has reported significant financial losses with a negative net result of €28,343,000, which raises concerns about its creditworthiness.","aiIndustry": "Bakery","aiSector": "Food Manufacturing","aiIndustryTags": ["bakery", "bread", "large enterprise", "greenhouse gas report"],"observedAt": "2026-08-14T07:38:36.371Z","error": null}
The most complete France company registry scraper available. It returns every field the official Sirene and RNE registry expose for each company, plus structured officers (dirigeants), all matching establishments, headline finances, an optional contact-email finder and three optional AI add-ons, and gives you name, NAF, department, status, size and headcount filters to target exactly the companies you need.
📥 Input · 📤 Output · 💰 Pricing · ▶️ Examples
Table of contents
- What it does
- Quickstart
- Input reference
- Output reference
- Example output record
- Run via API and CLI
- Fetch results
- Billing and limits
- FAQ and troubleshooting
What it does
The actor searches the official French company registry (recherche-entreprises, backed by Sirene and RNE), applies the filters you pass as input, and writes one normalized record per company to the run's dataset. Each record carries the SIREN, head-office SIRET, legal form, NAF activity code, VAT number, INSEE size and headcount bands, structured officers under dirigeants, every matching establishment under matchingEstablishments, and headline finances (turnover and net income) where filed. Missing source values are returned as null.
Coverage is over 30 million French businesses. An optional contact-email finder (enrichContacts) attempts to add a public business email and contact name for results without one, and three optional AI add-ons write a KYB company profile (withAiCompanySummary), a KYB credit-risk assessment (withAiRiskFlags), and a normalized English industry classification (withAiIndustry). All add-ons are billed only on usable output and require a paid Apify plan.
Quickstart
Open the actor, paste this into the input, and press Run. It returns the 10 most relevant companies matching "boulangerie".
{"q": "boulangerie","maxCompanies": 10}
Provide at least a q (company name, trade name, officer name or SIREN) or one filter. Narrow with activitePrincipale (NAF code), departement, etatAdministratif, size and headcount filters.
Input reference
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
q | string | no | boulangerie | Free-text search across company name, trade name, officers and addresses, or a SIREN. |
activitePrincipale | string | no | (empty) | NAF / APE activity code, for example 10.71C (bread) or 62.01Z (software). |
departement | string | no | (empty) | French department code, for example 75, 13, 2A. |
codePostal | string | no | (empty) | Single 5-digit postal code, for example 75001. |
etatAdministratif | enum | no | (any) | A (active) or C (ceased). |
categorieEntreprise | enum | no | (any) | INSEE size: PME (SME), ETI (mid-size), GE (large). |
trancheEffectif | enum | no | (any) | INSEE employee headcount band code, for example 41 = 500 to 999. |
natureJuridique | string | no | (empty) | INSEE legal form code, for example 5710 (SAS), 5499 (SARL), 6540 (SCI). |
maxCompanies | integer | no | 10 | Maximum companies to collect. Free plans are capped at 10. |
enrichContacts | boolean | no | false | Contact-email finder for results without an email. Billed per attempt plus an extra charge only when an email is found; paid plans only. |
enrichContactsMax | integer | no | 50 | Cap how many results the finder tries to enrich. Free accounts are capped at 3. |
withAiCompanySummary | boolean | no | false | AI plain-English KYB company profile. Billed per enriched record; paid plans only. |
withAiRiskFlags | boolean | no | false | AI KYB credit-risk assessment with red-flag phrases and a risk level. Billed per enriched record; paid plans only. |
withAiIndustry | boolean | no | false | AI normalized English industry label, sector and keyword tags. Billed per enriched record; paid plans only. |
At least one of a search term or a filter is required. Filters combine with logical AND.
Output reference
One dataset item per company. Types: string, integer, boolean, string[], object, object[], or null when the source value is absent.
| Field | Type | Description |
|---|---|---|
siren | string | Nine-digit SIREN (unique per company). |
name | string | Company name. |
nomRaisonSociale | string | Registered corporate name. |
sigle | string | Acronym, or null. |
tradeName | string | Trade name, or null. |
enseignes | string[] | Commercial signs (enseignes). |
legalForm | string | Readable legal form. |
legalFormCode | string | INSEE legal form code. |
activitePrincipale | string | Main NAF / APE activity code. |
activitePrincipaleNaf25 | string | Main activity in the NAF 2025 nomenclature. |
sectionActivite | string | NAF section letter. |
dateCreation | string | Company creation date. |
etatAdministratif | string | Status code A or C. |
etatAdministratifLabel | string | Readable status (Active, Ceased). |
categorieEntreprise | string | INSEE size code (PME, ETI, GE). |
categorieEntrepriseLabel | string | Readable size category. |
employeeRange | string | Readable employee headcount band. |
employeeRangeCode | string | INSEE headcount band code. |
anneeEffectif | string | Year the headcount band applies to. |
siretSiege | string | Head-office SIRET. |
numeroTva | string | Intra-community VAT number. |
address | object | Head-office address with street, postalCode, city, departement, region, country, latitude, longitude. |
nombreEtablissements | integer | Total number of establishments. |
nombreEtablissementsOuverts | integer | Number of open establishments. |
dateFermeture | string | Closure date, or null. |
caractereEmployeur | string | Employer indicator, or null. |
conventionCollective | string[] | Collective agreement codes. |
certifications | string[] | Registered certifications and disclosures. |
isAssociation | boolean | Whether the entity is an association. |
isEntrepreneurIndividuel | boolean | Whether the entity is a sole trader. |
dirigeants | object[] | Officers and auditors (type, name, role, siren, birthYear, birthDate, nationality). |
matchingEstablishments | object[] | Matching establishments with SIRET, address, activity, status and coordinates. |
finances | object | Headline finances (year, ca turnover, resultatNet net income), or null. |
dateMiseAJour | string | Last registry update timestamp. |
observedAt | string | ISO 8601 timestamp of when the record was collected. |
error | string | null on success. On a failed run, a single item with a populated error field is written instead. |
enrichedEmail | string | Contact-email finder result (add-on), or null. |
enrichedContactName | string | Contact person name (add-on), or null. |
enrichedJobTitle | string | Contact job title (add-on), or null. |
enrichedEmailStatus | string | Email verification status (add-on). |
enrichedSource | string | Where the contact was found (add-on). |
enrichedConfidence | string | Confidence of the contact match (add-on). |
aiCompanySummary | string | AI KYB company profile (add-on). |
aiRiskLevel | string | AI KYB risk level low, medium or high (add-on). |
aiRiskFlags | string[] | AI red-flag phrases (add-on). |
aiRiskRationale | string | AI one-sentence risk rationale (add-on). |
aiIndustry | string | AI normalized English industry label (add-on). |
aiSector | string | AI sector label (add-on). |
aiIndustryTags | string[] | AI industry keyword tags (add-on). |
Example output record
Real record from a live run without add-ons (input {"q":"boulangerie","maxCompanies":3}):
{"siren": "403052111","name": "BOULANGERIES PAUL","nomRaisonSociale": "BOULANGERIES PAUL","sigle": null,"legalFormCode": "5710","legalForm": "SAS (societe par actions simplifiee)","activitePrincipale": "10.71A","activitePrincipaleNaf25": "10.71G","sectionActivite": "C","dateCreation": "1995-12-07","etatAdministratif": "A","etatAdministratifLabel": "Active","categorieEntreprise": "ETI","categorieEntrepriseLabel": "Mid-size enterprise","employeeRangeCode": "41","employeeRange": "500 to 999 employees","anneeEffectif": "2023","siretSiege": "40305211102616","numeroTva": "FR32403052111","address": {"full": "BATIMENT D.E 344 AVENUE DE LA MARNE 59700 MARCQ-EN-BARŒUL","street": "344 AVENUE DE LA MARNE","postalCode": "59700","city": "MARCQ-EN-BARŒUL","departement": "59","region": "32","country": "France","latitude": "50.678029398","longitude": "3.1169136021"},"nombreEtablissements": 315,"nombreEtablissementsOuverts": 141,"dirigeants": [{ "type": "person", "name": "FRANCIS HOLDER", "role": "Président de SAS", "siren": null, "birthYear": "1940", "birthDate": "1940-07", "nationality": null },{ "type": "person", "name": "MAXIME HOLDER", "role": "Directeur Général", "siren": null, "birthYear": "1969", "birthDate": "1969-08", "nationality": null },{ "type": "company", "name": "KPMG SA", "role": "Commissaire aux comptes titulaire", "siren": "775726417", "birthYear": null, "nationality": null }],"finances": { "year": 2023, "ca": 75869141, "resultatNet": -5022746 },"dateMiseAJour": "2026-07-24T08:46:19","observedAt": "2026-07-25T06:50:27.587Z","error": null}
Run via API and CLI
Start a run and wait for it to finish, then read the dataset. Replace <TOKEN> with your Apify API token.
Run synchronously and get dataset items in one call:
curl -X POST "https://api.apify.com/v2/acts/scrapers_lat~france-company-search-scraper/run-sync-get-dataset-items?token=<TOKEN>" \-H "Content-Type: application/json" \-d '{"q":"conseil","departement":"75","categorieEntreprise":"PME","maxCompanies":25}'
Start a run asynchronously:
curl -X POST "https://api.apify.com/v2/acts/scrapers_lat~france-company-search-scraper/runs?token=<TOKEN>" \-H "Content-Type: application/json" \-d '{"activitePrincipale":"62.01Z","etatAdministratif":"A","maxCompanies":100}'
Apify CLI:
apify call scrapers_lat/france-company-search-scraper \--input '{"q":"403052111"}'
Fetch results
Every run writes to a dataset. Fetch items as JSON, CSV, or Excel by changing format:
# JSONcurl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&clean=true&format=json"# CSVcurl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&clean=true&format=csv"# Paginate large datasetscurl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&offset=1000&limit=1000"
<DATASET_ID> is returned as defaultDatasetId in the run object. Use offset and limit to page through large result sets. clean=true drops empty and internal fields.
Billing and limits
- Pay per result. You are charged per company record returned (
resultevent). See the pricing tab for the current per-result price. - Contact finder add-on.
enrichContactsis billed per attempt, plus an extra charge only when an email is found, and requires a paid Apify plan (free accounts enrich at most 3 results). - AI add-ons.
withAiCompanySummary,withAiRiskFlagsandwithAiIndustryare billed separately per successfully processed record and require a paid Apify plan. They are skipped for free users. - No charge on failure. If a run errors or matches nothing, the actor writes a single item with an
errorfield and does not charge for it. Empty runs cost nothing. - Spend cap respected. Set
maxTotalChargeUsdon the run; once reached, the actor stops emitting and charging further billable results. - Free Apify plans are capped at 10 companies per run. Upgrade for higher
maxCompanies.
FAQ and troubleshooting
A run returned 0 records. Why? The search or filter combination matched nothing in the registry. Loosen filters (for example drop the NAF code or widen the department), or check the company name or SIREN. Zero-result runs are not charged.
How do I pull one exact company?
Search by its 9-digit SIREN in q. The registry returns the single matching company with its officers, establishments and finances.
Why are finances null on some companies?
Only companies that have filed accounts expose turnover and net income. Sole traders, associations and non-filers return finances as null, never invented.
How does the contact finder work?
When enrichContacts is on, the actor tries to find a public business email and contact person for results that lack one, and reports a confidence and source. It is billed per attempt plus a success charge, and requires a paid plan.
What do the AI fields do?
withAiCompanySummary writes a KYB profile, withAiRiskFlags flags credit risk with a level, and withAiIndustry normalizes the activity into an English industry, sector and tags. All are optional, billed on usable output, and require a paid plan.
Is this an official government tool? No. This actor is independent and has no affiliation with INSEE, INPI or the French government. It reads only publicly available registry data. Use the results in accordance with the source's terms.
Related scrapers
- BCRA Argentina Debtor & Credit Risk Scraper: Look up company and individual credit risk and debt status from Argentina's central bank.
- DataJud Brazil Court Case Scraper: Pull Brazilian court cases and litigation history for company background checks.
- SCE/SEACE Peru Procurement Scraper: Extract Peruvian public procurement tenders and awarded suppliers.
- France BODACC Insolvency & Legal Announcements Scraper: French insolvency, sale and registration announcements by company or SIREN.
- France BOAMP Public Tenders & Contract Awards Scraper: French public procurement notices and contract awards.
- EU VAT VIES Validation Scraper: Validate EU VAT numbers and pull the registered trader name and address.
More scrapers at scrapers.lat
Built and maintained by scrapers.lat, where we publish scrapers for US and Latin American public platforms: company registries, government data, finance, e-commerce and more. Browse the catalog or request a custom scraper at scrapers.lat.
Independent tool, not affiliated with INSEE, INPI or the French government. Accesses only publicly available registry data. Use the results in accordance with the source's terms.
