Pricing
Pay per event
France Travail Jobs Scraper
Extract public France Travail job offers by keyword, location, and contract type with companies, salaries, descriptions, and apply links.
Pricing
Pay per event
Rating
0.0
(0)
Developer
Actor stats
0
Bookmarked
2
Total users
1
Monthly active users
3 days ago
Last modified
Categories
Share
Extract public job offers from France Travail search results and detail pages.
What does France Travail Jobs Scraper do?
France Travail Jobs Scraper collects public job listings from the official France Travail candidate website. It turns search pages into structured rows with job titles, companies, locations, contracts, salary text, descriptions, and public apply links when available.
Who is it for?
Recruiters use it to monitor fresh French job supply.
Staffing agencies use it to map employer demand by region.
Labor-market analysts use it to track roles, contracts, and salary text.
Sales teams use it to find hiring companies in France.
Why use it?
France Travail search pages are built for humans. This actor converts them into exportable datasets for dashboards, alerts, enrichment, and recurring market monitoring.
Data extracted
| Field | Description |
|---|---|
id | France Travail offer ID |
title | Job title |
company | Employer name when shown |
location | City, department, or public location text |
contract | Contract type |
workTime | Weekly hours or full-time text |
salary | Salary text when available |
postedDateText | Human-readable publication text when detected |
description | Detail page job description |
snippet | Search result snippet |
url | Job detail URL |
applyUrl | Public apply/contact URL when present |
source | France Travail |
searchUrl | Search page that produced the row |
scrapedAt | Extraction timestamp |
How much does it cost to scrape France Travail jobs?
The actor uses pay-per-event pricing. You pay a small run start fee and a per-job fee for saved results. See the Apify pricing panel for the live tiered price.
How to use it
- Enter a keyword such as
developer,infirmier, ordata analyst. - Optionally set a location or department.
- Optionally choose a contract type.
- Set
maxItems. - Run the actor.
- Export the dataset as JSON, CSV, Excel, or connect it to your workflow.
Input options
Keyword
Use French or English terms that France Travail search accepts.
Location
Use a city, region, or department-style term accepted by the public website.
Contract type
Supported shortcuts include CDI, CDD, temporary, seasonal, apprenticeship, freelance, and professionalization.
Start URLs
Advanced users can paste France Travail search result URLs directly. When start URLs are provided, they override the keyword filters.
Include details
Enable detail pages when you need long descriptions, salary text, work time, and apply links. Disable it for faster search-only monitoring.
Output example
{"id":"210FNBQ","title":"Data analyst (H/F)","company":"SILICEO","location":"51 - ST MARTIN SUR LE PRE","contract":"CDI - Temps plein","salary":null,"url":"https://candidat.francetravail.fr/offres/recherche/detail/210FNBQ"}
Tips for best results
Use specific keywords for cleaner datasets.
Keep the first run small to confirm filters.
Use recurring runs for daily market monitoring.
Disable detail pages when you only need fresh offer IDs and URLs.
Integrations
Send results to Google Sheets for recruiting dashboards.
Push CSV exports into BI tools for regional labor-market analysis.
Connect dataset webhooks to Slack alerts for new jobs.
Enrich employer names with CRM or lead-scoring tools.
API usage with Node.js
import{ ApifyClient }from'apify-client';const client =newApifyClient({token: process.env.APIFY_TOKEN});const run =await client.actor('automation-lab/france-travail-jobs-scraper').call({keyword:'developer',maxItems:100});console.log(run.defaultDatasetId);
API usage with Python
from apify_client import ApifyClientclient = ApifyClient('MY-APIFY-TOKEN')run = client.actor('automation-lab/france-travail-jobs-scraper').call(run_input={'keyword':'developer','maxItems':100,})print(run['defaultDatasetId'])
API usage with cURL
curl-X POST 'https://api.apify.com/v2/acts/automation-lab~france-travail-jobs-scraper/runs?token=MY-APIFY-TOKEN'\-H'Content-Type: application/json'\-d'{"keyword":"developer","maxItems":100}'
MCP usage
Use this actor from Claude Desktop or Claude Code via the Apify MCP server.
MCP URL:
https://mcp.apify.com/?tools=automation-lab/france-travail-jobs-scraper
Claude Code setup:
$claude mcp add apify-france-travail https://mcp.apify.com/?tools=automation-lab/france-travail-jobs-scraper
Claude Desktop JSON config:
{"mcpServers":{"apify-france-travail":{"url":"https://mcp.apify.com/?tools=automation-lab/france-travail-jobs-scraper"}}}
Example prompts:
- "Scrape 100 France Travail developer jobs in Paris."
- "Find recent CDI job offers for data analysts in France."
- "Monitor France Travail nursing jobs and summarize employers by region."
Legality
This actor extracts publicly available France Travail job-offer pages. Use the data responsibly, respect applicable laws, and avoid collecting or processing personal data unless you have a lawful basis.
FAQ
Why did I get fewer jobs than requested?
France Travail may have fewer jobs for the selected filters, or duplicate offers may appear across pages.
Why are salary or apply fields empty?
Not every public job offer exposes salary or a direct application URL.
Should I enable detail pages?
Enable detail pages for richer records. Disable them for faster lightweight monitoring.
Related scrapers
- https://apify.com/automation-lab/linkedin-jobs-scraper
- https://apify.com/automation-lab/indeed-scraper
- https://apify.com/automation-lab/google-jobs-scraper
Changelog
Initial version extracts public France Travail search results and detail-page fields.
Notes
The actor uses HTTP extraction because public search HTML contains result rows.
No login is required.
No browser automation is required for the current public pages.
Support
If a public France Travail page changes and output quality drops, open an Apify issue with the run URL and input used.
Field quality
Company and location are parsed from visible result text.
Salary and long descriptions are parsed from public detail pages.
Apply links are extracted when the public detail dropdown exposes them.
Monitoring workflow
Schedule the actor daily with the same keyword and location.
Deduplicate by id.
Use scrapedAt to separate daily snapshots.
Recruiting workflow
Run separate tasks for each role family.
Export jobs to CSV.
Filter by contract and location.
Prioritize employers with repeated postings.
Labor-market workflow
Run broad occupational keywords.
Group by department or city.
Track contract mix and salary text over time.
Combine with internal hiring data for supply-demand reports.
Sales workflow
Use hiring activity as an intent signal.
Find companies hiring in your target categories.
Route new employer names to CRM enrichment.
Build alerts for strategic accounts.
