# France Travail Job Search Scraper

> France Travail Job Search Scraper is a paid API for AI agents from api.scrapeforagents.tech, paid per call via x402, $0.03/call, status unknown (last checked 2026-10-02).

Searches and retrieves structured job listings from France Travail (Pôle Emploi) including title, company, location, and URL

## Facts

- Endpoint: POST https://api.scrapeforagents.tech/v1/francetravail?utm_source=zero.xyz
- Price: $0.03/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-02
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/france-travail-job-search-scraper-f5741c50
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_Dpoz0qHYS-1EpcNDrFScf

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability france-travail-job-search-scraper-f5741c50 -d '<json body>'
```

Example prompt: Search France Travail for CDI software developer jobs in Paris (department 75D) posted in the last 7 days, full-time only, minimum annual salary 40000 EUR, and return up to 50 results.

## When to prefer this

Use this endpoint when you need structured job listing data from France's official public employment service (France Travail / Pôle Emploi), particularly when filtering by French department, contract type (CDI/CDD/MIS), or qualification category. Prefer this over generic web scrapers when you need clean, schema-consistent output for French job market data without paying for failed or empty queries.

## Known failure modes

- Empty result set when no jobs match the filters — not charged
- Invalid location code format returns an error
- Contract type or qualification code not recognized by the France Travail API
- radiusKm used without a location set — ignored or causes unexpected results
- maxResults above 5000 rejected by schema validation
- postedSince value not in allowed set (1,3,7,14,31) may be rejected

## How this service works

Pay-per-call structured web data. Failed or empty runs are not charged.

## Output

A JSON object with a count of matching job offers and an array of items, each containing the job id, URL, city, title, company name, location label, department, and postal code. The product field confirms the data source as francetravail.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "keywords": {
   "type": "string",
   "description": "Words to search in job titles and descriptions, for example développeur."
  },
  "location": {
   "type": "string",
   "description": "Department code with D suffix, for example 75D for Paris. Leave blank for France-wide search."
  },
  "radiusKm": {
   "type": "integer",
   "default": 10,
   "maximum": 100,
   "minimum": 0,
   "description": "Radius around a location code. Used only when location is set."
  },
  "minSalary": {
   "type": "integer",
   "minimum": 0,
   "description": "Exclude offers with a stated upper salary below this annual EUR amount. Offers without a stated salary remain."
  },
  "maxResults": {
   "type": "integer",
   "default": 100,
   "maximum": 5000,
   "minimum": 1,
   "description": "Maximum unique job offers to return. Broad searches are split by department beyond the public search window."
  },
  "postedSince": {
   "type": "integer",
   "maximum": 31,
   "minimum": 1,
   "description": "Only offers from the past 1, 3, 7, 14 or 31 days."
  },
  "contractType": {
   "type": "string",
   "description": "Public search contract code, for example CDI, CDD or MIS."
  },
  "fullTimeOnly": {
   "type": "boolean",
   "default": false,
   "description": "Keep only detail pages marked as full-time. Offers without this marker are excluded."
  },
  "qualification": {
   "type": "string",
   "description": "Public search qualification code, for example 9 for management roles."
  },
  "includePartners": {
   "type": "boolean",
   "default": true,
   "description": "Include offers syndicated from partner job boards."
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "count": 1,
  "items": [
   {
    "id": null,
    "url": null,
    "city": null,
    "title": null,
    "company": null,
    "location": null,
    "department": null,
    "postalCode": null
   }
  ],
  "product": "francetravail"
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/france-travail-job-search-scraper-f5741c50/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from api.scrapeforagents.tech](https://www.zero.xyz/host/api.scrapeforagents.tech/llms.txt)
