French Company Data API - SIREN, SIRET, NAF & Revenue avatar

French Company Data API - SIREN, SIRET, NAF & Revenue

Pricing

$1.00 / 1,000 results

Go to Apify Store
French Company Data API - SIREN, SIRET, NAF & Revenue

French Company Data API - SIREN, SIRET, NAF & Revenue

French company data for B2B lead lists: search the official SIRENE-based register by name, NAF code, department, size or revenue. One result = one company: SIREN, SIRET, NAF, employees, revenue, VAT, address, GPS, labels. No login. $1.00 per 1,000 results.

Pricing

$1.00 / 1,000 results

Rating

0.0

(0)

Developer

Giovanni Rich

Giovanni Rich

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Security

Limited permissions

Share

This French company data actor turns the official French government company search (API Recherche d'Entreprises, built on the Sirene and RNE registers) into clean B2B company lists: search by name, SIREN, NAF activity code, department, postal code, company size, employee band, revenue or label, and get one row per company with SIREN, SIRET, name, NAF code, size, employee band, revenue, net result, VAT number, head office address, GPS coordinates and labels, as JSON, CSV or Excel. Use it as a SIRENE company search, a France company database for lead generation, a French company lookup by SIREN, or a KYB and CRM enrichment source, from your own code, Make, Zapier, n8n or an AI agent.

What goes in: search terms, or filters alone (for example NAF 43.21A in department 13 with revenue above €500,000). What comes out: one row per company. When to use it: you need a filtered list of French companies with their legal and size data, without writing paging and filter code against the API yourself.

$1.00 per 1,000 companies, no start fee. No login, no API key, no browser.

What it does not have: no e-mail addresses, phone numbers or websites. The register does not hold them. Pair it with a contact-finding tool if you need those.

The source is free. The API this actor reads is open to anyone. You pay here for ready-made filters, paging, deduplication, opt-out handling, clean English field names and an export, not for exclusive data.

What you get

  • Identity: SIREN, head office SIRET, full and legal name, acronym, trade names, VAT number(s), legal form code, status, creation and closure dates.
  • Activity and size: NAF code (and the new NAF 2025 code), NAF section, INSEE size category (PME, ETI, GE), employee band with its year.
  • Finance: latest revenue and net result with their year, when the company publishes accounts.
  • Place: head office address, postal code, city, department, region, GPS, number of establishments, and the establishment that matched your search.
  • Labels: RGE, Qualiopi, Organic, social economy (ESS), training organisation, mission-driven company and more.
  • On request: directors (name and role, never birth dates), all matching establishments.

Fill rates in a 500-company test (NAF 47.11F, all France, run on 4 November 2026): SIREN, name, NAF, legal form, employee band and address 100%, postal code 99%, GPS 98%, VAT 98%, size category 99%, revenue and net result 90%. In the 10-company demo (software companies with a site in Rhône), 8 had revenue and 7 a VAT number. Sectors differ: treat these as examples. Missing fields are null or an empty list.

Sample output

Real rows from the prefilled demo (software companies, NAF 62.01Z, PME, with a site in department 69):

nameemployeesrevenue (EUR)yearhead officematched site
TRUSTTEAM100-1998,904,9882022MAXEVILLESAINT-PRIEST
INLEED (IN-LEED)20-492,107,3962025BOURGESLIMONEST
CELERES FRANCE20-495,964,0002024LAVELANETCHASSIEU
RSF COM10-193,374,3372022LIMONESTLIMONEST

Use cases

  • B2B lead lists: all electricians with an RGE label and over €500,000 revenue in two departments
  • Market sizing: how many companies have a given NAF code and employee band in a region
  • CRM enrichment and KYB: look up SIREN numbers and add legal form, VAT, size, revenue and status
  • Territory planning: head office and matched-site coordinates for mapping
  • Investment and M&A sourcing: filter by sector, size and net result

Pricing

$1.00 per 1,000 companies (pay per result; one result = one company saved to the dataset). No start fee. Directors and establishments are included at the same price, and so is Apify platform usage.

You fetchYou pay
100 companies$0.10
1,000 companies$1.00
10,000 companies$10.00

Other French company actors on the Apify Store, free-plan prices per 1,000, from the Store snapshot of 21 October 2026 (check their pages for current prices; their fields and sources differ):

ActorPrice per 1,000
dltik Pappers + SIRENE$8.00 ($10.00 with analysis)
epicscrapers Pappers$4.00 + small start fee
orizondeveloppement French company data$5.00
revenuepilot France company finder$2.00
studio-amba Recherche d'Entreprises$12.00 + $0.01 start
This actor$1.00, no start fee

Duplicates, skipped companies (below), searches that find nothing and failed requests are never charged. If you set a maximum cost per run, the actor stops cleanly when it reaches it.

Opt-outs and sole traders

By default the actor leaves out two groups, at no charge:

  • Companies that opposed commercial use. The API marks companies that object to reuse of their data for commercial prospecting (GDPR article 21(2); article R.123-320 of the French Commercial Code). This is a large share: in the 500-company test, 391 companies were skipped this way for 500 kept (44% of those seen). Turn excludeOptedOut off only if your use is not prospecting.
  • Sole traders. Their company name is a person's name. Turn excludeSoleTraders off if you need them.

FAQ

Why does a company in Lyon's department have its head office in Paris? Place filters match any establishment of the company, not only the head office. matchedEstablishment shows the site that matched. To keep head offices in an area only, filter on department in the output.

How many results can one search return? The API stops at 10,000 per search. Split a big search by department or NAF code to go deeper. maxResultsPerSearch: 0 takes as many as the API allows.

Does the list come in a useful order? The API decides the default order; sortBySize puts the companies with the most establishments first.

How fresh is the data? As fresh as the API: the actor reads it live at each run and stores nothing.

Where does revenue come from, and why is it sometimes 0 or old? From the accounts companies publish, as the API gives them. financialYear tells you the year. Many companies do not publish, and a value of 0 is passed on as given.

What about the API's rate limit? The API allows 7 requests per second per IP and 30 per second per network, and asks clients to slow down when busy. The actor stays at 4 requests per second, waits when told to (HTTP 429 with Retry-After), and uses no proxy. Busy periods can make a run slower. Each request returns up to 25 companies. In a local test, 500 companies took 17 seconds.

Is the data licensed for commercial use? The datasets behind this API, including the Sirene base, are published on data.gouv.fr under the French Licence Ouverte 2.0, which allows commercial reuse with credit to the source (checked 4 November 2026). The API's own listing on api.gouv.fr says "licence non renseignée", so I am relying on the dataset licence. Credit the source when you republish: "Annuaire des Entreprises / Insee Sirene". This is not legal advice.

Does it return personal data? Only on request. Directors are off by default; when on, they include name and role as registered, and birth dates are never collected. Names are personal data under GDPR: you are responsible for how you use them. Companies that opposed commercial use and sole traders are left out by default.

Is this an official government product? No. It is an independent tool that reads a public government API.

How to use

  1. Type Search terms (name, SIREN) and/or set filters: NAF codes (62.01Z), departments (69), company size (PME), employee bands (12 = 20-49), revenue, labels (rge).
  2. Set Max companies per search.
  3. Click Start, then download from the Output tab or fetch through the Apify API.

A filter with no valid value stops the run with an error rather than widening your search.

Input

FieldDefaultDescription
searchTerms-Name, address words or SIREN / SIRET
nafCodes / nafSections-62.01Z / F
companySizes-PME, ETI, GE
employeeBands-INSEE band codes, listed in the field description
legalForms-Four-digit codes, e.g. 5710 (SAS)
minRevenue / maxRevenue / minNetResult / maxNetResult-Euros
labels-rge, bio, qualiopi, ess, training, mission, heritage, association
departments / regions / postalCodes / communeCodes-Place filters (any establishment)
activeOnlytrueLeave out ceased companies
excludeSoleTraders / excludeOptedOuttrueSee above
includeDirectors / includeEstablishmentsfalseAdd directors / all matching establishments
sortBySizefalseMost establishments first
maxResultsPerSearch1000 = API limit of 10,000

With no input at all, a 10-company demo runs.

Input example

{
"nafCodes": ["43.21A"],
"departments": ["13", "59"],
"companySizes": ["PME"],
"minRevenue": 500000,
"labels": ["rge"],
"maxResultsPerSearch": 200
}

Output example

Real row from the prefilled demo:

{
"siren": "519037253",
"siret": "51903725300043",
"name": "TRUSTTEAM",
"legalName": "TRUSTTEAM",
"acronym": null,
"tradeNames": ["TRUSTTEAM", "DSOFT"],
"status": "active",
"createdDate": "2009-12-23",
"closedDate": null,
"nafCode": "62.01Z",
"nafCode2025": "62.20H",
"nafSection": "J",
"legalFormCode": "5710",
"companySize": "PME",
"employeeBand": "100-199",
"employeeBandCode": "22",
"employeeBandYear": 2024,
"revenue": 8904988,
"netResult": 1603916,
"financialYear": 2022,
"vatNumbers": ["FR65519037253"],
"address": "PARC D'ACTIVITES SAINT JACQUES 41 RUE ALBERT EINSTEIN 54320 MAXEVILLE",
"postalCode": "54320",
"city": "MAXEVILLE",
"department": "54",
"region": "44",
"latitude": 48.7006371,
"longitude": 6.1223250588,
"establishmentsTotal": 14,
"establishmentsOpen": 12,
"labels": [],
"soleTrader": false,
"commercialUseOptOut": false,
"matchedEstablishment": {
"siret": "51903725300118",
"isHeadOffice": false,
"name": null,
"address": "LE PARC TECHNOLOGIQUE DE LYON IMMEUBLE 333 COURS DU TROISIEME MILLENAIRE 69800 SAINT-PRIEST",
"postalCode": "69800",
"city": "SAINT-PRIEST",
"communeCode": "69290",
"region": "84",
"nafCode": "46.51Z",
"employeeBand": "No employees reported",
"status": "active",
"openedDate": "2024-07-01",
"latitude": 45.7153970382947,
"longitude": 4.9319311582362
},
"establishments": [],
"directors": [],
"directoryUrl": "https://annuaire-entreprises.data.gouv.fr/entreprise/519037253",
"searchQuery": null,
"position": 2,
"scrapedAt": "2026-11-04T18:34:35.881Z"
}

A RUN_SUMMARY record in the key-value store lists, per search, how many companies match, how many were saved or skipped and why, the filters sent and any input that was ignored.

Integrations

Export the dataset as JSON, CSV, Excel, XML or HTML, or pull it with the Apify API and the JavaScript / Python clients. Connect it to Make, Zapier, n8n, Google Sheets, HubSpot or Slack with Apify integrations and webhooks, schedule runs to catch new companies, or call it from an AI agent through the Apify MCP server.

Need a custom scraper or a ready dataset? Hire me on Fiverr: https://www.fiverr.com/rel8ble