France Jobs Scraper ($0.75/1K)
Pricing
from $0.45 / 1,000 job postings
France Jobs Scraper ($0.75/1K)
Search Welcome to the Jungle and France Travail at once for offres d'emploi in France. One keyword, one dataset: merged, deduplicated across both boards, newest first. CDI, CDD, alternance. Optional full descriptions. No proxy needed. JSON, CSV or Excel.
Pricing
from $0.45 / 1,000 job postings
Rating
0.0
(0)
Developer
Carabain Digital
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 hours ago
Last modified
Categories
Security
Limited permissionsShare
What is France Jobs Scraper?
France Jobs Scraper searches two job boards in France with one query (Welcome to the Jungle and France Travail) and returns one clean dataset of offres d'emploi: merged, deduplicated across sites and sorted newest first. CDI, CDD, alternance, stage: all contract types. Export as JSON, CSV or Excel. Costs $0.75 per 1,000 jobs; full descriptions are an optional add-on at $1 per 1,000. Neither site needs a proxy.
- 🌍 2 sites, one run: Welcome to the Jungle and France Travail are searched in parallel (about a second for 60 jobs)
- 🧹 Cross-site dedup: the same job on both boards (same title, company and city) appears once, with an
also_onlist of the other site - 📅 Newest first across both sites, with a total Max jobs cap and an optional cap per site
- 🎯 Pick the sites you want under Sites
- 🛡️ A failing site never fails the run: it is retried, then skipped and logged; the other still delivers
- 📄 Optional full details: description, salary and extra fields, charged only for jobs actually enriched
- 🤖 Agent friendly: small flat items, one schema for both sites, works through the Apify MCP server
Which sites are included?
| Site | Country | Single-site Actor | Default | Notes |
|---|---|---|---|---|
| Welcome to the Jungle | France | welcometothejungle-jobs | yes | Employer-brand board (tech, startups, scale-ups), up to 10,000 jobs per search, exact publication time |
| France Travail | France | francetravail-jobs | yes | Ex Pôle emploi, at most 1,150 jobs per search; about 80% of its offers are reposts from partner boards (see origin); posted_at is a day, not a time |
Results per site are capped by each site, not by this Actor (France Travail 1,150 per search, Welcome to the Jungle 10,000). Asking for more returns what the site offers.
What data can I extract?
| 🆔 Stable job ID, source site and URL | 📝 Job title |
| 🏢 Company (and company page) | 📍 Location, city, postcode, department, region, country |
| 📅 Posting date and valid-through date | 🏠 Remote: onsite / hybrid / remote |
| 💶 Salary range (when stated) | ⏱️ Hours per week and employment type (CDI, CDD, alternance ...) |
| 🎓 Education level | 🔁 also_on: other site with the same job |
| 📄 Full description (add-on, see below) | 🔗 Apply link (where the site has one) |
Every site fills what it has; coordinates, postcodes, skills and sectors come from some fields or the add-on only. Missing fields are null. Site-specific extras (origin, rome_code, skills, benefits, ...) are kept as extra fields.
How do I scrape French jobs?
- Create a free Apify account and open this Actor.
- Enter a keyword (for example
développeur) and optionally a location and radius. Leave Sites on the default or pick one. - Set Max jobs and optionally Posted in the last (days).
- Switch on Full details if you need descriptions from both boards.
- Click Start and download the jobs from the Output tab as JSON, CSV, Excel, XML or HTML.
How much does it cost to scrape French job boards?
You pay per job that ends up in your dataset: $0.75 per 1,000 unique jobs, after duplicates are removed. No subscription.
- Add-on: Full details, $1 per 1,000 jobs, off by default. Charged only for jobs whose detail page was actually fetched. Applies to Welcome to the Jungle and France Travail.
- The monthly credit of Apify's free plan covers thousands of jobs.
- You are charged for the jobs in the dataset, not for the (more numerous) jobs fetched before deduplication and the Max jobs cut. Set a maximum cost per run in the run options.
Input
See the Input tab for all options. The shared fields are the same as in our single-site job Actors, except the site-specific filters (contract types, partner offers): for those use the single-site Actors.
| Field | Description |
|---|---|
Keyword (keyword) | Job title or skill, sent to both sites, e.g. développeur |
Location (location) | City, department or postcode, sent to both sites, e.g. Lyon |
Radius (km) (radius_km) | Distance around the location; needs a location |
Posted in the last (days) (posted_since_days) | Only jobs posted in the last N days |
Sites (sites) | welcometothejungle, francetravail (default: both) |
Max jobs (limit) | Cap on the merged dataset; every site gets a fair share |
Max jobs per site (limit_per_site) | Optional cap per site (default: Max jobs) |
Full details (includeDetails) | Paid add-on: detail page data |
Proxy (proxyConfiguration) | Off by default: neither site needs one |
Example input:
{"keyword": "développeur","location": "Lyon","posted_since_days": 7,"limit": 100}
Location and keyword
The Actor sends your keyword and location to both sites as is. Use French terms (développeur, infirmier, vendeur, alternance marketing); English words such as product manager also work, mostly on Welcome to the Jungle.
posted_since_days,limitand the keyword are applied the same way on both sites.- France Travail needs a keyword and/or a location; without either it is skipped.
- Welcome to the Jungle never returns jobs abroad.
- If every selected site rejects the input, the run fails so you notice.
Output
Jobs are stored in the default dataset, one item per unique job. Export them as JSON, CSV, Excel, XML or HTML. Every site uses the same field names (id is <source>:<site id>). Example (shortened):
{"id": "welcometothejungle:example-slug","source": "welcometothejungle","url": "https://www.welcometothejungle.com/fr/companies/example/jobs/example-slug","title": "Développeur Full Stack (H/F)","company": "Exemple SAS","location": "Lyon","city": "Lyon","country": "FR","posted_at": "2026-10-31T08:12:00Z","employment_type": ["CDI"],"description": null,"scraped_at": "2026-11-01T09:00:01Z","also_on": []}
(shortened; values are illustrative). employment_type is always a list of the site's own labels. The list is in the site's own wording: Welcome to the Jungle gives one contract label (CDI, Alternance, Stage ...), France Travail gives the contract and, when known, Temps plein or Temps partiel.
How duplicates are removed
Two jobs are the same when title, company and city match (ignoring case and accents) on different sites. The first one is kept (order: Welcome to the Jungle, France Travail) and the other site goes in also_on. Two jobs of the same site are never merged.
France Travail partner reposts
About 80% of France Travail offers are republished from partner job boards (HelloWork, Meteojob, Cadremploi and others); the origin field tells you which. They are real offers, but you may know them from other boards already. Filter on origin after the run if you only want France Travail's own offers, or use the single-site francetravail-jobs Actor, which can leave partner offers out.
Sorting
With Max jobs, every site gets a fair share: jobs are taken in turns from each site (each in its own newest-first order). The result is then sorted newest first by posted_at; items without a date keep their site order. France Travail only publishes the day of an offer (YYYY-MM-DD), Welcome to the Jungle a full time, so on the same day Welcome to the Jungle jobs sort by time and France Travail ones by day.
What can I do with French job data?
- 📈 Labour market research: compare demand for a role across cities and boards
- 🧲 Recruitment and lead generation: find companies hiring, and how many roles they have open
- 🔔 Job alerts: schedule a daily run with "posted in the last 1 day" and push new offres d'emploi to Slack or e-mail
- 🎓 Alternance and student jobs: search
alternanceplus your field - 🤖 AI and analysis: feed real vacancy text into your own models
Tips for best results
- Each site has its own ceiling: France Travail gives at most 1,150 jobs per search. For deeper exports, split by keyword, location or date.
- Max jobs keeps the newest jobs over both sites. Use Max jobs per site to keep the mix balanced.
- Both sites are fast: 60 jobs take about a second, and the Full details add-on adds little on top.
- For monitoring, schedule a daily run with Posted in the last (days) set to
1.
Frequently asked questions
Can I use France Jobs Scraper with the Apify API?
Yes. Use the Apify API or the Apify clients. Python:
from apify_client import ApifyClientclient = ApifyClient("<YOUR_APIFY_TOKEN>")run = client.actor("carabain-digital/france-jobs").call(run_input={"keyword": "développeur", "location": "Lyon", "posted_since_days": 7, "limit": 100})for item in client.dataset(run["defaultDatasetId"]).iterate_items():print(item["source"], item["title"])
Can I use France Jobs Scraper through an MCP server or with AI agents?
Yes. Add the Apify MCP server to your AI agent (Claude, ChatGPT, Cursor and others) and let it call carabain-digital/france-jobs with call-actor. The input is small and every field has a description, so an agent can fill it from a request such as "find 20 new développeur jobs in Lyon" (keyword, location, limit). A small run finishes in seconds; the agent then reads the dataset with get-dataset-items. Add-ons are off by default, so an agent pays only the base price unless it asks for more.
Can I integrate the data with other apps?
Yes: Make, Zapier, Google Sheets, Slack, Airbyte and webhooks, via Apify's integrations.
Why are there fewer jobs than Max jobs?
Each site returns what matches your search, duplicates across sites are removed, and a site's own ceiling applies. A narrow search can leave you with fewer.
Why does one site return nothing?
Either it has no match for your search, or it failed and was skipped after retries. The run log lists skipped sites. If all selected sites fail, the run fails so you notice. Try again later or open an issue.
Why do so many France Travail jobs look familiar?
About 80% of France Travail offers are partner reposts (HelloWork, Meteojob, Cadremploi ...), see the origin field.
Is it legal to scrape job boards?
The Actor only collects publicly visible job ad data. Job ads can contain personal data such as a contact name, and rules such as GDPR may apply to how you store and use it. Check your use case with a lawyer. See also Is web scraping legal?
France Jobs Scraper not working? / Feedback
Open an issue in the Issues tab of this Actor with the run link and the input you used; I usually answer within a few days.
Other scrapers by us
The two single-site Actors behind this one are linked in the table above: welcometothejungle-jobs, francetravail-jobs. They are cheaper per job when you need one site only, and have site-specific filters (contract types, partner offers).
⭐ Does it work well for you? A review on the Store page helps others find this Actor and helps us keep it maintained.