VOOZH about

URL: https://apify.com/automation-lab/french-companies-sirene-scraper

⇱ French Companies SIRENE Scraper | SIREN & SIRET Extractor Β· Apify


Pricing

Pay per event

Go to Apify Store

French Companies SIRENE Scraper

Search and enrich French companies from official SIRENE data. Export SIREN, SIRET, names, addresses, activity codes, and source URLs.

Pricing

Pay per event

Rating

0.0

(0)

Developer

πŸ‘ Stas Persiianenko

Stas Persiianenko

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Categories

Share

Search and enrich French companies from the public SIRENE / Annuaire des Entreprises API. Export clean company records with SIREN, SIRET, legal names, activity codes, addresses, establishment counts, and source URLs for B2B enrichment workflows.

What does French Companies SIRENE Scraper do?

French Companies SIRENE Scraper turns French public company registry search into a repeatable Apify dataset.

It queries recherche-entreprises.api.gouv.fr, the public Annuaire des Entreprises search API backed by official French company data, and flattens the response into spreadsheet-ready records.

Use it to collect French business leads, enrich CRM rows, validate SIREN/SIRET identifiers, or map companies by keyword and location.

Who is it for?

  • πŸ§‘β€πŸ’Ό B2B sales teams building French prospect lists by activity or city
  • 🧾 Compliance teams checking vendor identifiers and legal names
  • πŸ§‘β€πŸ’» Data teams enriching CRM records with official registry fields
  • πŸ“ Market researchers mapping companies by French department or postal-code prefix
  • πŸ”Ž Analysts who need a lighter government-API alternative to Pappers page scraping

Why use this actor?

The actor is HTTP-only and uses a public JSON endpoint, so runs are fast, predictable, and inexpensive.

It also saves the API URL and public source URL for every row, which helps with audits and repeatable enrichment pipelines.

Data source

The source is the French public Annuaire des Entreprises search endpoint:

https://recherche-entreprises.api.gouv.fr/search

The actor does not log in, bypass paywalls, or scrape private account data.

Data you can extract

Field groupExamples
IdentifiersSIREN, SIRET
Namescompany name, full name, trade name
Legal/activitylegal category, activity code, activity label
Locationaddress, postal code, city, department, coordinates
Statusactive company flag, active establishment flag, creation dates
Scaleestablishment count, open establishment count, workforce range
Peopledirectors when returned by the public API
Provenancesource URL, API URL, scrape timestamp

How much does it cost to scrape French SIRENE companies?

This actor uses pay-per-event pricing: a small run start event plus a per-company dataset item event.

Formula-derived pricing from the realistic cloud run:

  • Start event: $0.005 per run
  • Company item event, BRONZE tier: $0.000030384 per extracted company
  • Higher-volume tiers decrease down to $0.00001 per company at DIAMOND

The price was checked against Pappers/SIRENE competitor benchmarks and is below common company-enrichment pricing because the public API is lightweight.

Input options

Company search queries

Use queries for names, brands, activities, cities, or free-text searches such as:

  • restaurant paris
  • boulangerie lyon
  • peugeot

Exact SIREN enrichment

Use sirens for 9-digit French company identifiers.

Example: 552100554

Exact SIRET enrichment

Use sirets for 14-digit French establishment identifiers.

The public API search endpoint accepts SIRET-like text searches and the actor stores the matching head-office SIRET returned by the source.

Location filters

Use departments for French department codes such as 75, 13, 69, or 971.

Use postalCodes for postal-code prefixes such as 750, 130, or 690.

Filters are applied to the returned establishment postal code so the output remains predictable even if the upstream API changes its optional filter parameters.

Example input: Paris restaurants

{
"queries":["restaurant paris"],
"departments":["75"],
"maxItems":50
}

Example input: enrich exact companies

{
"sirens":["552100554"],
"queries":["airbus"],
"maxItems":25
}

Example output item

{
"query":"restaurant paris",
"queryType":"search",
"siren":"830998175",
"siret":"83099817500010",
"companyName":"SARL RESTAURANT LES PEUPLIERS",
"mainActivityCode":"56.10A",
"address":"CAMPING PLAGE LES PEUPLIERS 67470 SELTZ",
"postalCode":"67470",
"department":"67",
"source":"recherche-entreprises.api.gouv.fr",
"scrapedAt":"2026-06-26T00:00:00.000Z"
}

How to run

  1. Open the actor on Apify.
  2. Add one or more queries, sirens, or sirets.
  3. Set maxItems to your desired dataset size.
  4. Optionally add departments or postalCodes.
  5. Start the run and download the dataset as JSON, CSV, Excel, or via API.

Tips for better results

  • Use activity words plus a city for lead generation, for example cabinet comptable lyon.
  • Use exact SIREN values for enrichment when you already have identifiers.
  • Keep maxItems small for testing, then scale up once the output shape matches your workflow.
  • Use department filters for regional campaigns.

Integrations

Common workflows:

  • 🧩 CRM enrichment: upload SIREN values, export records, join by SIREN.
  • πŸ“Š Market mapping: search an activity across departments and aggregate counts.
  • 🧾 Vendor checks: validate names, addresses, and legal identifiers before onboarding.
  • πŸ” Scheduled monitoring: run a saved task weekly for a keyword and compare new SIRENs.

API usage with Node.js

import{ ApifyClient }from'apify-client';
const client =newApifyClient({token: process.env.APIFY_TOKEN});
const run =await client.actor('automation-lab/french-companies-sirene-scraper').call({
queries:['restaurant paris'],
maxItems:100,
});
console.log(run.defaultDatasetId);

API usage with Python

