# France Travail Job Listings Scraper

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

Scrapes structured job offer data from France Travail (Pôle Emploi) based on keyword, location, and contract type filters

## Facts

- Endpoint: POST https://api.scrapeforagents.tech/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-72648d7b
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_-5p9vY6AEqulXzzD38tCj

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-72648d7b -d '<json body>'
```

Example prompt: Search France Travail for CDI software engineer jobs in Paris, collect up to 30 offers with full descriptions and pay details.

## When to prefer this

Use this endpoint when you need structured, machine-readable job listing data from France Travail (formerly Pôle Emploi) without building your own scraper. It is ideal for agents automating French job market research, recruitment pipelines, or labor market analysis, especially when you need full offer details (pay, requirements, employer) across many pages of results with filtering by contract type, keyword, and French location codes.

## Known failure modes

- No matching offers found for keyword/location combination returns empty items array
- Invalid location code or city name may return zero results
- France Travail website changes could break scraping logic
- Rate limiting or access blocks from France Travail may cause failures
- Invalid contractType enum value rejected at input validation
- Exceeding max_pages limit of 50 pages
- Unreachable France Travail pages return empty or partial results — note: failed or empty runs are not charged

## How this service works

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

## Output

A JSON object containing a count of results and an array of job offer items, each with fields for 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-72648d7b/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)
