# France RGE & Qualiopi Scraper: Certified Company Leads (`euroscrape/france-certified-companies`) Actor

Official French lists: RGE contractors (entreprises RGE, artisans RGE, Qualibat, QualiPAC: heat pumps, solar, insulation; 59,000 with phone and email) and training providers (organismes de formation, Qualiopi). Optional directors, headcount, revenue. Alerts on new certifications.

- **URL**: https://apify.com/euroscrape/france-certified-companies.md
- **Developed by:** [EuroScrape](https://apify.com/euroscrape) (community)
- **Categories:** Lead generation, Business, Education
- **Features:** Limited permissions
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $2.10 / 1,000 rge companies

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 RGE & Qualiopi Scraper: Certified Company Leads

Export the **official French lists of certified companies** in one Actor:

- **RGE contractors** (*Reconnu Garant de l'Environnement*, ADEME): the **59,090 building and energy companies** certified for heat pumps, solar panels, insulation, windows, wood stoves, ventilation or energy audits, the only ones whose customers can get MaPrimeRénov' and CEE subsidies. Each company comes with its **phone (95%), email (99%) and website when it has one (44%)**, and all its valid qualifications on a single row.
- **Training providers** (*organismes de formation*, Ministry of Labour): the **154,590 declared providers**, of which **45,881 are Qualiopi-certified**, with their Qualiopi categories (training, apprenticeship/CFA, skills assessment, VAE), specialties, number of trainees and trainers.

Filter by department, postal code, work domain, certification date or size, and get **only the new ones** on each scheduled run. Official open data (Licence Ouverte), no login, no API key.

#### 🤖 At a glance (for people and AI assistants)

- **Use it when** you want French **RGE contractors** (entreprises RGE, artisans RGE, installateurs de pompes à chaleur, poseurs de panneaux solaires, isolation) with contacts, or French **training providers / Qualiopi organisations** (organismes de formation certifiés Qualiopi, CFA), or alerts on newly certified ones.
- **Minimal input**: `{ "list": "rge", "departments": ["69"], "domains": ["Pompe à chaleur : chauffage"], "maxItems": 100 }` or `{ "list": "training", "regions": ["84"], "qualiopi": "any", "maxItems": 100 }`
- **Output**: RGE: `name`, `siret`, `address`, `postalCode`, `city`, `phone`, `phoneE164`, `email`, `website`, `domainsEn`, `qualifications` (code, certificate, body, validity dates, certificate URL), `firstCertifiedOn`, `nextExpiryOn`. Training: `name`, `siret`, `declarationNumber`, `address`, `region`, `qualiopiCertified`, `qualiopi` (4 categories), `specialties`, `trainees`, `trainers`, `lastDeclarationOn`.
- **Option**: `"includeCompanyProfile": true` adds the official company profile from the French register: legal form, NAF code, creation date, headcount, directors (name and role), latest revenue, VAT number.
- **Price**: $3 per 1,000 RGE companies, $1.50 per 1,000 training providers, $2 per 1,000 company profiles (option), plus $0.003 per run. The summary row is free.
- **Not for**: individuals' renovation projects, reviews or prices of contractors, or training course catalogues (CPF offers). The training list publishes no phone or email.

### ✨ Why this Actor

| | |
|---|---|
| 📇 **Leads with contacts** | RGE companies come with the phone and email they gave to their certification body: 56,222 phones and 58,555 emails for 59,090 companies on 7 Nov 2026. Phones are also normalised to `+33…` (`phoneE164`). |
| 🧩 **One company = one row** | ADEME publishes one line per qualification (157,469 lines). The Actor groups them by SIRET: every domain, certificate, certification body and validity date of a company in a single row, plus `firstCertifiedOn`, `latestCertifiedOn` and `nextExpiryOn`. |
| 🌐 **Real websites only** | For 11,706 companies, the "website" published by ADEME is only their profile page at the certification body (qualit-enr.org…). The Actor moves it to `certifierPageUrl`, so `website` is always the company's own site. |
| 🆕 **New and expiring certifications** | `certifiedSince` gives fresh leads (1,749 companies got a new RGE qualification between 8 Oct and 7 Nov 2026); `expiringBefore` gives renewal leads (5,328 companies have a qualification ending before 31 Dec 2026). |
| 🏢 **Optional company profile** | One switch adds the official register data of each company: legal form, NAF activity, creation date and age, headcount range, sole-proprietor flag, directors (name and role), latest revenue and net income when published, VAT number. Charged only when the profile is found. |
| 🎓 **Qualiopi made simple** | The Ministry's 37 MB file is read for you: Qualiopi status per category, NSF specialties with labels, trainees, trainers, fiscal year. Filter by specialty code or word, minimum trainees or trainers. |
| 🔔 **Monitor + instant alerts** | Give the search a monitor name and schedule it: each run returns **only new companies** (a new RGE qualification, a new training provider), and can send them to **Telegram, Discord, Slack or a webhook** (Make, Zapier, n8n, your CRM). |
| ✅ **Official and checkable** | ADEME's list is updated every day; each qualification keeps the link to its certificate (PDF). Training providers keep their declaration number (NDA) and SIRET. |

### 🎯 Use cases

- **Sell to renovation contractors**: heat pump, solar, insulation and window suppliers, wholesalers, software vendors (quotes, invoicing, planning), insurers and banks reach the certified installers of their area.
- **Lead generation for energy renovation**: platforms and CEE obligated parties build their network of RGE partners by department and domain.
- **Certification and training services**: consultants, trainers and certification bodies reach companies whose RGE qualification ends soon, or providers that are not Qualiopi-certified yet.
- **EdTech and B2B sales to training providers**: LMS, CRM, e-learning content and Qualiopi audit firms target providers by region, specialty and size.
- **Market research**: how many certified installers per department and domain, how many Qualiopi providers per specialty.

### 🚀 Examples

Heat pump installers in the Rhône (69):

```json
{ "list": "rge", "departments": ["69"], "domains": ["Pompe à chaleur : chauffage"], "maxItems": 100 }
```

Solar panel installers of Île-de-France working for individuals, certified in the last 3 months:

```json
{ "list": "rge", "departments": ["75", "77", "78", "91", "92", "93", "94", "95"], "domains": ["Panneaux solaires photovoltaïques"], "worksForIndividuals": "yes", "certifiedSince": "2026-08-01", "maxItems": 500 }
```

Heat pump installers of the Gironde with their directors, headcount and revenue (company profile option):

```json
{ "list": "rge", "departments": ["33"], "domains": ["Pompe à chaleur : chauffage"], "includeCompanyProfile": true, "maxItems": 200 }
```

Insulation companies whose RGE qualification ends before the end of the year (renewal leads):

```json
{ "list": "rge", "workCategories": ["Travaux d'efficacité énergétique"], "expiringBefore": "2026-12-31", "maxItems": 1000 }
```

Qualiopi IT training providers of Auvergne-Rhône-Alpes with at least 100 trainees:

```json
{ "list": "training", "regions": ["84"], "qualiopi": "any", "specialties": ["326"], "minTrainees": 100, "sortBy": "trainees", "maxItems": 200 }
```

Apprentice training centres (CFA) certified Qualiopi in Brittany:

```json
{ "list": "training", "regions": ["53"], "qualiopi": "apprenticeship", "maxItems": 500 }
```

### 📊 Data Report · 7 Nov 2026: who is certified in France

**RGE (ADEME list of 7 Nov 2026, 157,469 qualifications, 59,090 companies)**

| Work domain | Certified companies |
|---|---|
| Heat pump (heating) | 15,604 |
| Heat pump water heater | 15,528 |
| Interior wall, roof slope or ceiling insulation | 13,380 |
| Windows, shutters, exterior doors | 13,176 |
| Loft insulation | 9,053 |
| External wall insulation | 8,258 |
| Mechanical ventilation | 6,015 |
| Wood stove or insert | 5,957 |
| Solar PV panels | 5,750 |

- 97% of RGE companies work for individuals; 95% publish a phone number, 99% an email, 44% a website of their own.
- 1,749 companies received a new RGE qualification in the last 30 days, and 5,328 have one that ends before 31 Dec 2026.

**Training providers (Ministry of Labour list of 7 Nov 2026)**

- 154,590 declared training providers, 45,881 Qualiopi-certified: 4,510 for apprenticeship (CFA), 4,266 for skills assessments, 2,415 for VAE.
- 26,341 providers declared at least 100 trainees in their last annual report, 4,951 at least 1,000.
- Most common specialties among Qualiopi providers: teaching and training (3,612), general education (3,336), sales (2,804), IT (2,707), health (2,481).
- The Ministry publishes no address for 57% of providers (43% of Qualiopi-certified ones): search them **by region**.

### 📦 Output

An RGE company (heat pump installer of the Rhône, run of 7 Nov 2026; street number, phone and email masked in this public example only, the dataset gives them in full):

```json
{
  "type": "rgeCompany",
  "siret": "84817995800022",
  "siren": "848179958",
  "name": "PLOMBERIE RCA",
  "address": "•• ROUTE DE LYON",
  "postalCode": "69330",
  "city": "JONS",
  "department": "69",
  "latitude": 45.80127,
  "longitude": 5.08460,
  "phone": "09 81 •• •• ••",
  "phoneE164": "+33981••••••",
  "email": "plomberie.rca@•••••.com",
  "website": null,
  "certifierPageUrl": "https://www.qualit-enr.org/entreprises/plomberie-rca",
  "worksForIndividuals": true,
  "domainsEn": ["Heat pump (heating)", "Heat pump water heater"],
  "certificationBodies": ["qualitenr"],
  "qualificationCount": 2,
  "firstCertifiedOn": "2026-10-28",
  "nextExpiryOn": "2027-10-28",
  "qualifications": [
    {
      "code": "41",
      "name": "QualiPAC Chauffage - Pose de pompe à chaleur (PAC aérothermique ou géothermique et chauffe-eau thermodynamique)",
      "certificate": "QualiPAC module Chauffage et ECS",
      "domainEn": "Heat pump (heating)",
      "metaDomainEn": "Renewable energy installations",
      "certificationBody": "qualitenr",
      "validFrom": "2026-10-28",
      "validUntil": "2027-10-28",
      "certificateUrl": "https://www.qualypso.fr/download_file.php?id=962dd7be-0ace-42f8-be67-72569473dbd0"
    }
  ]
}
```

A training provider (run of 7 Nov 2026):

```json
{
  "type": "trainingProvider",
  "declarationNumber": "84691737569",
  "name": "DEVOTEAM G CLOUD",
  "siren": "512085036",
  "siret": "51208503600097",
  "address": "26 RUE GENERAL MOUTON DUVERNET",
  "postalCode": "69003",
  "city": "LYON 03",
  "department": "69",
  "region": "Auvergne-Rhône-Alpes",
  "qualiopiCertified": true,
  "qualiopi": { "trainingActions": true, "skillsAssessment": false, "vae": false, "apprenticeship": false },
  "specialties": [{ "code": "326", "label": "Informatique, traitement de l'information, réseaux de transmission des données" }],
  "trainees": 18524,
  "traineesFromOtherProviders": 146,
  "trainers": 54,
  "lastDeclarationOn": "2026-05-13",
  "fiscalYearStart": "2025-01-01",
  "fiscalYearEnd": "2025-12-31"
}
```

With `includeCompanyProfile: true`, each row also gets a `companyProfile` (same company, director's name masked here):

```json
"companyProfile": {
  "legalName": "PLOMBERIE RCA",
  "status": "active",
  "createdAt": "2019-02-01",
  "ageYears": 7,
  "legalForm": { "code": "5499", "label": "Société à responsabilité limitée (sans autre indication)" },
  "soleProprietor": false,
  "companyCategory": "PME",
  "nafCode": "43.22A",
  "nafLabel": "Travaux d’installation d’eau et de gaz en tous locaux",
  "employees": { "code": "02", "label": "3 à 5 salariés", "min": 3, "max": 5, "year": 2024 },
  "isEmployer": true,
  "directors": [{ "type": "person", "fullName": "•••• ••••", "role": "Gérant" }],
  "latestFinances": { "year": 2024, "revenue": 427344, "netIncome": -118857 },
  "vatNumber": "FR93848179958",
  "annuaireEntreprisesUrl": "https://annuaire-entreprises.data.gouv.fr/entreprise/848179958"
}
```

Each run also adds one free **summary row** (`type: "summary"`): companies matching your filters, counts by department, domain, certification body, region or specialty. The dataset has two views: **RGE contractors** and **Training providers**.

### 💰 Pricing

| Event | Price |
|---|---|
| RGE company (all its qualifications, contacts) | **$3 / 1,000 companies** |
| Training provider | **$1.50 / 1,000 providers** |
| Official company profile (option, only when found) | $2 / 1,000 profiles |
| Run start | $0.003 |

The 421 RGE heat pump installers of the Rhône cost $1.26, plus $0.003 for the run. Set a maximum charge per run in the run options: the Actor stops cleanly when it is reached.

### ❓ FAQ

- **Where does the data come from?** RGE: the *Liste des entreprises RGE* published by ADEME on data.ademe.fr, updated every day from the certification bodies (Qualibat, Qualit'EnR, Qualifelec, OPQIBI, Cerqual, Certibat, AFNOR, CNOA…). Training providers: the *Liste publique des organismes de formation* (article L.6351-7-1 of the French Labour Code) published by the Ministry of Labour. Both under the Licence Ouverte / Open Licence.
- **How fresh is it?** Both lists are read live at each run. ADEME refreshed its list this morning (7 Nov 2026, 4:02 UTC). Training providers' figures (trainees, trainers) come from their last annual report (*bilan pédagogique et financier*), usually for the previous year.
- **Why do some training providers have no address?** The Ministry does not publish it for 57% of providers (43% of the Qualiopi-certified ones). A department or postal code filter cannot place them; the run tells you how many of them match in the same region, and the `regions` filter includes them.
- **Is `website` always the company's site?** Yes: when ADEME lists a page of the certification body instead, it goes to `certifierPageUrl`. 44% of RGE companies have a website of their own.
- **What does the company profile add, and from where?** With `includeCompanyProfile`, each company is looked up by SIREN in the official *Recherche d'entreprises* API of the French State (SIRENE and RNE data, Licence Ouverte): 10 profiles out of 10 found in our test of 7 Nov 2026. Directors come with their name and role only (no birth date, no nationality). Revenue is given only when the company publishes its accounts.
- **Are there personal data?** The lists are about businesses. Many RGE companies are sole traders: their name, business phone and email are published by ADEME so that consumers can find them. Use them in line with the GDPR (B2B prospecting with a legitimate interest, an easy opt-out, no sale to third parties as a consumer file).
- **Can I search one company by SIRET?** Use `searchText` with its name, or filter by postal code; SIRET and SIREN are in every row for matching with your CRM.
- **Does it include RGE companies whose qualification has ended?** Not by default: only qualifications valid today. Set `includeExpired: true` to keep the ones ADEME still lists.

*Data sources: ADEME (data.ademe.fr) and Ministère du Travail, du Plein emploi et de l'Insertion (data.gouv.fr), Licence Ouverte. Not affiliated with ADEME, the Ministry, France Rénov' or the certification bodies.*

### 🔌 API, AI agents and integrations

- **API**: one call runs the Actor and returns the results, `POST https://api.apify.com/v2/acts/euroscrape~france-certified-companies/run-sync-get-dataset-items` (see the API tab for Python, JavaScript and cURL).
- **AI agents (MCP)**: add `https://mcp.apify.com?tools=euroscrape/france-certified-companies` to Claude, Cursor, VS Code or any MCP client, and the Actor becomes a tool your agent can call.
- **No-code automation**: start runs and pass the results on with Apify's integrations for n8n, Make and Zapier, or with a webhook when a run ends.
- **Exports**: every result set downloads as JSON, CSV, Excel or XML, and can be sent to Google Sheets.
- **Data Reports**: twice a week, EuroScrape turns a run of one of its Actors into a 30-second data report (used-iPhone prices in 18 countries, electricity prices, Ryanair fares…) on [LinkedIn](https://www.linkedin.com/company/euroscrape). Follow the page to see what the data looks like.

### 🗓️ Run it on a schedule: only new companies

1. Set your filters and give the search a **monitor name**:

```json
{
  "list": "rge",
  "departments": ["33"],
  "domains": ["Pompe à chaleur : chauffage", "Panneaux solaires photovoltaïques"],
  "monitorName": "new-rge-gironde",
  "webhookUrl": "https://hook.eu1.make.com/your-webhook-id"
}
```

2. In Apify Console, **save it as a task** and add a **schedule** to it (for example every Monday at 8:00).
3. The first run is the baseline: it returns the matching companies (up to `maxItems`) and remembers all of them. Every run after that returns **only what is new**: RGE companies with a qualification that started since the last run, training providers that were not in the list before. You pay only for what is new, plus $0.003 per run.

**Straight into Google Sheets or your CRM:** put your Make, Zapier or n8n webhook address in `webhookUrl`. Each run sends one POST `{"count": N, "items": [...]}` with the new companies only (the baseline run sends nothing).

**Instant alerts:** add `telegramBotToken` + `telegramChatId`, `slackWebhookUrl` or `discordWebhookUrl` to get one message per new company (up to `maxNotifications` per run, 30 by default).

### ⭐ Your feedback

If this Actor saves you time, a short review on Apify Store helps other users find it. Missing a field, a list or a filter (other French certifications, enrichment with directors)? Say it in your review: the most requested features are added first.

### 🔗 More from EuroScrape

**Chosen by our paying customers**

- [French Companies Scraper: SIRENE Leads, Directors & Emails](https://apify.com/euroscrape/france-companies): every French company from the official SIRENE register by activity, area and size, with directors, finances, BODACC insolvency check, VAT check and verified emails.
- [Google Maps No-Website Leads: Businesses Without Website](https://apify.com/euroscrape/google-maps-no-website-leads): local businesses on Google Maps that have no website of their own, double-checked: ready-made leads for web agencies.

**Also by EuroScrape**

- [Spain New Companies Scraper: BORME Registrations & Directors](https://apify.com/euroscrape/spain-companies): every company newly registered in Spain each weekday, from the official BORME gazette, with business purpose, capital and directors.
- [No-Website Leads: New Businesses Without a Website (US, UK, FR)](https://apify.com/euroscrape/no-website-leads): newly registered UK and French companies with no website yet, with the creation date of their domain name.
- [Trusted Shops Scraper: Shop Leads, Ratings, Reviews & Alerts](https://apify.com/euroscrape/trusted-shops-scraper): online shops of 11 European markets with their company, contacts, rating and review volume, plus customer reviews and alerts on negative ones.
- [France Fuel Prices: Cheapest Stations Near You & Alerts](https://apify.com/euroscrape/france-fuel-prices): live official prices of all ~10,000 French stations — cheapest Diesel, E10, E85 or LPG around any point, with distances and price-drop alerts.
- [France Real Estate Sold Prices (DVF): €/m², Sales & Trends](https://apify.com/euroscrape/france-property-prices): every property sale registered by the French State — real prices, €/m², addresses, GPS, market trends per city and alerts on new sales.
- [France Energy Ratings (DPE): Homes, Energy Sieves & Alerts](https://apify.com/euroscrape/france-energy-ratings): official energy certificates of French homes — class, address, consumption, yearly bill — with the F/G energy sieves of any city and alerts on new certificates.
- [France Building Permits (Sitadel): Projects, Builders & Alerts](https://apify.com/euroscrape/france-building-permits): official register of French building permits — housing programmes and commercial buildings with the developer (name, SIREN), address, size and status, and alerts when works start.
- [EU VAT Number Validator (VIES): Bulk Check, Proof & Alerts](https://apify.com/euroscrape/vat-validator): validate VAT numbers in bulk against the EU's official registry, with consultation proof for tax audits and alerts when a customer's number becomes invalid.
- [EU Public Tenders Scraper: TED, BOAMP & Awards](https://apify.com/euroscrape/eu-public-tenders): open tenders and contract awards from all of Europe (TED) and France (BOAMP, DECP), with winners per lot, values in € and daily alerts.
- [Website Tech Stack Detector: 280+ Technologies, Leads & Signals](https://apify.com/euroscrape/website-intelligence): technologies, company identity, contacts and sales signals for any website.
- [Kleinanzeigen Scraper: Deal Finder & Price-Drop Alerts](https://apify.com/euroscrape/kleinanzeigen-scraper): German classifieds with a 0–100 deal score, new-ad & price-drop monitoring and instant alerts.
- [UK Companies House Scraper](https://apify.com/euroscrape/uk-companies): UK companies by SIC code, location and incorporation date, with directors, filing dates, websites, emails and phones.
- [Impressum & Legal Notice Scraper (EU)](https://apify.com/euroscrape/company-identity): Turn any company website into a verified identity: legal name, registry numbers, VAT IDs, directors and contacts, across Europe.
- [EU Second-Hand Marketplaces Scraper: Vinted, OLX & More](https://apify.com/euroscrape/eu-marketplace-deals): one search on the top second-hand marketplace of 18 European countries, prices in €, cheapest country and resale margin.
- [Google Hotels Scraper: Prices from Every Booking Site](https://apify.com/euroscrape/google-hotels-prices): hotel prices for any destination and dates, with the price on every booking site, rate parity, price calendars and alerts.
- [App Store Reviews + Google Play Reviews Scraper (All Countries)](https://apify.com/euroscrape/app-reviews): reviews from both stores in 175 countries, rating by version and country, free top charts and keyword rankings, alerts on new negative reviews.
- [Google Flights Scraper: Cheapest Dates, Prices & Price History](https://apify.com/euroscrape/google-flights-prices): flight prices for any route and dates, cheapest day to fly, typical price range, CO2 and price-drop alerts.
- [Vinted Scraper: 26 Countries, Deals, Alerts & Seller Data](https://apify.com/euroscrape/vinted-scraper): search Vinted across 26 countries, prices with buyer fees, seller ratings, cheapest-country comparison and instant alerts on new listings.
- [Ryanair Low Fare Finder: Cheapest Days, Anywhere & Alerts](https://apify.com/euroscrape/ryanair-low-fares): Ryanair fare calendars months ahead, every destination under your price cap from any airport, and alerts on drops and new deals.
- [EU Electricity Prices (Day-Ahead): All Zones & Cheap Hours](https://apify.com/euroscrape/eu-electricity-prices): tomorrow's spot prices for 40+ European bidding zones, the cheapest 3-hour window of each day, negative-price alerts and years of history.

💡 Already have company websites? Use the **Impressum & Legal Notice Scraper** to get their legal identity and contacts directly.

# Actor input Schema

## `list` (type: `string`):

RGE: about 59,000 French building and energy contractors with an RGE quality label (required for MaPrimeRénov' and CEE subsidies), with phone, email and website. Training: about 155,000 registered training providers, 46,000 of them Qualiopi-certified, with their number of trainees and trainers.

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

French department numbers, e.g. 69, 75, 13, 2A, 974. Leave empty for all of France. Training list: the Ministry publishes no address for 57% of providers; those can only be found with "regions" (the run tells you how many).

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

5-digit postal codes, e.g. 69007. Combined with departments (OR).

## `searchText` (type: `string`):

Keep only companies whose name contains these words.

## `domains` (type: `array`):

RGE list only. Keep companies certified for at least one of these domains (heat pumps, solar PV, insulation…). Empty = all.

## `workCategories` (type: `array`):

RGE list only. Broader than domains.

## `certificationBodies` (type: `array`):

RGE list only.

## `worksForIndividuals` (type: `string`):

RGE list only.

## `certifiedSince` (type: `string`):

RGE list only. Keep companies with a qualification that started on or after this date (YYYY-MM-DD): fresh leads.

## `expiringBefore` (type: `string`):

RGE list only. Keep companies with a qualification that ends on or before this date (renewal leads for certification consultants and trainers).

## `includeExpired` (type: `boolean`):

RGE list only. By default only qualifications valid today are kept.

## `qualiopi` (type: `string`):

Training list only.

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

Training list only. INSEE region codes (e.g. 11 Île-de-France, 84 Auvergne-Rhône-Alpes, 93 Provence-Alpes-Côte d'Azur). Unlike departments, a region also finds the providers whose address is not published.

## `specialties` (type: `array`):

Training list only. NSF codes (e.g. 312 sales, 326 IT, 330 health and social) or words found in the specialty ("langues", "informatique", "sécurité").

## `minTrainees` (type: `integer`):

Training list only. Size filter from the provider's last annual declaration.

## `minTrainers` (type: `integer`):

Training list only.

## `sortBy` (type: `string`):

Training list only. RGE companies always come most recently certified first.

## `maxItems` (type: `integer`):

Companies (or training providers) to deliver. Each one is charged once.

## `includeSummary` (type: `boolean`):

Counts of matching companies, by department, domain or specialty.

## `includeCompanyProfile` (type: `boolean`):

For each company, also read its official profile from the French company register API (SIRENE / RNE): legal form, NAF activity, creation date, headcount range, directors (name and role), latest revenue and net income when published, VAT number, sole-proprietor flag. Charged per profile found ($2 / 1,000). Adds about 0.2 s per company.

## `monitorName` (type: `string`):

Set a name and schedule the Actor (e.g. weekly): the first run is the baseline; next runs deliver only NEW companies (RGE: companies with a new qualification; training: providers new in the list), with alerts.

## `telegramBotToken` (type: `string`):

Alerts on Telegram: create a bot with @BotFather and paste its token.

## `telegramChatId` (type: `string`):

Your chat ID (send a message to your bot, then open api.telegram.org/bot<token>/getUpdates).

## `discordWebhookUrl` (type: `string`):

Alerts on Discord: channel settings → Integrations → Webhooks → copy the URL.

## `slackWebhookUrl` (type: `string`):

Alerts on Slack: an incoming webhook URL (api.slack.com/messaging/webhooks).

## `webhookUrl` (type: `string`):

Make, Zapier, n8n or your own endpoint.

## `maxNotifications` (type: `integer`):

Monitoring mode: at most this many new companies are sent as alerts per run (all of them are still in the dataset).

## Actor input object example

```json
{
  "list": "rge",
  "departments": [
    "69"
  ],
  "worksForIndividuals": "any",
  "includeExpired": false,
  "qualiopi": "any",
  "sortBy": "trainees",
  "maxItems": 100,
  "includeSummary": true,
  "includeCompanyProfile": false,
  "maxNotifications": 30
}
```

# Actor output Schema

## `overview` (type: `string`):

One row per RGE company, most recently certified first.

## `training` (type: `string`):

One row per training provider, most trainees first.

## `runSummary` (type: `string`):

Counters for this run.

# 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 = {
    "departments": [
        "69"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("euroscrape/france-certified-companies").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 = { "departments": ["69"] }

# Run the Actor and wait for it to finish
run = client.actor("euroscrape/france-certified-companies").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 '{
  "departments": [
    "69"
  ]
}' |
apify call euroscrape/france-certified-companies --silent --output-dataset

```

## MCP server setup

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

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/bIJEgXk1gG4waqVHK/builds/bJqeKm2KI47kuiYBg/openapi.json