from apify_client import ApifyClient
client = ApifyClient('MY-APIFY-TOKEN')
run = client.actor('automation-lab/french-companies-sirene-scraper').call(run_input={
'queries':['boulangerie lyon'],
'maxItems':100,
})
print(run['defaultDatasetId'])

API usage with cURL

curl-X POST 'https://api.apify.com/v2/acts/automation-lab~french-companies-sirene-scraper/runs?token=MY-APIFY-TOKEN'\
-H'Content-Type: application/json'\
-d'{"queries":["restaurant paris"],"maxItems":100}'

MCP: use from Claude Desktop or Claude Code

You can connect Apify actors to MCP clients through Apify MCP Server.

Use a URL scoped to this actor:

https://mcp.apify.com/?tools=automation-lab/french-companies-sirene-scraper

Claude Code setup:

$claude mcp add apify-french-sirene "https://mcp.apify.com/?tools=automation-lab/french-companies-sirene-scraper"

Claude Desktop JSON configuration:

{
"mcpServers":{
"apify-french-sirene":{
"url":"https://mcp.apify.com/?tools=automation-lab/french-companies-sirene-scraper"
}
}
}

Example prompts:

  • β€œFind 50 French restaurants in Paris and return their SIREN numbers.”
  • β€œEnrich this SIREN list with official company names and addresses.”
  • β€œBuild a CSV of accounting firms in Lyon from the French company registry.”

Scheduling and monitoring

Create an Apify task with a fixed input and schedule it daily, weekly, or monthly.

For monitoring, keep the same search query and compare SIREN values between datasets.

Limits and reliability

The upstream API is public and may apply rate limits or temporary errors.

The actor retries 429 and 5xx responses with backoff.

If a broad query returns too many irrelevant records, narrow it with a city, activity phrase, department, or postal-code prefix.

Legality

This actor uses a public government API and outputs business registry information.

You are responsible for using the data in compliance with applicable laws, platform terms, GDPR, and your own business policies.

Avoid using public registry data for spam or unlawful profiling.

Troubleshooting

I got zero results

Check that at least one queries, sirens, or sirets value is present. Then try a broader term without location filters.

My department filter removed expected records

The actor derives departments from establishment postal codes. If the company head office is outside the target department, it may be filtered out even when the brand operates there.

The run was slower than expected

Reduce maxItems, use fewer broad queries, or provide exact SIREN values.

Related scrapers

These Automation Labs actors may fit adjacent workflows:

FAQ

Does this actor scrape Pappers?

No. It targets the public French government company-search API to avoid Cloudflare-protected Pappers pages and provide stable official-source enrichment.

Can I search by SIREN?

Yes. Put 9-digit identifiers in sirens or include them as query text.

Can I export CSV?

Yes. Apify datasets can be downloaded as CSV, JSON, Excel, XML, RSS, or HTML.

Does it need proxies?

No proxy is required for the MVP because the source API returned public JSON without login or browser rendering.

Changelog

  • 0.1.0 Initial private build with keyword, SIREN, SIRET, department, postal-code, and max item controls.

Field reference

The dataset schema includes all emitted fields. Keep joins on stable identifiers: siren for companies and siret for establishments.

Support

If a run fails, open the Apify run log and copy the failing query, status code, and run ID when asking for help.

Implementation notes

The actor is implemented as an HTTP-only TypeScript actor using the Apify SDK and built-in Node.js fetch.

Quality checklist

The actor keeps defaults small for affordable first runs, but supports larger maxItems values for production enrichment.

You might also like

France Companies (SIRENE) Scraper

seemuapps/pappers-sirene-scraper

Search 26M+ French companies in the official SIRENE registry β€” by name, location, NAF code, or SIREN/SIRET β€” and export to a dataset.

France SIRENE Company Registry Scraper

automation-lab/france-sirene-company-registry-scraper

πŸ‡«πŸ‡· Extract French SIRENE company and establishment records by name, SIREN/SIRET, location, NAF code, and active status.

πŸ‘ User avatar

Stas Persiianenko

2

Pappers / Sirene Scraper: 26M French Companies SIREN/SIRET

dltik/pappers-sirene-scraper

Search 26M+ French companies from the official Sirene database. Get SIREN, SIRET, legal name, address, dirigeants, NAF code, finances, GPS coordinates. Text search, geo radius, batch SIREN lookup, 53 filters. For B2B prospecting, KYC verification, CRM enrichment, lead generation. $5/1K companies.

Pappers Sirene Scraper

maximedupre/pappers-sirene-scraper

Search French companies by text, filters, coordinates, or SIREN/SIRET. Export official company data with addresses, NAF codes, dirigeants, financials, establishments, Pappers links, and registry flags.

πŸ‘ User avatar

Maxime DuprΓ©

2

France Annuaire Entreprises Scraper (SIRENE)

parseforge/france-annuaire-entreprises-scraper

Search the French national business registry (SIRENE) and pull rich company records: SIREN, SIRET, legal name, headquarters, NAF activity, employee band, registration date, directors, capital, status and geo coords. Free filtering by name, sector or location across 30M+ active French firms.

France SIRENE Scraper | INSEE Company Register Data

parseforge/france-sirene-scraper

Export French company records from the INSEE SIRENE register: SIREN, SIRET, legal name, NAF activity code, address, postal code, status and creation date. Filter by query, postal code, department or activity code. CSV, Excel, JSON or XML.

French Company Enrichment β€” SIREN/SIRET Lookup

studio-amba/french-company-enrichment

Enrich French company data from the official government registry. Look up by company name, SIREN, SIRET, postal code, or NAF code. Returns company name, legal form, address, directors, NAF activity codes, employee count, revenue, and all establishments. No cookies, no login.