France Travail Jobs Scraper — French Job Offers & Salaries
Pricing
from $1.05 / 1,000 job offer scrapeds
France Travail Jobs Scraper — French Job Offers & Salaries
Scrape job offers from France Travail (ex-Pôle emploi) and the partner job boards it lists, by keyword, ROME code, city, department or region. Filter by contract, date, domain, experience and salary; add the full offer with salary, skills and licences. No login. From US$1.05 per 1,000 jobs.
Pricing
from $1.05 / 1,000 job offer scrapeds
Rating
0.0
(0)
Developer
Fabrikit
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
3 days ago
Last modified
Categories
Security
Limited permissionsShare
France Travail Jobs Scraper extracts job offers from candidat.francetravail.fr, the job board of France's public employment service (formerly Pôle emploi). That board lists offers posted directly with France Travail and offers from partner job boards such as Meteojob, Beetween, Broadbean, Skello and Cookorico. Search by keyword or ROME occupation code, by city, department, region or the whole country, apply the site's own filters, and download a flat dataset as JSON, CSV or Excel. You don't need an account, a France Travail developer key or cookies.
Price: US$1.05 per 1,000 job offers. Full offer records cost an extra US$0.40 per 1,000 if you turn them on.
What you get
Search data (every offer, event job-result)
jobId,url(the public offer page),title,company(empty when the employer is anonymous)locationas shown ("69 - Lyon 5e Arrondissement"), split intodepartmentCodeandcity, pluslatitude/longitudewhen France Travail geocodes the offercontractType(CDI, CDD, Intérim, …) andworkingTime(Temps plein / Temps partiel)snippet: the opening lines of the offerpostedText("Publié il y a 3 jours"),postedDaysAgo, andpostedDate. The site only shows a relative label, sopostedDateis that label turned into a Paris calendar date on the day of the run.badges(for example "Employeur handi-engagé") anddisabilityCommittedEmployersource("France Travail" or the partner board, such as METEOJOB),isPartnerOffer,sourceLogosearchKeyword,searchLocation,searchLocationCode,searchUrl,rank,scrapedAt
Offer details add-on (includeDetails: true, event job-details)
description: the full offer text, with line breaks keptromeCodeandromeLabel, the official French occupation code and titlesalaryTextas published ("Mensuel de 2170.0 Euros à 2175.0 Euros"), parsed intosalaryMin,salaryMax,salaryPeriod(month, year, hour),salaryCurrencycontractSummary,contractDuration("3 Mois", "38 Jour(s)"),contractNature,schedule("35H/semaine", "Travail de nuit"…),workingHours,workConditionsqualification,experience,experienceRequirement(beginner-accepted, preferred, required)education,skillsandlanguages(each item carries arequiredflag), plussoftSkills,drivingLicencesandbenefits- Employer facts:
industry,companySize,companyDescription,companyPostalCity,companyWebsite,employerPageUrl,adaptedCompany disabilityFriendly,fewApplicants,nationalPrograms(for example "Plan 1 jeune, 1 solution"),travel,updatedDate(ISO)
The Actor never asks for recruiter contact details. E-mail addresses, phone numbers, personal profile links and the names of contact persons are removed from every text it saves.
Use cases
- Hiring signals for B2B sales: see which employers in a department are recruiting, for which occupations and contracts, and how large they are.
- Labour-market and salary studies: count offers by ROME code, region and contract type; offers that publish a salary give you parsed monthly, yearly or hourly ranges.
- Job feeds and alerts: schedule a daily run with
postedWithin: "1"for a trade and a city, then push new offers to Slack, a sheet or a newsletter. - Recruitment and staffing agencies: watch fixed-term, temp-agency and seasonal demand by place, or follow offers with few applicants.
- Inclusion programmes: filter disability-committed employers and adapted companies.
How to use
- Add keywords (job titles, skills or ROME codes such as
N4101), or leave them empty to list every offer in a place. - Add places: a city ("Toulouse"), a department name or number ("Gironde", "33"), a region ("Bretagne") or "France". Each place is looked up with France Travail's own place search. Use radiusKm to widen a city search.
- Pick filters, set
maxItems, and turn onincludeDetailsif you need full descriptions, salaries and skills.
Full-time truck-driver offers within 30 km of Toulouse, posted directly with France Travail, with full records:
{"keywords": ["chauffeur poids lourd"],"locations": ["Toulouse"],"radiusKm": "30","workingTime": ["full-time"],"includePartnerOffers": false,"includeDetails": true,"maxItems": 100}
Permanent IT jobs for executives in the Paris region, paying at least €3,000 a month, published this week:
{"locations": ["Île-de-France"],"domains": ["M18"],"contractTypes": ["CDI"],"qualification": ["executive"],"salaryMin": 3000,"salaryPeriod": "monthly","postedWithin": "7","maxItems": 500}
A search you already built on the website:
{"searchUrls": ["https://candidat.francetravail.fr/offres/recherche?lieux=69123&typeContrat=CDI&emission=3&rayon=10&tri=1"],"maxItems": 300}
Output example
Here is a real record from a test run on 21 Oct 2026, with the description and lists shortened.
{"jobId": "215LFRJ","url": "https://candidat.francetravail.fr/offres/recherche/detail/215LFRJ","title": "Chauffeur / Chauffeuse de poids lourd (H/F) (H/F)","company": "TRANSSUD","location": "31 - BRUGUIERES","departmentCode": "31","city": "BRUGUIERES","latitude": 43.727074,"longitude": 1.412078,"contractType": "CDI","workingTime": "Temps plein","postedText": "Publié hier","postedDaysAgo": 1,"postedDate": "2026-10-20","badges": ["Employeur handi-engagé"],"disabilityCommittedEmployer": true,"source": "France Travail","isPartnerOffer": false,"searchKeyword": "chauffeur poids lourd","searchLocation": "Toulouse (31000, 31100, 31200, 31300, 31400, 31500)","rank": 1,"description": "Nous recherchons un(e) Chauffeur / Chauffeuse de poids lourd afin de :\n\n- Préparer le chargement ...","romeCode": "N4101","romeLabel": "Chauffeur / Chauffeuse de poids lourd","contractSummary": "CDI - Contrat travail","schedule": ["35H/semaine", "Travail en journée"],"salaryText": "Mensuel de 2170.0 Euros à 2175.0 Euros","salaryMin": 2170,"salaryMax": 2175,"salaryCurrency": "EUR","salaryPeriod": "month","qualification": "Ouvrier qualifié (P1,P2)","experience": "Débutant accepté","experienceRequirement": "beginner-accepted","skills": [{ "name": "Contrôler l'état de fonctionnement du véhicule", "required": false }, "..."],"softSkills": ["Faire preuve de rigueur et de précision", "..."],"drivingLicences": [{ "name": "C - Poids lourd", "required": true }],"industry": "Transports routiers de fret de proximité","companySize": "50 à 99 salariés","nationalPrograms": ["Employeur Handi-engagé", "Plan \"1 jeune, 1 solution\""],"updatedDate": "2026-10-20"}
Without includeDetails, each record stops at rank and then scrapedAt.
Pricing
| What you run | Cost |
|---|---|
| 1,000 offers, search data | US$1.05 |
| 1,000 offers with full records | US$1.05 + US$0.40 = US$1.45 |
| 10,000 offers, search data | US$10.50 |
You pay only for offers saved to the dataset. Duplicates, such as one offer found by two keywords, are dropped before you're charged. maxItems is exact, and the run stops cleanly when it reaches your spending limit.
Compared with the alternatives
- The official France Travail API (francetravail.io) is free but needs a registered application, OAuth credentials and your own code. This Actor needs none of that and returns a ready-made table.
- Other France Travail Actors on the Store charge between about US$0.79 and US$1.50 per 1,000 results. The most used one costs US$1.50. This Actor costs US$1.05 for search data and US$1.45 with full records. It also gives you coordinates, partner-board origin, badges, parsed salaries and every filter the website offers.
- Limits: like the website, each search returns at most 1,150 offers. Split large pulls by place, contract or domain. Results are de-duplicated across searches. Application links that sit behind France Travail's apply flow are not collected.
This Actor is built on our Built In Jobs Scraper and uses the same pricing model, maxItems handling and privacy rules.
Integrations
Schedule runs and send new offers to Google Sheets, Airtable, Slack or a webhook. You can also connect the Actor to n8n, Make or Zapier, or start runs and read datasets through the Apify API. AI agents can call it as a tool through the Apify MCP server, for example: "find CDI nursing jobs in Gironde published this week".
FAQ
Is it legal to scrape France Travail? The Actor reads job offers that France Travail publishes openly, without logging in, and keeps no personal data. Check that your use fits France Travail's terms and the GDPR. This Actor is independent and not endorsed by France Travail.
Do I need a proxy? The default Apify proxy is expected to work. If France Travail starts refusing requests, the Actor switches to French RESIDENTIAL proxies on its own. The SUMMARY record shows which route was used.
Why is postedDate a date without a time? The website only says "Publié hier" or "il y a 5 jours". The Actor converts that label to a Paris calendar date. With details on, updatedDate gives the offer's last-modification date.
What happens if a filter is not applied? France Travail silently ignores parameters it does not know. The Actor compares what it sent with the query the site actually applied and lists any difference in SUMMARY.ignoredFilters.
Changelog
- 0.1 (October 2026): first release. Keyword, ROME-code and place search with radius, every website filter, pasted search URLs, slices of up to 150 offers per request, exact
maxItems, de-duplication, optional full offer records, automatic RESIDENTIAL fallback, contact redaction.
En español
France Travail Jobs Scraper extrae ofertas de empleo de candidat.francetravail.fr, el servicio público de empleo de Francia (ex Pôle emploi), incluidas las de bolsas asociadas. Busca por palabra clave o código ROME y por ciudad, departamento, región o toda Francia, con los mismos filtros del sitio (contrato, fecha, dominio, experiencia, cualificación, salario). Con includeDetails añade la descripción completa, el salario con rango, competencias, idiomas, permisos y datos de la empresa. Precio: US$1,05 por 1.000 ofertas (+US$0,40 por 1.000 con detalle). No guarda datos de contacto de reclutadores.