France Travail Jobs Scraper - French Job Data
Pricing
from $1.20 / 1,000 results
France Travail Jobs Scraper - French Job Data
Scrape France Travail jobs with titles, employers, descriptions, salary, skills, contract, location, dates and public employer contacts.
Pricing
from $1.20 / 1,000 results
Rating
0.0
(0)
Developer
Ben
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
Collect structured vacancies from France Travail, France's public employment service and the successor to Pôle emploi. Search by role or skill and French location code, preserve filters from a public search URL, paginate through current offers, and optionally enrich every result from the public vacancy page.
The Actor returns job titles, employers, locations, contracts, descriptions, salary ranges, skills, experience, dates, industry, employer logos and public contact details when they are disclosed in the listing. Results can be exported to JSON, CSV, Excel or XML, scheduled as a recurring feed, or consumed through the Apify API.
What can you use this Actor for?
- Monitor new French vacancies by occupation, skill, employer or department.
- Build job alerts for recruiting, staffing, career and labor-market products.
- Identify companies with active hiring demand as a business-intent signal.
- Compare salaries, contracts and required skills across regions or role families.
- Track CDI, CDD, apprenticeship, internship and partner-board job supply.
- Create employer research lists from contacts published in vacancy pages.
- Feed dashboards, spreadsheets, warehouses, CRMs, Make, Zapier or n8n.
- Preserve a daily or weekly snapshot for longitudinal employment analysis.
Why use France Travail data?
France Travail is a national public employment source rather than a small specialist board. Its search covers direct employer offers and, when requested, listings supplied by partner job sites. That breadth makes it useful for regional labor-market measurement, recurring vacancy feeds and employer-level hiring research.
The public detail pages use structured JobPosting metadata. Depending on the vacancy, that metadata includes a complete employer-supplied description, postal code, city, region, employment type, working hours, publication and expiry dates, salary range and period, experience, skills, qualification, industry and hiring organization. The Actor converts those source values into stable English field names without inventing missing information.
Input
The bounded default searches for développeur Python in location code 75D (Paris department), includes partner offers, enriches details and saves up to 10 jobs. This small default is designed to finish quickly in Apify's automated quality checks.
| Field | Purpose |
|---|---|
searchUrls | Optional public France Travail search URLs with filters already applied. |
keywords | French or English role, skill, occupation or employer terms. |
locationCodes | France Travail codes such as 75D, 69D or 13D. |
radiusKm | Distance around each requested location. |
includePartnerOffers | Include offers supplied by partner job boards. |
sort | Order by relevance or newest publication date. |
includeDetails | Fetch full descriptions, salary, skills and public contacts. |
maxResultsPerSearch | Maximum unique results for every search target. |
maxPagesPerSearch | Safety limit for sticky-session pagination. |
Use a copied search URL when you need filters that are easier to select on the France Travail website. Keyword and location-code inputs are convenient for automated tasks and API calls. If both modes are supplied, all searches run and overlapping offer references are returned once.
Example input
{"keywords": ["développeur Python", "data engineer"],"locationCodes": ["75D", "69D"],"radiusKm": 25,"includePartnerOffers": true,"sort": "date","includeDetails": true,"maxResultsPerSearch": 25,"maxPagesPerSearch": 5}
For a pre-filtered website search, use:
{"searchUrls": [{"url": "https://candidat.francetravail.fr/offres/recherche?motsCles=data&lieux=75D"}],"keywords": [],"locationCodes": [],"includeDetails": true,"maxResultsPerSearch": 20}
Output
Each dataset row represents one public vacancy. Common fields include:
reference,url,application_urltitle,employer,employer_logolocation,postal_code,city,region,countrydescription,snippetcontract_type,employment_type,work_time,work_hourssalary_text,salary_min,salary_max,salary_currency,salary_periodexperience,skills,qualification,industrypublished_at,published_text,valid_throughcontact_emails,contact_phones,lead_scoresource_listing_origin,source_query,search_url,search_rank,scraped_at
Example result
{"reference": "209YVYD","title": "Developpeur informatique spécialisé en finance (H/F)","employer": "LUNALOGIC","location": "75 - PARIS","postal_code": "75002","city": "Paris","region": "Île-de-France","contract_type": "CDI","employment_type": "FULL_TIME","salary_min": "40000.0","salary_max": "55000.0","salary_currency": "EUR","salary_period": "YEAR","published_at": "2026-06-18","url": "https://candidat.francetravail.fr/offres/recherche/detail/209YVYD"}
The example shows the shape of a real public vacancy, but live offers change continuously. Missing salary, contact, employer or skill fields remain empty rather than being guessed.
Contact and lead fields
When detail enrichment is enabled, the Actor reads contact values from the public hiring-organization metadata and scans the employer-supplied description for French phone and email patterns. It does not log into a candidate account, buy private enrichment data or generate probable email addresses.
lead_score is a transparent completeness score. It rewards a named employer, public email or phone, full description, salary, skills, publication date and canonical URL. It is useful for sorting research rows, but it does not predict an employer's willingness to respond and should not replace human qualification.
Reliable extraction design
The search page is server rendered, so the Actor does not need a browser or paid proxy. France Travail pagination uses a stateful Tapestry endpoint: the Actor first loads the public search page, preserves its session cookies, then follows the source-provided pagination link and parses each returned result fragment. This is more reliable than fabricating page URLs.
Detail requests run concurrently behind a strict semaphore. Temporary request failures are retried, records are deduplicated by the official offer reference, limits are bounded, and a run fails visibly when no usable jobs are returned. A successful process with an empty dataset is not treated as healthy.
Scheduling and integrations
For a daily hiring monitor, sort by date and keep a narrow result limit for each role and department. Store reference as the external primary key, then alert only when a new value appears. For salary or skill analysis, schedule a broader weekly snapshot and group rows by region, contract_type, salary_period, skills or employer.
Apify can export the default dataset directly or send run-completion webhooks into Make, Zapier and n8n. CSV and Excel are useful for analyst review; JSON is better for repeatable application and warehouse pipelines.
Pricing
The Actor uses transparent pay-per-event pricing. A very small start event covers initialization, and every unique vacancy written to the default dataset is billed as one result. Duplicate jobs discarded before output are not billed again. The result limit gives direct control over the maximum number of billable rows.
Responsible use
This Actor collects public vacancy and employer information. Use it for legitimate recruitment, aggregation, labor-market research and monitoring. Follow applicable privacy, employment, database and marketing rules. Verify time-sensitive details on the canonical France Travail page before applying, contacting an employer or making decisions.
FAQ
Is a France Travail account or API credential required?
No. The Actor reads public search and vacancy pages without a user login, OAuth client or external API key.
Where do location codes come from?
France Travail encodes selected areas in the lieux query parameter. The simplest method is to choose a location on the public website and copy the resulting search URL. Common department examples include 75D for Paris, 69D for Rhône and 13D for Bouches-du-Rhône.
Can I collect several roles and regions?
Yes. Add multiple keywords and locationCodes. Every combination runs independently, and duplicate offer references are returned once.
Why are salary or contact fields empty?
Not every employer publishes them. The Actor only returns source-visible values and never fabricates missing data.
Can I skip detail pages for speed?
Yes. Set includeDetails to false for lightweight search rows. Full salary, skills, description, exact dates and contacts generally require detail enrichment.
How do I prevent duplicates across scheduled runs?
Use reference as the primary key in your destination. The Actor deduplicates within one run; a database, spreadsheet automation or workflow can use the same reference across runs.
What should I include in a support issue?
Include a small input, the Apify run URL and the expected behavior. Do not include candidate credentials or private personal data.
You might also like
- Arbeitsagentur Jobs Scraper for Germany's federal employment data.
- Welcome to the Jungle Jobs Scraper for European startup and employer-profile jobs.
- StepStone Scraper for commercial European job-board listings.
- Wellfound Jobs Scraper for startup roles, salary and equity data.
- Remote Jobs Aggregator for multi-source remote vacancies.
If this Actor saves you time, please leave a review on its Apify Store page. Reviews help prioritize reliability work and requested features.
Keywords: France Travail scraper, Pôle emploi scraper, French jobs API, France jobs scraper, emploi scraper, France Travail jobs data, recruitment data France, French labor market, CDI jobs scraper, CDD jobs scraper, salary data France, employer lead generation, Apify jobs scraper