France SIRENE Company Registry Scraper
Pricing
Pay per event
France SIRENE Company Registry Scraper
π«π· Extract French SIRENE company and establishment records by name, SIREN/SIRET, location, NAF code, and active status.
Pricing
Pay per event
Rating
0.0
(0)
Developer
Stas Persiianenko
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
5 days ago
Last modified
Categories
Share
Extract French company and establishment records from the official SIRENE / Recherche Entreprises API.
Use this actor to build verified B2B lead lists, enrich SIREN or SIRET numbers, check company status, and export structured French registry data to JSON, CSV, Excel, or your own API workflow.
What does France SIRENE Company Registry Scraper do?
France SIRENE Company Registry Scraper searches the public French company registry and saves clean records to an Apify dataset.
It can search by:
- π company name or keyword
- π SIREN number
- π§Ύ SIRET number
- π postal code
- πΊοΈ department or region code
- π NAF / APE activity code
- β active or inactive administrative status
The source is the official public French government search API, so the actor does not need a browser, login, or private token.
Who is it for?
Sales and lead generation teams
Find French companies in a city, department, region, or activity category and export leads for outreach.
KYB and compliance teams
Check whether a French business is active, verify its SIREN/SIRET identifiers, and capture registry metadata for onboarding.
Market researchers
Measure company presence by industry, geography, establishment count, and administrative status.
Data enrichment teams
Append legal names, addresses, activity codes, and public registry URLs to an existing list of SIREN or SIRET numbers.
No-code automation users
Connect the actor to Google Sheets, Make, Zapier, Slack, or your CRM using Apify integrations.
Why use this actor?
- β Uses the official public SIRENE search API
- β HTTP-only, fast, and cost-efficient
- β Supports direct SIREN/SIRET lookup
- β Supports geographic and activity filters
- β Exports structured fields instead of raw API blobs
- β Includes source URLs for verification
- β Works well for recurring lead enrichment jobs
Data you can extract
| Field | Description |
|---|---|
siren | 9-digit company identifier |
siret | 14-digit establishment identifier |
legalName | Registered legal name |
fullName | Full public registry name |
tradeName | Commercial name when available |
companyStatus | Company administrative status |
establishmentStatus | Establishment administrative status |
isActive | Boolean active/inactive flag |
activityCode | NAF / APE code |
activityCodeNaf25 | NAF 2025 code when available |
legalFormCode | French legal-form code |
companyCategory | Company size category |
employeeRange | Company employee band |
address | Establishment address |
postalCode | Postal code |
communeName | Commune name |
department | Department code |
region | Region code |
latitude / longitude | Geolocation when published |
sourceUrl | Public Annuaire Entreprises URL |
sourceApiUrl | API request URL used for the record |
scrapedAt | Timestamp of extraction |
How much does it cost to scrape France SIRENE company records?
The actor uses pay-per-event pricing.
- A small one-time start event is charged when the run starts.
- A record-pack event is charged once for each started pack of 4 companies or establishments saved.
- The BRONZE reference price is $0.0001 per 4-record pack, which is about $0.000025 per record (about $0.025 per 1,000 records) when records are returned in full packs, with tier discounts on larger Apify plans.
- The final price is visible before you run the actor on Apify.
Because the scraper uses an official JSON API and no browser, it is designed to stay inexpensive for lead-generation and enrichment workloads.
Input options
queries
Search terms such as:
boulangerie Parisrestaurant LyonsociΓ©tΓ© conseil informatiqueplomberie Marseille
identifiers
Direct SIREN or SIRET lookup values.
Examples:
83099817583099817500012
maxResults
Maximum number of records to save.
Start with a small value such as 25 or 50 when testing.
activeStatus
Choose:
allactiveinactive
establishmentMode
Choose:
headquartersβ one row per company head officematchingEstablishmentsβ rows for matching establishments returned by the API
Geographic filters
Use one or more of:
postalCodesdepartmentsregions
Activity filters
Use activityCodes for NAF / APE codes such as:
56.10Arestaurants47.11Dsupermarkets62.01Zsoftware publishing
Example input
{"queries": ["boulangerie Paris"],"maxResults": 50,"activeStatus": "active","establishmentMode": "headquarters","departments": ["75"],"resultsPerPage": 25,"requestDelayMs": 200}
Example output
{"query": "boulangerie Paris","siren": "123456789","siret": "12345678900012","legalName": "EXAMPLE BOULANGERIE","tradeName": "BOULANGERIE EXAMPLE","companyStatus": "A","isActive": true,"activityCode": "10.71C","address": "1 RUE EXEMPLE 75001 PARIS","postalCode": "75001","communeName": "PARIS","department": "75","sourceUrl": "https://annuaire-entreprises.data.gouv.fr/entreprise/123456789","scrapedAt": "2026-06-10T00:00:00.000Z"}
How to run
- Open the actor on Apify.
- Enter one or more search terms or SIREN/SIRET numbers.
- Add optional location or activity filters.
- Set
maxResults. - Click Start.
- Export the dataset as CSV, Excel, JSON, XML, or RSS.
Search tips
- Use French business terms for better coverage.
- Combine keywords with location filters for cleaner leads.
- Use SIREN/SIRET lookup when enriching a known list.
- Use
activeStatus: activefor prospecting. - Use
matchingEstablishmentswhen you need branch-level locations. - Keep
resultsPerPageat 25 for efficient pagination.
Common use cases
- Build a list of restaurants in a department.
- Find active construction companies by NAF code.
- Enrich CRM rows with SIREN and SIRET identifiers.
- Verify whether a French supplier is still active.
- Create a local-business database for market analysis.
- Monitor changes in public company availability.
Integrations
You can connect results to:
- Google Sheets for lead lists
- Make for no-code automations
- Zapier for CRM workflows
- Slack for status notifications
- Webhooks for enrichment pipelines
- Apify API for scheduled data jobs
API usage
Node.js
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: process.env.APIFY_TOKEN });const run = await client.actor('automation-lab/france-sirene-company-registry-scraper').call({queries: ['restaurant Lyon'],maxResults: 25,activeStatus: 'active'});console.log(run.defaultDatasetId);
Python
from apify_client import ApifyClientclient = ApifyClient('MY-APIFY-TOKEN')run = client.actor('automation-lab/france-sirene-company-registry-scraper').call(run_input={'queries': ['restaurant Lyon'],'maxResults': 25,'activeStatus': 'active',})print(run['defaultDatasetId'])
cURL
curl -X POST 'https://api.apify.com/v2/acts/automation-lab~france-sirene-company-registry-scraper/runs?token=YOUR_TOKEN' \-H 'Content-Type: application/json' \-d '{"queries":["restaurant Lyon"],"maxResults":25,"activeStatus":"active"}'
MCP usage
Use this actor from Claude Desktop, Claude Code, or any MCP-compatible client through Apify MCP Server.
MCP server URL:
https://mcp.apify.com/?tools=automation-lab/france-sirene-company-registry-scraper
Claude Code setup:
$claude mcp add apify-france-sirene "https://mcp.apify.com/?tools=automation-lab/france-sirene-company-registry-scraper"
Claude Desktop JSON config:
{"mcpServers": {"apify-france-sirene": {"url": "https://mcp.apify.com/?tools=automation-lab/france-sirene-company-registry-scraper"}}}
Example prompts:
- "Find 25 active bakeries in Paris from the SIRENE registry."
- "Enrich these SIREN numbers with legal names and addresses."
- "Export active restaurants in department 69 with SIRET and address fields."
Scheduling
Schedule the actor to refresh a French company lead list weekly or monthly.
Recommended recurring setup:
- Keep a stable query and filters.
- Export the dataset to your warehouse.
- Deduplicate by SIRET.
- Track changes in
companyStatus,address, oractivityCode.
Data quality notes
The actor returns fields published by the public registry API.
Some companies may not publish every optional field. For example, geolocation, employee range, or trade name may be missing for some records.
Use siren for company-level deduplication and siret for establishment-level deduplication.
Legality
This actor uses public French government registry data. You are responsible for using exported data lawfully, including respecting GDPR, ePrivacy, anti-spam rules, and contractual obligations that apply to your use case.
Do not use the data for unlawful profiling, harassment, or unsolicited communications that violate applicable law.
FAQ
Is this an official French government actor?
No. The actor is built by Automation Lab and uses the public official Recherche Entreprises / SIRENE API as its data source.
Can I search only active companies?
Yes. Set activeStatus to active to request active registry records.
Can I deduplicate results?
Yes. Use siret for establishment-level deduplication or siren for company-level deduplication.
Troubleshooting
Why did I get fewer records than requested?
The source may have fewer matching records for your query and filters, or duplicates may be removed by SIRET.
Why are some fields empty?
The public API does not publish every optional attribute for every company or establishment.
Why did a SIREN lookup return one company but no branch rows?
Use establishmentMode: matchingEstablishments to return matching establishment rows when the API exposes them.
Related scrapers
Explore other Automation Lab actors for company, lead-generation, and public registry workflows:
- https://apify.com/automation-lab/google-maps-lead-finder
- https://apify.com/automation-lab/companies-house-scraper
- https://apify.com/automation-lab/npi-registry-scraper
- https://apify.com/automation-lab/zefix-scraper
Support
If you need a field that exists in the public SIRENE API but is not exported yet, open an issue with an example SIREN/SIRET and the field name.
Changelog
Initial version:
- Search by keyword or identifier
- Location and NAF filters
- Active/inactive status filter
- Headquarters or matching-establishments mode
- Structured output dataset