France Travail Search Scraper avatar

France Travail Search Scraper

Pricing

from $2.99 / 1,000 france travail job records

Go to Apify Store
France Travail Search Scraper

France Travail Search Scraper

Extract complete France Travail job, employer, address, contract, salary, qualification, and application microdata.

Pricing

from $2.99 / 1,000 france travail job records

Rating

0.0

(0)

Developer

Jobs API

Jobs API

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

21 days ago

Last modified

Share

France Travail Jobs Search Scraper

This Apify Actor extracts the public France Travail jobs portal locally or on Apify. It reads server-rendered search cards and enriches each candidate from the official public detail page. Only complete, identity-verified job records are written to the dataset.

The Actor uses bounded, sequential native HTTPS requests with an ordinary French browser-compatible user agent. Timeout, request budget, retry, and concurrency settings are fixed internally and are not public input controls. It does not use proxies, fingerprint spoofing, CAPTCHA solvers, login, or access-control bypasses.

Modes

  • search: search one query and optionally filter verified detail locations.
  • searchMultiple: run several bounded query/location combinations from searchQueries or queries and deduplicate by offer ID.
  • single: enrich one jobUrl or official jobId.
  • multiple: enrich jobUrls or direct detail startUrls.
  • startUrls: accept official search and detail URLs.

jobUrls, url, startUrl, keyword, keywords, maxJobs, and results_wanted remain accepted as compatibility aliases. Public application links are retained only when the detail page publishes a source-backed action; an external destination is never guessed.

Dataset

Records include the official offer ID and canonical URL, title, employer name/profile/logo, structured location, contract and work hours, salary range/currency/unit, dates, experience, skills, qualification, industry, source-backed application action, complete description HTML/text, headings, sections, bullet items, responsibilities/requirements/benefits signals, description links/images, listing context, selected source payload, field coverage, and quality flags. Each emitted record contains more than 20 meaningful source-grounded leaves. Request receipts, response diagnostics, and run-health artifacts are kept in KVS, not copied into job records. Portable aliases include applyUrl, postedAt, and salaryText. Employer email, telephone, and individual contact names are intentionally omitted. Optional values are omitted when France Travail does not publish them.

Null values, blank strings, empty arrays/objects, duplicate IDs, incomplete detail pages, and mismatched listing/detail identities are rejected before Actor.pushData. KVS artifacts are RUN_SUMMARY, RUN_DIAGNOSTICS, RUN_SKIPS, RUN_REQUEST_RECEIPTS, RUN_HEALTH, and RUN_METADATA; diagnostics never become dataset rows. RUN_SUMMARY separates platform status (SUCCEEDED/FAILED) from resultStatus (COMPLETE, LIMITED, SKIPPED, DEFERRED, NO_DATA, or FAILED).

Local commands

npm install --no-audit --no-fund
npm test
npm run check
npx apify validate-schema
npx apify run --purge --input-file INPUT.json
npm run validate

The reproducible inputs include INPUT.json, INPUT-search-multiple.json, INPUT-single.json, INPUT-multiple.json, INPUT-start-urls.json, and INPUT-negative.json. Local runs use the Actor's local storage directory; Apify runs use their default dataset and key-value store.

Responsible use

Use the public portal in accordance with its terms and robots guidance. Requests are bounded and sequential and stop at a confirmed access boundary. HTTP 401/403/429/451 or a visible verification/access-denial challenge marks the outcome SUCCEEDED / SKIPPED and discards every buffered row. Generic transport errors are DEFERRED, not blocks; already complete staged or stored records are preserved as SUCCEEDED / LIMITED. A fatal non-block error with zero stored rows is FAILED / FAILED and uses the Actor failure lifecycle. Zero-row runs are DEFERRED unless the Actor can retain affirmative source-authored empty-results evidence; it currently does not infer NO_DATA merely from finding no candidates. The run records structured KVS evidence and never switches to a proxy, alternate identity, stealth, fingerprint, or bypass route.