# France Company Leads: SIREN, Directors, Revenue (`pandadad0214/france-company-leads`) Actor

Build French B2B lead lists from the official company directory (SIRENE + RNE). SIREN, SIRET, VAT, NAF activity, size, address, revenue and directors; filter by NAF, department, size, revenue or label. Opt-outs excluded. Excel and CSV.

- **URL**: https://apify.com/pandadad0214/france-company-leads.md
- **Developed by:** [Panda Federation](https://apify.com/pandadad0214) (community)
- **Categories:** Lead generation, Business, Automation
- **Features:** Limited permissions
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

Pay per event

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

Learn more: https://docs.apify.com/actors/running/actors-in-store.md#pay-per-event

## What's an Apify Actor?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

## France Company Leads: SIREN, Directors, Revenue from the Official Company Directory

**Use this to build French B2B lead lists from the French government's official company directory (Annuaire des Entreprises: INSEE SIRENE + INPI RNE).** Each row has the **company name, SIREN, HQ SIRET, intra-EU VAT number, NAF activity code and label, legal form, employee band, size category (PME/ETI/GE), creation date, HQ address with department and region, matching local site, revenue and net income when published, directors (gérant, président...) and official labels** (RGE, Bio, Qualiopi, ESS...). Filter by **NAF code, sector, department, postal code, region, employee band, size, legal form, revenue, labels or free text**. **$0.002 per company.**

**No scraping of Pappers, Societe.com or other sites: the data comes from the official open API recherche-entreprises.api.gouv.fr (Licence Ouverte 2.0).**

- 🇫🇷 **Every active French company** (26M+ units in SIRENE), sole traders off by default
- 👔 **Directors from the national business register (RNE)**, with a Directors sheet in Excel
- 💶 **Revenue and net income** when the company published accounts, plus revenue filters
- 🧾 **VAT number** ready for invoicing and KYB checks
- 🚫 **Prospecting opt-outs are always excluded** (companies flagged *opposition à la diffusion commerciale*) and never charged
- 💸 **$0.002 per company**; runs with no matches are free

### Who it's for

- **SaaS and agencies selling into France:** lists by activity, region and size with a named decision maker
- **Recruiters and staffing firms:** 10-49 or 50-249 employee companies in a sector and department
- **Energy-renovation, training and food suppliers:** RGE, Qualiopi or Bio certified companies
- **KYB, finance and M\&A teams:** SIREN, VAT, legal form, revenue and net income at a glance
- **Researchers:** company counts by NAF code, department and size

### How to use it

1. Click **Try for free**.
2. Add **NAF codes** and/or a **department**, or type a **search text**.
3. Optional: **employee bands**, **size category**, **revenue** range, **labels**, **Only with a named director**.
4. Click **Start**. Download **FRBIZ_XLSX** (Companies + Directors sheets) or **FRBIZ_CSV** from **Storage → Key-value store**.

#### Input example

```json
{
  "nafCodes": ["62.01Z"],
  "departments": ["69"],
  "headcountBands": ["11", "12"],
  "requireDirector": true,
  "maxResults": 100
}
```

### Task examples

- **Software companies with 10-49 staff around Lyon:** `{"nafCodes": ["62.01Z"], "departments": ["69"], "headcountBands": ["11", "12"]}`
- **RGE-certified plumbers and heating firms in Gironde:** `{"nafCodes": ["43.22B"], "departments": ["33"], "labels": ["est_rge"]}`
- **Accounting firms with over EUR 1M revenue in Paris:** `{"nafCodes": ["69.20Z"], "departments": ["75"], "revenueMin": 1000000}`
- **Qualiopi training organisations in Ile-de-France:** `{"regions": ["11"], "labels": ["est_qualiopi"]}`
- **Organic bakeries in one postal code:** `{"query": "boulangerie", "postalCodes": ["75011"], "labels": ["est_bio"]}`

### Output example

```json
{
  "siren": "518137773",
  "siretHq": "51813777300116",
  "name": "EIFFAGE ENERGIE SYSTEMES - CLEVIA NOUVELLE AQUITAINE",
  "displayName": "EIFFAGE ENERGIE SYSTEMES - CLEVIA NOUVELLE AQUITAINE (EES - CNA)",
  "tradeNames": null,
  "vatNumber": "FR68518137773",
  "nafCode": "43.22B",
  "nafLabel": "Travaux d’installation d’équipements thermiques et de climatisation",
  "sector": "Construction",
  "legalFormCode": "5710",
  "legalForm": "SAS, société par actions simplifiée",
  "headcountBand": "50-99",
  "headcountYear": "2024",
  "companyCategory": "GE",
  "createdOn": "2009-10-29",
  "active": true,
  "hqAddress": "32 AVENUE GUSTAVE EIFFEL 33600 PESSAC",
  "hqPostalCode": "33600",
  "hqCity": "PESSAC",
  "hqDepartment": "Gironde",
  "hqRegion": "Nouvelle-Aquitaine",
  "latitude": 44.7799290962797,
  "longitude": -0.653296666842895,
  "matchingEstablishmentAddress": null,
  "establishmentsOpen": 5,
  "revenueEur": 17115786,
  "netIncomeEur": 1357709,
  "financialYear": "2025",
  "directors": "EIFFAGE ENERGIE SYSTEMES - REGIONS FRANCE (Président de SAS); FORVIS MAZARS SA (Commissaire aux comptes titulaire)",
  "directorCount": 2,
  "topDirectorName": "EIFFAGE ENERGIE SYSTEMES - REGIONS FRANCE",
  "topDirectorRole": "Président de SAS",
  "labels": [
    "RGE (energy renovation)"
  ],
  "conventionCollective": "2609, 2420, 1597",
  "annuaireUrl": "https://annuaire-entreprises.data.gouv.fr/entreprise/518137773",
  "agentSummary": "EIFFAGE ENERGIE SYSTEMES - CLEVIA NOUVELLE AQUITAINE (EES - CNA) (SIREN 518137773, SAS, société par actions simplifiée, NAF 43.22B Travaux d’installation d’équipements thermiques et de climatisation, created 2009-10-29, 50-99 staff) in PESSAC, Gironde; Président de SAS EIFFAGE ENERGIE SYSTEMES - REGIONS FRANCE; revenue EUR 17,115,786 (2025); labels: RGE (energy renovation)."
}
```

Values above are a real public record from the French company directory (recherche-entreprises.api.gouv.fr), retrieved 2026-11-09.

### For AI agents

Use this Actor to answer "which French companies in activity X and department Y, of size Z, and who runs them?". Minimal input: `{"nafCodes": ["62.01Z"], "departments": ["69"]}`. Read `agentSummary` per company (name, SIREN, legal form, activity, creation date, size, city, main director, revenue, labels) or the SUMMARY `takeaway` (top activities, departments and size categories).

- **MCP:** add this Actor to Claude, Cursor, Copilot or any MCP client through the [Apify MCP server](https://mcp.apify.com): `https://mcp.apify.com/?actors=pandadad0214/france-company-leads`, then ask in plain English.
- **API:** `POST https://api.apify.com/v2/acts/pandadad0214~france-company-leads/run-sync-get-dataset-items?token=YOUR_TOKEN` with the input JSON.
- Every row has an **`agentSummary`** line, and the **SUMMARY** record has a one-line **`takeaway`** plus `nextSteps`, so an agent can answer without parsing every field.
- Schedule it and connect Zapier, Make, n8n, Slack, Google Sheets or a webhook to the dataset.

### Pricing

**$0.002 per company returned** (pay per event) plus Apify's tiny Actor-start fee of $0.00005. 500 companies cost $1.00. Runs that return nothing cost nothing; opted-out companies and failed source calls are never charged. Set **Maximum results** or Apify's *maximum charge per run* to cap any run; the Actor stops at your limit.

**Apify paid-plan discounts:** Bronze members pay 10% less, Silver 20% less and Gold 30% less per company; the discount applies automatically. Apify's free plan includes monthly credit to try it.

### FAQ

**Where does the data come from?** The French state's open API `recherche-entreprises.api.gouv.fr`, which powers annuaire-entreprises.data.gouv.fr. It serves INSEE SIRENE (identity, activity, size, addresses) and INPI RNE (directors) data, plus published accounts and official labels, under the Licence Ouverte 2.0. The Actor stays well under the API's rate limit.

**Why are some companies missing?** Companies that asked not to be used for commercial prospecting (*opposition à la diffusion commerciale*) are always left out. Persons with restricted diffusion have hidden fields. Sole traders are off by default; turn on **Include sole traders** if you need them.

**Why is revenue empty?** Many small companies file confidential accounts or none. Turn on **Only with published revenue** to keep only companies with figures.

**Can I get new companies only?** Use **Created on or after** as a post-filter. The source orders matches by size, so combine it with narrow filters (one NAF code and department) for best coverage.

**Are there emails or phones?** No; the official directory has none. Use the Company Website Enricher on the company's website. Follow GDPR and French prospecting rules (B2B email is opt-out; check Bloctel before calling).

**Is there a hard limit?** The source returns up to 10,000 matches per query. Split big lists by department or NAF code.

### Part of [Panda Federation](https://pandafederation.com/?utm_source=apify\&utm_medium=listing\&utm_campaign=france-company-leads)

This Actor is part of the [Panda Federation](https://pandafederation.com/?utm_source=apify\&utm_medium=listing\&utm_campaign=france-company-leads) catalog of public-data tools. See the rest of the work on the [official site](https://pandafederation.com/?utm_source=apify\&utm_medium=listing\&utm_campaign=france-company-leads).

### More Panda Federation tools

- [EU TED Tenders](https://apify.com/pandadad0214/eu-ted-tenders?utm_source=apify\&utm_medium=listing\&utm_campaign=france-company-leads): French and EU public tenders by CPV code and country
- [Company Website Enricher](https://apify.com/pandadad0214/company-website-enricher?utm_source=apify\&utm_medium=listing\&utm_campaign=france-company-leads): add emails, phones and tech from a company website
- [Bulk Domain WHOIS & Expiry Checker](https://apify.com/pandadad0214/bulk-domain-whois-expiry?utm_source=apify\&utm_medium=listing\&utm_campaign=france-company-leads): .fr and other domains, registrar and expiry
- [New York New Business Leads](https://apify.com/pandadad0214/new-york-new-business-leads?utm_source=apify\&utm_medium=listing\&utm_campaign=france-company-leads) and [Colorado New Business Leads](https://apify.com/pandadad0214/colorado-new-business-leads?utm_source=apify\&utm_medium=listing\&utm_campaign=france-company-leads): US new-company feeds
- Full catalog and MCP server: [Panda Federation Tools on GitHub](https://github.com/pandadad0214/panda-federation-tools)

*Built by Panda Federation. Questions or a custom version? Open an issue on the Actor's Issues tab.*

### Changelog

- **2026-11-10:** Store copy polish (SEO title and description, working example input). README now links the official Panda Federation site with listing campaign tags. Pricing unchanged.
- **2026-11-09:** First release (0.1.0): official recherche-entreprises API (SIRENE + RNE), NAF / sector / department / postal code / region / headcount / size / legal form / revenue / net income / label filters, free-text search, created-after post-filter, opt-out exclusion, VAT numbers, directors sheet, Excel and CSV (`FRBIZ_XLSX` / `FRBIZ_CSV`), `agentSummary` and SUMMARY `takeaway`, pay-per-event pricing with Bronze/Silver/Gold discounts.

# Actor input Schema

## `query` (type: `string`):

Optional free text: company name, brand, address words or a director name, e.g. boulangerie, transport, Dupont. Leave empty to list by filters only.

## `nafCodes` (type: `array`):

French activity codes, e.g. 62.01Z (software), 43.22B (plumbing/HVAC), 56.10A (restaurants), 69.20Z (accountants), 41.20A (house building). Dots optional.

## `sectors` (type: `array`):

Broad sector letters. Empty = any.

## `departments` (type: `array`):

Department codes, e.g. 75 (Paris), 69 (Rhône/Lyon), 13 (Bouches-du-Rhône/Marseille), 33 (Gironde/Bordeaux), 2A. Matches any establishment in the department.

## `postalCodes` (type: `array`):

5-digit postal codes, e.g. 75011, 31000.

## `regions` (type: `array`):

INSEE region codes, e.g. 11 (Ile-de-France), 84 (Auvergne-Rhône-Alpes), 93 (Provence-Alpes-Côte d'Azur), 75 (Nouvelle-Aquitaine).

## `headcountBands` (type: `array`):

INSEE headcount bands. Empty = any.

## `companyCategories` (type: `array`):

PME (SME), ETI (mid-size), GE (large).

## `legalForms` (type: `array`):

INSEE nature juridique codes, e.g. 5710 (SAS), 5720 (SASU), 5499 (SARL), 5498 (EURL), 5599 (SA), 6540 (SCI), 9220 (association).

## `revenueMin` (type: `integer`):

Only companies that published accounts with at least this turnover.

## `revenueMax` (type: `integer`):

Upper turnover bound.

## `netIncomeMin` (type: `integer`):

Only companies with at least this published net result.

## `labels` (type: `array`):

Keep companies holding any of these labels.

## `createdAfter` (type: `string`):

Optional YYYY-MM-DD post-filter on company creation date (checked over up to 10,000 matches; combine with narrow filters).

## `createdBefore` (type: `string`):

Optional YYYY-MM-DD post-filter.

## `requireDirector` (type: `boolean`):

Keep companies that list at least one director (gérant, président...).

## `requireFinancials` (type: `boolean`):

Keep companies whose latest accounts show a revenue figure.

## `onlyActive` (type: `boolean`):

Default on (etat administratif A).

## `includeSoleTraders` (type: `boolean`):

Default off: sole traders are people; most B2B lists skip them.

## `maxResults` (type: `integer`):

You pay per company returned, so this also caps the cost. Default 200; the source allows 10,000 matches per query.

## Actor input object example

```json
{
  "nafCodes": [
    "62.01Z"
  ],
  "departments": [
    "69"
  ],
  "requireDirector": false,
  "requireFinancials": false,
  "onlyActive": true,
  "includeSoleTraders": false,
  "maxResults": 200
}
```

# Actor output Schema

## `table` (type: `string`):

No description

## `xlsx` (type: `string`):

No description

## `csv` (type: `string`):

No description

## `summary` (type: `string`):

Agent-friendly keys: `takeaway` (one-line result), counts, `nextStep` and `nextSteps`.

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "nafCodes": [
        "62.01Z"
    ],
    "departments": [
        "69"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("pandadad0214/france-company-leads").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "nafCodes": ["62.01Z"],
    "departments": ["69"],
}

# Run the Actor and wait for it to finish
run = client.actor("pandadad0214/france-company-leads").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print(f"💾 Check your data here: https://console.apify.com/storage/datasets/{run.default_dataset_id}")
for item in client.dataset(run.default_dataset_id).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "nafCodes": [
    "62.01Z"
  ],
  "departments": [
    "69"
  ]
}' |
apify call pandadad0214/france-company-leads --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,pandadad0214/france-company-leads"
        }
    }
}
```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/STWWuDfmzPETJAgMi/builds/iQCVzpB7Lp0F7gdW1/openapi.json
