+France Travail API
Search France Travail job offers and read each one's salary, ROME code, skills and employer as JSON.
The API.SH France Travail API returns job offers from France's public employment service (formerly Pôle emploi) as structured JSON. Search by keyword and a commune, department or region with the site's own filters for radius, contract type, posting date, qualification, working hours, professional domain, minimum salary and partner offers. Then open any offer to get its ROME job code and label, employer details, contract, hours, salary range and benefits, required experience, education, skills, languages and driving licences, and the full description.
- 2 endpoints
- from $1 / 1,000 calls
- 1,000 free credits / month
- failed calls free
GET https://api.api.sh/francetravail/v1/ search
{ "success": true } What you can build with the France Travail API
French job market analysis
Search offers by region, contract type and domain to see where hiring is growing and which roles are in demand.
Salary benchmarking
Collect offers for a role with a minimum salary filter and read each salary range with its period (year, month or hour).
Skills and ROME code mapping
Read the ROME code, skills, soft skills, education and languages of each offer to map jobs to the skills they ask for.
Job boards and aggregators
Feed fresh France Travail offers into your own job site, newsletter or alert service, filtered by place, radius and posting date.
France Travail data you get
Field names from real responses. Numbers come parsed, URLs absolute, dates in ISO 8601.
France Travail API endpoints and prices
Every France Travail endpoint costs 1 credit per call: credits are $1 per 1,000 on a monthly plan, $2 pay-as-you-go. Pricing
| Search France Travail jobs /francetravail/ | $1 · $2 PAYG 1 credit |
| France Travail job offer /francetravail/ | $1 · $2 PAYG 1 credit |
Call the France Travail API
Search France Travail jobs: GET https://api.api.sh/francetravail/
curl "https://api.api.sh/francetravail/v1/search?q=developpeur" \
-H "x-api-key: $APISH_KEY" import os, requests
res = requests.get(
"https://api.api.sh/francetravail/v1/search",
params={"q": "developpeur"},
headers={"x-api-key": os.environ["APISH_KEY"]},
timeout=120,
)
res.raise_for_status()
data = res.json() const url = new URL("https://api.api.sh/francetravail/v1/search");
url.searchParams.set("q", "developpeur");
const res = await fetch(url, { headers: { "x-api-key": process.env.APISH_KEY } });
if (!res.ok) throw new Error(`${res.status} ${await res.text()}`);
const data = await res.json(); # Google Sheets (API.SH add-on)
=APISH("/francetravail/v1/search", "q", "developpeur")
# Zapier, Make, n8n (verified node): pick the API.SH app,
# choose "France Travail" and "Search France Travail jobs".
# AI agents (Claude, ChatGPT, Cursor): add the
# API.SH MCP server https://api.sh/mcp - Create a free accountConfirm your email and get 1,000 free credits every month. No card needed.
- Create an API keyOne key works for all 482 platforms.
- Send the requestJSON back in one call. Add
output=csvoroutput=ndjsonfor files.
Why API.SH for France Travail data
- Public data only: no France Travail login, cookies or account needed
- One key and one response shape for France Travail and 481 other platforms
- Built and maintained by API.SH, not third-party publishers
- Pay per call; errors on our side cost nothing
- Live status for every endpoint
API.SH vs the official France Travail API
Yes. France Travail runs an official API platform, francetravail.io, whose Offres d'emploi API returns active job offers; you register an application there before you get access. API.SH needs no registration on francetravail.io and returns the same public offers in the JSON shape it uses for every other job site, so one integration covers France Travail alongside other boards.
Instead of registering an app on francetravail.io, writing your own France Travail scraper or comparing Apify actors, API.SH gives you one key and a fixed price per call, with blocks and retries handled for you.
France Travail API questions
What France Travail data can I get?+
Job offer search with the site's filters for place, radius, contract, posting date, qualification, hours, domain, minimum salary and partner offers (/francetravail/v1/search), and one full job offer with ROME code, employer, salary range, skills, languages and description (/francetravail/v1/job).
How much does the France Travail API cost?+
Every France Travail endpoint costs 1 credit per call. On a monthly plan 1,000 credits cost $1 (Starter is $50/month for 50,000 credits). Pay-as-you-go is $2 per 1,000 credits, with top-ups from $15 that never expire.
Is there a free trial?+
Yes. Every account gets 1,000 free credits every month. That is 1,000 calls to /francetravail/v1/job at 1 credit each.
Is there an official France Travail API?+
Yes. francetravail.io is France Travail's official API platform, including an Offres d'emploi API, and it requires registering an application. API.SH is an alternative when you want the public job offers without that setup, in the same JSON format as other job boards.
Do I need a France Travail account or login?+
No. API.SH reads public France Travail pages only. No endpoint uses a login, cookies or anyone's account.
Can I get the ROME code for each job?+
Yes. /francetravail/v1/job returns the ROME job code and its label for each offer, along with the experience code, qualification and skills.
Does it include partner job offers and salaries?+
Yes. Search has a partners filter, and each offer has a partner_offer flag. Salary comes as text plus a salary_range with minimum, maximum, currency and period when the offer states one.
How do I get started?+
1. Sign up at api.sh. 2. Copy your API key. 3. Call /francetravail/v1/search with a keyword q and a location. Every parameter and request examples are in the docs at https://api.sh/docs. You can also use the JS or Python SDK, Google Sheets, Zapier, Make, n8n or the MCP server at https://api.sh/mcp.