# French Companies Likely to Hire (France Travail) (`geckostar/entreprises-qui-recrutent`) Actor

French establishments with a high hiring potential within 6 months according to France Travail's La Bonne Boite data, by job code or sector and area, checked against Sirene: name, size, headcount, creation date. Hiring-intent B2B leads. Works with your free credentials or our key.

- **URL**: https://apify.com/geckostar/entreprises-qui-recrutent.md
- **Developed by:** [Gecko Lab](https://apify.com/geckostar) (community)
- **Categories:** Lead generation, Jobs, Business
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $8.00 / 1,000 company found (publisher's key)s

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

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

## Companies Hiring in France: 6-month hiring potential (La Bonne Boite)

Lists the establishments that France Travail (the French public employment service) rates as **likely to hire within
the next 6 months**, for the jobs or sectors you choose, in an area, each one checked against the Sirene register.
For recruitment agencies, IT services companies and HR software vendors. **Price: $0.003 per establishment with your
own free francetravail.io credentials; without them, $0.005 per run that returns results plus $0.008 per establishment.**

**Independent tool: not published, endorsed or sponsored by France Travail; "La Bonne Boite" is a France Travail service, named here only as the data source.**

**France Travail's statistical estimate: these are not job offers.** The source is the La Bonne Boite API; you choose
jobs (ROME codes) or sectors (NAF codes) and an area: departments, towns (INSEE codes) or a point and a radius. Each
establishment is checked against INSEE's Sirene register, which gives the company name, size (SME, mid-cap, large
company), headcount band, creation date, status and legal form. No artificial intelligence: the figures come straight
from the official sources.

### Price

- **With your francetravail.io credentials**: $0.003 per establishment found.
- **Without credentials**: $0.005 to start (once per run, only with the first result), then $0.008 per establishment.

Example: 100 establishments = $0.30 with your credentials, $0.805 without.

Only establishments saved to your results are charged. Nothing is charged for establishments that are removed
(masked, closed, duplicates, invalid SIRET, or not high-potential when "High hiring potential only" is ticked). The
run fee on our key is only charged with the first saved establishment, and only if your spending limit covers both: a
run that saves no establishment costs nothing.

### Two ways to use it

| | With your credentials | Without credentials |
|---|---|---|
| What you provide | the client ID and secret of your francetravail.io application (free) | nothing: the developer's key is used |
| Price | lowest | higher |
| Establishments per run | 2,000 at most | 300 at most |
| Areas per run | 30 at most | 5 at most |
| Establishments read per area | 1,000 at most | 500 at most |
| France Travail requests | 400 at most | 20 at most, login included |

The developer's key is shared between all users of this mode. If France Travail briefly limits requests, the tool
waits and retries; if the developer's key is refused or still limited after four attempts, the run stops cleanly, the
establishments already found are kept and you are invited to enter your own credentials. With your credentials, the
tool works on its own, without the developer's key.

### Create your francetravail.io credentials

1. Create an account on **francetravail.io** (France Travail's partner portal), then log in.
2. Open **Mes applications** (My applications) and create an application. In its description, declare its use:
   querying La Bonne Boite from this tool, "Entreprises qui recrutent", a web service published on Apify. The
   credentials are tied to the application you declare (francetravail.io terms of use, art. 5.3).
3. In the application, open the **API subscription** and subscribe it to **"La Bonne Boite" (v2)**, accepting its
   terms of use. Until the subscription is active, the tool reports "application non abonnée à l'API La Bonne Boite"
   (application not subscribed to the La Bonne Boite API).
4. Copy the application's client ID ("identifiant client" on francetravail.io) and secret ("clé secrète") into the
   "francetravail.io client ID" and "francetravail.io secret" fields.

By entering your credentials, you entrust them to this tool for the duration of the run only; they are encrypted by
Apify and never appear in the log or in the results. The tool only sends them to France Travail, to log in. You use
the API under your own account and accept its terms of use.

### Input

| Console label | Default | Purpose |
|---|---|---|
| francetravail.io client ID, francetravail.io secret | empty | Your francetravail.io application. Both empty: the developer's key is used |
| ROME codes (jobs) | G1603 | Jobs sought, 10 at most (example: M1805, software development) |
| NAF codes (sectors) | empty | Business sectors, 10 at most (example: 6201Z or 62.01Z, computer programming) |
| Departments | 13 | Area: department codes (31, 75, 2A, 971…) |
| Towns (INSEE codes) | empty | Area: INSEE town codes (31555 for Toulouse), not postcodes |
| Point latitude, Point longitude, Radius (km) | 10 km radius | Area: around a point, radius from 1 to 199 km (the radius also applies around each town) |
| High hiring potential only | ticked | Keeps only high-potential establishments |
| Maximum number of establishments | 20 | Stops the run at this number of saved establishments |

Give at least one ROME code or one NAF code. Several ROME codes add up, as do several NAF codes; with both ROME and NAF
codes, an establishment must match both (a job AND a sector). One kind of area per run. Listing every company in
France is not possible: give at least one job or sector, and an area.

**Find a ROME code**: each France Travail job sheet carries its code, on MétierScope
(https://candidat.francetravail.fr/metierscope/). Examples: G1603 (restaurant all-rounder), M1805 (software
development), M1503 (human resources management).

**Maximum number of establishments**: prefilled with 20 for a first try. Left empty: 200 with your credentials, 100
without. At most: 2,000 with your credentials, 300 without.

**High hiring potential only**: if you untick this box, establishments that are not high-potential are saved too, and
charged like the others.

### Output

One row per establishment, without duplicates:

| Field | Content |
|---|---|
| `siret`, `siren` | Establishment and company numbers |
| `nom` | Company name in the Sirene register |
| `enseigne` | Establishment trade name according to Sirene, otherwise empty |
| `potentiel_embauche` | Hiring potential estimated by France Travail, from 0 to 100 |
| `fort_potentiel` | True if the establishment is rated high-potential |
| `code_rome`, `code_naf`, `libelle_naf` | Job, sector and sector label |
| `effectif_min`, `effectif_max` | Headcount estimated by France Travail |
| `commune`, `code_insee`, `code_postal`, `departement`, `numero_departement`, `region` | Location (no street address) |
| `entreprise` | According to Sirene: size (PME = SME, ETI = mid-cap, GE = large company), headcount band, creation date, status, legal form, activity |
| `etablissement` | According to Sirene: head office or not, creation date, status |
| `mode` | `cle_utilisateur` (your credentials) or `cle_editeur` (developer's key) |
| `mention_source`, `consulte_le` | Source notice and access time |
| `facturable` | Always true: each saved row is charged once |

Areas are read one after the other, from the highest potentials to the lowest. An area that could not be read to the
end is flagged in the summary and in the final message: split it into smaller areas.

The run stops cleanly at the maximum number of establishments, at your spending limit, or after 25 minutes. Refused
credentials make the run fail before any charge. Output field names are in French.

### Sources

| Source | What it provides |
|---|---|
| France Travail, La Bonne Boite API | high-hiring-potential establishments, by area and by job or sector |
| INSEE, Sirene register, via the Recherche d'entreprises API (DINUM) | check of each establishment, company name, size, headcount, dates, status |

Each row carries the following notice (`mention_source`, in French) and the access time (`consulte_le`):

"Source: France Travail, La Bonne Boite API, accessed on \[date]; Source: Insee (www.insee.fr), Sirene register, via
the Recherche d'entreprises API (DINUM), accessed on \[date]. Last update date: not provided by the APIs; the access
date is given instead."

Keep this notice when re-using the data. La Bonne Boite data is made available by France Travail under the Licence
Ouverte 2.0 (Etalab), subject to the francetravail.io terms of use; Sirene data may be re-used under the Licence
Ouverte 2.0. This tool adds no further restriction on the re-use of the delivered data.

### Personal data

Published establishments belong to **verified companies**. Every SIRET is checked against the Sirene register; the
following are masked, neither saved nor charged, and only counted by reason in the summary:

- **sole traders**, whose name is a person's name;
- companies and establishments with **restricted diffusion** (that opted out of the publication of their data);
- companies or establishments **not found** in the register, and any establishment whose **check failed**: an
  establishment not found in Sirene is removed, never filled in with another name;
- companies that **objected** with the publisher (see below).

The published name is the Sirene register name; the trade name is the one Sirene gives for the establishment,
otherwise nothing. Names typed in La Bonne Boite and its internal identifier are never copied. No street address, no
contact, no company director. The e-mail address returned by the API is received then discarded in memory: it is
never saved, logged or published. Closed establishments and ceased companies are dropped without being charged.

A company name or trade name may still contain a person's name, for example its director's.

- Controller for the tool: the publisher named in the legal notice. Legal basis: legitimate interest (GDPR art.
  6(1)(f)) in making known the companies that are hiring, from data published by France Travail and INSEE.
- Retention: the publisher keeps no results. Data is read on each run and stored only in the user's Apify account.
  The run log contains no SIRET and no company name.
- Your rights: any company or data subject may object to appearing in the results or exercise their rights of access
  and erasure by writing to the contact address, with the **SIREN**. The company is masked in later runs within one
  month. Complaints may be lodged with the CNIL (cnil.fr).

**Your obligations as a user.** You become the controller of the data you retrieve for your own purposes: inform the
data subjects of the origin of the data at first contact (GDPR art. 14), respect their right to object and the rules
on direct marketing (French postal and electronic communications code, art. L34-5). Before any prospecting, respect
any objection a company may have registered with the Sirene register (French Commercial Code, art. R123-232-1); no
public API exposes it. Sole traders and restricted-diffusion establishments are already excluded.

### Related Actors

- [New Companies in France](https://apify.com/geckostar/nouvelles-societes-france): companies newly registered in
  France, from official BODACC creation notices, filtered by department and NAF code.
- [French & EU Public Tenders](https://apify.com/geckostar/marches-publics-france-ue): BOAMP and TED tenders and
  contract awards, with verified winning companies.

***

## Version française — Entreprises qui recrutent

> **Outil indépendant : il n'est ni édité, ni approuvé, ni parrainé par France Travail. « La Bonne Boite » est un
> service de France Travail, cité ici comme source des données.**

**Estimation statistique de France Travail : ce ne sont pas des offres d'emploi.** L'outil liste les établissements
que France Travail estime à **fort potentiel d'embauche dans les 6 prochains mois** (source : API La Bonne Boite),
pour les métiers ou les secteurs de votre choix, dans une zone : départements, communes ou un point et un rayon.

Chaque établissement est vérifié au répertoire Sirene de l'Insee, qui donne la dénomination de la société, sa taille
(petite ou moyenne entreprise : PME ; entreprise de taille intermédiaire : ETI ; grande entreprise : GE), sa tranche
d'effectif, sa date de création, son état et sa forme juridique. Pour les cabinets de recrutement, les sociétés de
services informatiques et les éditeurs de logiciels de ressources humaines.

Aucune intelligence artificielle : les chiffres viennent directement des sources officielles.

### Prix

- **Avec vos identifiants francetravail.io** : 0,003 $ par établissement trouvé.
- **Sans identifiants** : 0,005 $ de lancement (une fois par exécution) puis 0,008 $ par établissement.

Exemple : 100 établissements = 0,30 $ avec vos identifiants, 0,805 $ sans.

Seuls les établissements enregistrés dans vos résultats sont facturés. Rien n'est facturé pour les établissements
écartés (masqués, fermés, en double, numéro SIRET invalide, ou sans fort potentiel quand la case « High hiring
potential only » est cochée). Le lancement sans identifiants n'est facturé
qu'avec le premier établissement enregistré, et seulement si votre limite de dépense couvre le lancement et cet
établissement : une exécution qui n'enregistre aucun établissement ne coûte rien.

### Deux façons de l'utiliser

| | Avec vos identifiants | Sans identifiants |
|---|---|---|
| Ce que vous fournissez | l'identifiant et le secret de votre application francetravail.io (gratuite) | rien : la clé de l'éditeur est utilisée |
| Prix | le plus bas | plus élevé |
| Établissements par exécution | 2 000 au plus | 300 au plus |
| Zones par exécution | 30 au plus | 5 au plus |
| Établissements lus par zone | 1 000 au plus | 500 au plus |
| Consultations de France Travail | 400 au plus | 20 au plus, connexion comprise |

La clé de l'éditeur est partagée entre tous les utilisateurs de ce mode. Si France Travail limite momentanément les
demandes, l'outil attend et réessaie ; si la clé de l'éditeur est refusée ou reste limitée après quatre essais,
l'exécution s'arrête proprement, les établissements déjà trouvés sont conservés et il vous est proposé de saisir vos
identifiants. Avec vos identifiants, l'outil fonctionne seul, sans la clé de l'éditeur.

### Créer vos identifiants francetravail.io

1. Créez un compte sur **francetravail.io** (espace des partenaires de France Travail), puis connectez-vous.
2. Ouvrez **Mes applications** et créez une application. Dans sa description, déclarez son usage : interroger
   La Bonne Boite depuis cet outil, « Entreprises qui recrutent », service web publié sur Apify. Les identifiants
   sont liés à l'application que vous déclarez (conditions d'utilisation de francetravail.io, art. 5.3).
3. Dans l'application, ouvrez l'**abonnement aux API** et abonnez-la à **« La Bonne Boite » (v2)**, en acceptant ses
   conditions d'utilisation. Tant que l'abonnement n'est pas actif, l'outil signale « application non abonnée à
   l'API La Bonne Boite ».
4. Copiez l'identifiant (« identifiant client » dans l'espace francetravail.io) et le secret (« clé secrète ») de
   l'application dans les champs « francetravail.io client ID » et « francetravail.io secret ».

En renseignant vos identifiants, vous les confiez à cet outil pour la seule durée de l'exécution ; ils sont chiffrés
par Apify et n'apparaissent jamais dans le journal ni dans les résultats. L'outil ne les envoie qu'à France Travail,
pour se connecter. Vous utilisez l'API sous votre propre compte et vous en acceptez les conditions d'utilisation.

### Entrée

| Libellé dans la console (en anglais) | Valeur proposée | À quoi ça sert |
|---|---|---|
| francetravail.io client ID, francetravail.io secret | vides | Votre application francetravail.io. Vides tous les deux : la clé de l'éditeur est utilisée |
| ROME codes (jobs) | G1603 | Métiers recherchés, 10 au plus (exemple : M1805, études et développement informatique) |
| NAF codes (sectors) | vide | Secteurs d'activité, 10 au plus (exemple : 6201Z ou 62.01Z, programmation informatique) |
| Departments | 13 | Zone : codes de département (31, 75, 2A, 971…) |
| Towns (INSEE codes) | vide | Zone : codes INSEE des communes (31555 pour Toulouse), pas les codes postaux |
| Point latitude, Point longitude, Radius (km) | rayon de 10 km | Zone : autour d'un point, rayon de 1 à 199 km (le rayon vaut aussi autour de chaque commune) |
| High hiring potential only | cochée | Ne garde que les établissements à fort potentiel d'embauche |
| Maximum number of establishments | 20 | Arrête l'exécution à ce nombre d'établissements enregistrés |

Indiquez au moins un code ROME ou un code NAF. Plusieurs codes ROME se cumulent, de même que plusieurs codes NAF ;
avec des codes ROME et des codes NAF, un établissement doit répondre aux deux (un métier ET un secteur). Une seule
sorte de zone par exécution. Il n'est pas possible de lister toutes les entreprises de France : indiquez au moins un
métier ou un secteur, et une zone.

**Trouver un code ROME** : chaque fiche métier de France Travail porte son code, sur MétierScope
(https://candidat.francetravail.fr/metierscope/). Exemples : G1603 (personnel polyvalent en restauration), M1805
(études et développement informatique), M1503 (management des ressources humaines).

**Nombre maximum d'établissements** (« Maximum number of establishments ») : prérempli à 20 pour un premier essai. S'il est laissé vide : 200 avec vos
identifiants, 100 sans. Au plus : 2 000 avec vos identifiants, 300 sans.

**Fort potentiel d'embauche seulement** (« High hiring potential only ») : si vous décochez la case, les établissements qui ne sont pas à fort
potentiel sont aussi enregistrés, et facturés comme les autres.

### Sortie

Une ligne par établissement, sans doublon :

| Champ | Contenu |
|---|---|
| `siret`, `siren` | Numéros de l'établissement et de l'entreprise |
| `nom` | Dénomination de la société au répertoire Sirene |
| `enseigne` | Enseigne de l'établissement selon Sirene, sinon vide |
| `potentiel_embauche` | Potentiel d'embauche estimé par France Travail, de 0 à 100 |
| `fort_potentiel` | Vrai si l'établissement est classé à fort potentiel |
| `code_rome`, `code_naf`, `libelle_naf` | Métier, secteur et libellé du secteur |
| `effectif_min`, `effectif_max` | Effectif estimé par France Travail |
| `commune`, `code_insee`, `code_postal`, `departement`, `numero_departement`, `region` | Localisation (sans adresse de voie) |
| `entreprise` | Selon Sirene : taille (PME, ETI, GE), tranche d'effectif, date de création, état, forme juridique, activité |
| `etablissement` | Selon Sirene : siège ou non, date de création, état |
| `mode` | `cle_utilisateur` (vos identifiants) ou `cle_editeur` (clé de l'éditeur) |
| `mention_source`, `consulte_le` | Mention de source et heure de consultation |
| `facturable` | Toujours vrai : chaque ligne enregistrée est facturée une fois |

Les zones sont lues tour à tour, des plus forts potentiels aux plus faibles. Une zone qui n'a pas pu être lue jusqu'au
bout est signalée dans le bilan et dans le message de fin : découpez-la en zones plus petites.

L'exécution s'arrête proprement au nombre maximum d'établissements, à votre limite de dépense, ou après 25 minutes.
Des identifiants refusés font échouer l'exécution avant toute facturation.

### Sources

| Source | Ce qu'elle apporte |
|---|---|
| France Travail, API La Bonne Boite | établissements à fort potentiel d'embauche, par zone et par métier ou secteur |
| Insee, répertoire Sirene, via l'API Recherche d'entreprises (DINUM) | vérification de chaque établissement, dénomination, taille, effectif, dates, état |

Chaque ligne porte la mention suivante (`mention_source`) et l'heure de consultation (`consulte_le`) :

« Source : France Travail, API La Bonne Boite, consultée le \[date] ; Source : Insee (www.insee.fr), répertoire
Sirene, via l'API Recherche d'entreprises (DINUM), consultée le \[date]. Date de dernière mise à jour : non
communiquée par les API ; la date de consultation est indiquée à la place. »

Toute réutilisation doit conserver cette mention.

Les données de La Bonne Boite sont mises à disposition par France Travail sous la Licence Ouverte 2.0 (Etalab), selon
les conditions d'utilisation de francetravail.io ; les données Sirene sont réutilisables sous Licence Ouverte 2.0. Cet
outil ne pose aucune restriction supplémentaire à la réutilisation des données livrées.

### Données personnelles

Les établissements publiés appartiennent à des **sociétés vérifiées**. Chaque numéro SIRET est vérifié au répertoire
Sirene ; sont masqués, ni enregistrés ni facturés, et seulement comptés par motif dans le bilan :

- les **entrepreneurs individuels**, dont le nom est celui d'une personne ;
- les entreprises et les établissements en **diffusion partielle** (opposés à la diffusion de leurs données) ;
- les entreprises ou établissements **introuvables** au répertoire, et tout établissement dont la **vérification a
  échoué** : un établissement non retrouvé dans Sirene est retiré, jamais complété avec un autre nom ;
- les sociétés qui ont fait **opposition** auprès de l'éditeur (voir plus bas).

La dénomination publiée est celle du répertoire Sirene ; l'enseigne, celle que Sirene donne pour l'établissement,
sinon rien. Les noms saisis dans La Bonne Boite et son identifiant interne ne sont jamais recopiés. Aucune adresse de
voie, aucun contact, aucun dirigeant. L'adresse électronique que renvoie l'API est reçue puis écartée en mémoire :
elle n'est ni enregistrée, ni journalisée, ni publiée. Les établissements fermés et les sociétés cessées sont écartés
sans être facturés.

Une dénomination ou une enseigne de société peut toutefois reprendre le nom d'une personne, par exemple son dirigeant.

- Responsable de l'outil : l'éditeur indiqué dans les mentions légales. Base légale : intérêt légitime (RGPD,
  art. 6.1.f) à faire connaître les entreprises qui recrutent, à partir de données publiées par France Travail et
  l'Insee.
- Conservation : l'éditeur ne garde aucun résultat. Les données sont lues à chaque exécution et enregistrées dans le
  seul compte Apify de l'utilisateur. Le journal d'exécution ne contient ni numéro SIRET ni dénomination.
- Vos droits : toute société ou personne concernée peut s'opposer à figurer dans les résultats ou exercer ses droits
  d'accès et d'effacement en écrivant à l'adresse de contact, avec le **SIREN**. L'entreprise est masquée dans les
  exécutions suivantes dans un délai d'un mois. Réclamation possible auprès de la CNIL (cnil.fr).

**Vos obligations en tant qu'utilisateur.** Vous devenez responsable du traitement des données que vous récupérez
pour vos propres finalités : informez les personnes concernées de l'origine des données lors du premier contact
(RGPD, art. 14), respectez leur droit d'opposition et les règles de prospection commerciale (code des postes et des
communications électroniques, art. L34-5). Avant toute prospection, respectez l'opposition qu'une entreprise aurait
exprimée au répertoire Sirene (code de commerce, art. R123-232-1) ; cette opposition n'est exposée par aucune API
publique. Les entrepreneurs individuels et les établissements en diffusion partielle sont déjà exclus.

***

### Conditions d'utilisation / Terms

Outil destiné aux professionnels. Les établissements viennent de France Travail (API La Bonne Boite), interrogée avec vos identifiants ou avec la clé de l'éditeur. Les données de La Bonne Boite sont mises à disposition par France Travail sous la Licence Ouverte 2.0 (Etalab), selon les conditions d'utilisation de francetravail.io ; les données Sirene sont réutilisables sous Licence Ouverte 2.0. Cet outil ne pose aucune restriction supplémentaire à la réutilisation des données livrées. Conservez la mention de la source et de la date, et ne laissez pas croire à une caution de France Travail. Le potentiel d'embauche est une estimation statistique, pas une offre d'emploi ni un engagement de l'entreprise. Données lues au moment de l'exécution, sans garantie d'exhaustivité ni d'actualité. N'utilisez pas les résultats pour démarcher les entreprises sans respecter les règles de la prospection. Dans les limites permises par la loi, l'éditeur ne répond pas des décisions prises sur la seule base de ces résultats, ni de l'usage que l'utilisateur en fait. Cette clause n'écarte aucun droit que la loi réserve aux consommateurs, notamment la garantie légale de conformité des contenus et services numériques.

Intended for business use. Establishments come from France Travail (La Bonne Boite API), queried with your credentials or the developer's key. La Bonne Boite data is made available by France Travail under the Licence Ouverte 2.0 (Etalab), subject to the francetravail.io terms of use; Sirene data may be reused under the Licence Ouverte 2.0. This tool adds no further restriction on the reuse of the delivered data. Keep the source and date notice and do not imply any endorsement by France Travail. The hiring potential is a statistical estimate, not a job offer or a commitment by the company. No guarantee of completeness or freshness. To the extent permitted by law, the developer is not liable for decisions based solely on these results or for the user's use of them. Nothing here limits statutory consumer rights.

### Mentions légales / Legal notice

- Éditeur et vendeur / Publisher and seller : Audric Moussaoui, entrepreneur individuel (EI), pseudonyme « geckostar » / pseudonym "geckostar"
- Adresse / Address : 88 rue Oberkampf, 75011 Paris, France
- Téléphone / Phone : +33 6 95 11 28 15
- Courriel / E-mail : audricmm@gmail.com
- SIREN : en cours d'attribution, déclaration d'activité déposée le 24/10/2026 / being assigned, registration filed on 24 October 2026
- Directeur de la publication / Publication director : Audric Moussaoui
- TVA non applicable, art. 293 B du CGI / VAT not applicable (French VAT franchise, art. 293 B CGI)
- Hébergement / Hosting : Apify Technologies s.r.o., Vodičkova 704/36, 110 00 Prague 1, République tchèque / Czech Republic (hello@apify.com)

# Actor input Schema

## `clientId` (type: `string`):

Optional. Client ID of YOUR application on francetravail.io (free, subscribed to the La Bonne Boite API): lowest price and higher limits. If you leave this field and the secret empty, the developer's key is used: higher price, 300 establishments and 5 areas at most per run.

## `clientSecret` (type: `string`):

Optional, with the client ID. Secret of your francetravail.io application. You entrust it to this tool for the duration of the run only: it is encrypted by Apify and never appears in the log or in the results.

## `romeCodes` (type: `array`):

Jobs sought: G1603 (restaurant all-rounder), M1805 (software development), M1503 (human resources management)… Up to 10. Find a code: France Travail's MétierScope, https://candidat.francetravail.fr/metierscope/. Give at least one ROME code or one NAF code; with both, an establishment must match both.

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

Business sectors: 6201Z or 62.01Z (computer programming), 7820Z (temporary employment agencies)… Up to 10.

## `departements` (type: `array`):

Department codes: 31, 75, 2A, 971… Up to 30 (5 with the developer's key). One kind of area per run: departments, towns, or a point and a radius.

## `codesInsee` (type: `array`):

INSEE town codes, not postcodes: 31555 (Toulouse), 75056 (Paris)… You can add a radius around each town.

## `latitude` (type: `number`):

With the longitude: search around a point (for example 43.6045 for Toulouse).

## `longitude` (type: `number`):

For example 1.4440 for Toulouse.

## `distanceKm` (type: `integer`):

From 1 to 199 km, around the point (10 km if empty) or around each town.

## `onlyHighPotential` (type: `boolean`):

Keeps only the establishments France Travail rates as having high hiring potential within 6 months. If you untick this box, the other establishments are saved too, and billed like the others.

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

The run stops once this many establishments are saved. Prefilled with 20 for a first try. If empty: 200 with your credentials, 100 without. At most: 2,000 with your credentials, 300 without.

## Actor input object example

```json
{
  "romeCodes": [
    "G1603"
  ],
  "departements": [
    "13"
  ],
  "onlyHighPotential": true,
  "maxItems": 20
}
```

# Actor output Schema

## `results` (type: `string`):

Une ligne par établissement enregistré (tous facturés). Les établissements masqués ou écartés ne sont ni enregistrés ni facturés ; voir le bilan.

## `bilan` (type: `string`):

Compteurs de l'exécution : établissements lus, enregistrés, écartés par motif, consultations de France Travail, cause d'arrêt.

# 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 = {
    "romeCodes": [
        "G1603"
    ],
    "departements": [
        "13"
    ],
    "maxItems": 20
};

// Run the Actor and wait for it to finish
const run = await client.actor("geckostar/entreprises-qui-recrutent").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 = {
    "romeCodes": ["G1603"],
    "departements": ["13"],
    "maxItems": 20,
}

# Run the Actor and wait for it to finish
run = client.actor("geckostar/entreprises-qui-recrutent").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 '{
  "romeCodes": [
    "G1603"
  ],
  "departements": [
    "13"
  ],
  "maxItems": 20
}' |
apify call geckostar/entreprises-qui-recrutent --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,geckostar/entreprises-qui-recrutent"
        }
    }
}
```

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/S2saOlj2ApynaRo9u/builds/o17cY577Lk3LoETWw/openapi.json
