# France Travail Job Listings Scraper (x402)

> France Travail Job Listings Scraper (x402) is a paid API for AI agents from x402.186-241-26-229.sslip.io, paid per call via x402, $0.025/call, status unknown (last checked 2026-10-02).

Scrapes structured job offer listings from France Travail (Pôle Emploi) by keyword, location, and contract type, returning detailed offer data including company, title, and location.

## Facts

- Endpoint: POST https://x402.186-241-26-229.sslip.io/v1/france?utm_source=zero.xyz
- Price: $0.025/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-listings-scraper-x402-39f36075
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_f0RezZKfqfyrSg23PblM_

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-listings-scraper-x402-39f36075 -d '<json body>'
```

Example prompt: Search France Travail for CDI software engineer jobs in Paris — get me up to 20 listings with full details like pay, employer, and job description.

## When to prefer this

Choose this endpoint when you need structured job listing data specifically from France Travail (the French national employment agency), especially when you need French-market-specific filters like contract types (CDI, CDD, Intérim, DIN, SAI), French city/department location codes, or full offer details including pay and requirements. Prefer this over generic web scrapers when targeting the French job market with pay-per-successful-result pricing.

## Known failure modes

- No results found for given keyword/location combination — returns empty items array (not charged)
- Invalid location code or city name not resolving to a municipality code
- France Travail website unavailable or blocking scraper — run fails (not charged)
- Exceeding max_pages limit of 50 returns error
- Invalid contractType enum value causes validation error

## How this service works

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

## Output

Returns a JSON object with a count of offers found and an array of job listing items, each containing offer ID, job title, company, employer name, location, postal code, address region, and address locality. When collectDetails is enabled, full descriptions, pay, requirements, and publication dates are also included.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "keyword": {
   "type": "string",
   "description": "French job title, skill, phrase, or offer reference to search."
  },
  "location": {
   "type": "string",
   "description": "French city name such as Paris or Lyon, department code such as 75, or location code such as 75056. City names resolve to municipality codes."
  },
  "startUrl": {
   "type": "string",
   "description": "Public France Travail offers search URL with your chosen filters. Overrides keyword, location, and contract type."
  },
  "max_pages": {
   "type": "integer",
   "default": 10,
   "maximum": 50,
   "minimum": 1,
   "description": "Maximum 20-offer search pages to read. A search exposes up to 50 pages."
  },
  "contractType": {
   "enum": [
    "",
    "CDI",
    "CDD",
    "Intérim",
    "DIN",
    "SAI"
   ],
   "type": "string",
   "default": "",
   "description": "Filter offers by contract type."
  },
  "collectDetails": {
   "type": "boolean",
   "default": true,
   "description": "Visit each offer page to collect full description, pay, requirements, employer, and publication dates."
  },
  "results_wanted": {
   "type": "integer",
   "default": 20,
   "minimum": 1,
   "description": "Maximum number of unique offers to save."
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "count": 1,
  "items": [
   {
    "company": null,
    "offerId": null,
    "jobTitle": null,
    "location": null,
    "postalCode": null,
    "employerName": null,
    "addressRegion": null,
    "addressLocality": null
   }
  ],
  "product": "france"
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/france-travail-job-listings-scraper-x402-39f36075/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from x402.186-241-26-229.sslip.io](https://www.zero.xyz/host/x402.186-241-26-229.sslip.io/llms.txt)
