France Company KYC — SIREN, Officers & Financials | $4/1K
Pricing
from $3.88 / 1,000 companies
France Company KYC — SIREN, Officers & Financials | $4/1K
Search French company records in the official Recherche-Entreprises API. Get normalized identity, status, officers, address, activity, financial, and establishment data. Use queries; no API key. Pricing: $0.004 per company record on the Free plan.
Pricing
from $3.88 / 1,000 companies
Rating
0.0
(0)
Developer
Vitalii Bondarev
Maintained by CommunityActor stats
0
Bookmarked
40
Total users
4
Monthly active users
4 days ago
Last modified
Categories
Features
Share
French Company Registry Scraper
For KYC teams, B2B sales reps, and M&A analysts, this Actor searches French companies and extracts SIREN/SIRET identity, status, officers, financials, addresses, and NAF data.
It uses the official SIRENE / Recherche-Entreprises API; no buyer API key or source login is required.
- Verify French counterparties with SIREN/SIRET, legal status, registered address, and officer data.
- Enrich B2B prospect lists with company names, NAF activity, locations, size, and employee bands.
- Map M&A sector exposure using NAF codes, company categories, and establishment counts.
- Extract latest revenue, net income, and finance year when published accounts are available.
- Search company names, cities, activities, or free text across one or more queries.
What you get
| Field family | Fields | Description |
|---|---|---|
| Identity | siren, siret | French company and registered-office establishment identifiers. |
| Names | name, legal_name, trade_name, acronym | Display, legal, commercial, and acronym fields when available. |
| Legal and status | legal_form_code, status | Nature juridique code and returned administrative status. |
| Activity | naf_code, naf_label | NAF/APE code and English NAF section label. |
| Size | category, employee_band | GE / ETI / PME / TPE category and decoded employee band. |
| Dates | incorporation_date, closure_date | Creation and applicable closure dates. |
| Registered office | address, city, postal_code, department, region | Formatted address and geographic codes. |
| Coordinates | latitude, longitude | Registered-office GPS coordinates when available. |
| Financials | revenue, net_income, finance_year | Latest available turnover, net income, and finance year. |
| Officers | officers, officers_count | Dirigeants list and count. Objects can include last_name, first_name, role, birth_year, nationality, and type. |
| Establishments | establishments_count, open_establishments_count | Total and open establishment counts. |
| Provenance | query, scraped_at | Query that returned the record and run timestamp. |
| Quality | parse_confidence, warnings | Quality score from 0 to 1 and machine-readable flags. |
Sample output
The sample is shortened by omitting only the acronym field.
{"siren": "919781021", "siret": "91978102100010","name": "LVMH", "legal_name": "LVMH","trade_name": null, "legal_form_code": "6540", "status": "active","naf_code": "68.20B", "naf_label": "Real Estate","category": null, "employee_band": "Non-employer unit","incorporation_date": "2022-10-01", "closure_date": null,"address": "2 CHE DU VIEUX MOULIN 07300 TOURNON SUR RHONE","city": "TOURNON SUR RHONE", "postal_code": "07300","department": "07", "region": "84","latitude": 45.063211747, "longitude": 4.8468676796,"revenue": null, "net_income": null, "finance_year": null,"officers": [{"last_name":"HAUTESSERRES","first_name":"VANESSA DINA RAYMONDE","role":"Gérant et associé indéfiniment responsable","birth_year":"1981","nationality":null,"type":"personne physique"},{"last_name":"MARTIN","first_name":"LUDOVIC JEAN AUGUSTE","role":"Associé indéfiniment responsable","birth_year":"1981","nationality":null,"type":"personne physique"}],"officers_count": 2, "establishments_count": 1, "open_establishments_count": 1,"query": "LVMH", "scraped_at": "2026-10-30T01:34:39Z","parse_confidence": 1, "warnings": []}
Pricing
The current billing model is Pay Per Event. Prices below are per event:
company-record: one event for each scraped company result, including all fields.apify-actor-start: charged when the Actor starts running.- The
financials-recordevent has no price, and theofficers-fetchevent has no price in the published pricing information.
| Event | Free plan | Bronze plan | Silver plan |
|---|---|---|---|
company-record | $0.004 per event | $0.00396 per event | $0.00392 per event |
apify-actor-start | $0.00005 per event | $0.0000495 per event | $0.000049 per event |
financials-record | No price | No price | No price |
officers-fetch | No price | No price | No price |
| Event | Gold plan | Platinum plan | Diamond plan |
|---|---|---|---|
company-record | $0.00388 per event | $0.00384 per event | $0.0038 per event |
apify-actor-start | $0.0000485 per event | $0.000048 per event | $0.0000475 per event |
financials-record | No price | No price | No price |
officers-fetch | No price | No price | No price |
Worked example: 1,000 company records = $4.00 on the Free plan for company-record events; 10,000 company records = $40.00 on the Free plan for company-record events, plus the applicable apify-actor-start charge of $0.00005 per event on the Free plan.
The Apify Free plan includes $5 of monthly platform usage credit. The supplied Free-plan calculation gives 1,249 company-record events after one $0.00005 Free-plan Actor Start event, before any events without a current price. The Free plan limits output to 25 results per run; paid Apify plans remove the per-run cap.
For this Actor, compute, Apify Proxy traffic including residential traffic, and storage are included in event prices and paid by the Actor developer.
How to use
- Enter one or more strings in
queries, such as a company name, city, activity, or free-text search. Each query is searched separately and matching results are merged. - Set
maxResultsPerQueryto an integer limit. Use0for no requested limit, subject to the source API maximum of approximately 10,000 results. - Choose filters: keep
activeOnlyenabled for active entities, setcategorieEntreprisetoGE,ETI,PME, orTPE, and enablerequireFinancialswhen you need companies with published accounts. - Keep
includeOfficersenabled for officer lists; set it tofalsewhen firmographic fields are sufficient. - Run the Actor, inspect
parse_confidenceandwarnings, and repeat the run through Apify Schedules; a monthly schedule is a suitable starting point for this registry job.
{"queries": ["LVMH"],"maxResultsPerQuery": 5,"includeOfficers": false,"activeOnly": true,"requireFinancials": false,"categorieEntreprise": "","disableUsageStats": false}
Export the dataset as JSON or CSV, or read it through the Apify dataset API.
Input parameters
| Parameter | What it does | Default |
|---|---|---|
queries | Required array of search strings. Empty strings are removed; each remaining query is searched separately. | Required |
maxResultsPerQuery | Maximum records per query. 0 means no requested limit, up to the API maximum of approximately 10,000. | 25 in the input schema; code fallback is 100 when omitted |
includeOfficers | Includes the normalized dirigeants list when true; sets officers to null when false. | true |
activeOnly | When true, keeps active administrative status; when false, also permits closed or dissolved entities. | true |
requireFinancials | Sends the financial-data filter and returns companies with filed published accounts. | false |
categorieEntreprise | Filters by GE, ETI, PME, or TPE; an empty string applies no size filter. TPE maps to employee bands below 10 employees. | "" |
Limits and edge cases
| Condition | What you see | What to do |
|---|---|---|
| The run uses the Apify Free plan | The Actor stops after 25 output records per run. | Use a paid Apify plan to go beyond 25 output records per run, or run a smaller preview. |
maxResultsPerQuery is 0 | The Actor paginates without a requested per-query limit, but the source API has a maximum of approximately 10,000 results. | Use a specific limit or split broad searches. |
| No query remains after empty values are removed | The run records no_queries in OUTPUT and returns without company records. | Provide at least one non-empty queries value. |
| A search has no matches | The dataset is empty for that search and no company-record event is charged. | Broaden the company, city, activity, or free-text query. |
| A query receives an API error or remains rate limited after retries | The query is recorded as failed and later queries continue; earlier pushed records remain available. | Retry the run or use narrower queries. |
| A matching company has no published financial data | revenue, net_income, and finance_year can be null. | Set requireFinancials to true when financial data is essential. |
parse_confidence is below 0.7 | The record may be incomplete, with details in warnings when available. | Review the affected fields and warnings. |
| The same SIREN appears through multiple queries | Duplicate records are skipped. | Use query to see which query produced each retained record. |
FAQ
How much does it cost to scrape French companies?
On the Free plan, company-record costs $0.004 per result and apify-actor-start costs $0.00005 per event. 1,000 company records = $4.00 on the Free plan, plus the applicable Actor Start event.
Do I need an API key or login?
No API key or source login is required. The Actor calls the official open Recherche-Entreprises API; you supply your Apify account.
Why use this instead of the official Recherche-Entreprises API?
The Actor returns flat normalized records, accepts multiple queries, applies the documented filters, paginates source results, and removes duplicate SIRENs across the run.
What if my search is empty or a query is not working?
For no matches, broaden the search string. For an API error or rate limit, the affected query is recorded as failed while later queries continue; retry with a narrower query.
Is it legal to use this public company data?
The Actor accesses public data from the official Recherche-Entreprises API, sourced from INSEE SIRENE and RNE. Source terms and applicable law depend on your use case; this README does not provide a legal guarantee.
Related actors
- UK Companies House Scraper — Official API, Officers & SIC — related UK company-registry data, including officers and SIC information.
- Israel Companies Registrar — Status, Type & Address Lookup — Israeli company-registry status, type, and address lookups.
- Poland Company Registry — KRS/REGON Official API — Polish company-registry data from official KRS/REGON APIs.
Usage statistics
This Actor creates a small, content-free summary at the end of each run, used only to monitor reliability and improve this Actor. No input values, credentials or scraped data are sent.
A copy of the exact record for your run is saved as USAGE_STATS in your own Apify key-value store.
To opt out, set disableUsageStats to true in the input. Nothing is sent then.