Cadremploi Scraper — French Executive & Management Jobs
Pricing
from $1.19 / 1,000 results
Cadremploi Scraper — French Executive & Management Jobs
Scrape job listings from Cadremploi.fr — France's leading executive and management job board. Filter by keyword and location. Returns title, company, salary range, contract type and full descriptions with apply URLs.
Pricing
from $1.19 / 1,000 results
Rating
0.0
(0)
Developer
Unfenced Group
Maintained by CommunityActor stats
2
Bookmarked
20
Total users
4
Monthly active users
5 days ago
Last modified
Categories
Share
Cadremploi.fr Scraper

Extract job listings from Cadremploi.fr, France's leading job board for executives and managers (cadres), across its full catalogue of 20,000+ live vacancies. Search by keyword, city, radius, contract type and job function — every filter is sent to Cadremploi's own search engine, so you get every matching job. No API key required.
Why this scraper?
🇫🇷 Built for the French cadre market
A dedicated Cadremploi scraper, not a global tool with a country dropdown. Contract types (CDI, CDD, alternance), job functions and locations are the ones Cadremploi actually uses.
🔍 Real search, not a filtered feed
Keyword, location, radius, contract type and job function are passed straight to Cadremploi's search. You reach the entire catalogue — not just whatever happens to be in the newest few listings.
📄 Complete job data
Full description in HTML, plain text and Markdown, apply link, company profile, exact posted date, and the date the job first appeared.
💶 Structured salary
Minimum, maximum, pay period and currency, parsed from the listing where the employer publishes them.
📍 Precise location
City, postal code, region, country and latitude/longitude, plus a remote-work flag.
🔁 Repost and change detection
Every record carries isRepost and changeStatus, so a scheduled run tells you what is genuinely new, what changed, and what is a re-listing of a job you already have.
Input parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
searchQuery | string | (empty) | Job title, role or skill, such as responsable marketing. Leave empty to browse every job. |
location | string | (empty) | City, department or region, such as Paris or Ile-de-France. Leave empty for all of France. |
radius | string | "20" | Search radius around the city: 0, 10, 20, 50 or 100 km. These are the only values Cadremploi supports. |
contractTypes | array | [] | CDI, CDD, FREELANCE, STAGE, ALTERNANCE. Empty means all. |
jobFunction | array | [] | Business area — MARKETING, IT, FINANCE, SALES, HR and 10 more. Empty means all. |
daysOld | integer | 0 | Only keep jobs posted within this many days. 0 disables the filter. |
remoteOnly | boolean | false | Keep only jobs mentioning remote work or télétravail. |
fetchDetails | boolean | true | Fetch each job's own page for the full description, salary, company profile and apply link. |
skipReposts | boolean | false | Skip jobs already returned by an earlier run. |
startUrls | array | [] | Paste Cadremploi search or job URLs directly. Overrides the search fields. |
maxItems | integer | 100 | Cap on results. 0 means every matching job. |
Job function values: ADMINISTRATION, FINANCE, AUDIT, CONSULTING, LEGAL, HR, RESEARCH, LOGISTICS, PRODUCTION, IT, ECOMMERCE, SALES, EXPORT, MARKETING, COMMUNICATION.
Output schema
Every field below is present on every record. Fields Cadremploi does not publish for a given job are returned as null rather than omitted.
Always present
| Field | Type | Description |
|---|---|---|
id | string | Cadremploi offer ID. Stable across runs. |
url | string | Link to the job's page on Cadremploi. |
title | string | Job title. |
company | string | null | Hiring company or recruitment agency. |
location | string | null | Location as shown on the job card. |
city | string | null | City name. |
contractType | string | null | CDI, CDD, Freelance, Stage or Alternance. |
snippet | string | null | Short preview of the description, from the job card. |
publishDateISO | string | null | Date the job was posted, ISO 8601. |
publishDateText | string | null | Posted date exactly as Cadremploi shows it, e.g. Publiée il y a 12 jours. |
isRemote | boolean | null | True if the job mentions remote work or télétravail. |
isRepost | boolean | True if this Actor has returned this job in an earlier run. |
originalPublishDate | string | null | Date this job was first seen by the Actor (reposts only). |
originalUrl | string | null | URL the job first appeared under (reposts only). |
changeStatus | string | NEW, UPDATED, UNCHANGED or REAPPEARED. |
contentHash | string | Fingerprint of the job, used for change detection. |
country | string | Always FR. |
source | string | Always cadremploi.fr. |
scrapedAt | string | When this record was collected, ISO 8601. |
latitude | number | null | Latitude of the job's city. |
longitude | number | null | Longitude of the job's city. |
With fetchDetails: true
| Field | Type | Description |
|---|---|---|
description | string | null | Full job description as HTML. |
descriptionText | string | null | Full description as plain text. |
descriptionMarkdown | string | null | Full description as Markdown, ready for an LLM. |
companyUrl | string | null | Company website. |
companyDescription | string | null | Company profile text, where published. |
sector | string | null | Industry sector. |
region | string | null | French region. |
postalCode | string | null | Postal code. |
salaryMin | number | null | Minimum salary (null when the employer does not publish one). |
salaryMax | number | null | Maximum salary (null when the employer does not publish one). |
salaryPeriod | string | null | YEAR, MONTH or HOUR. |
salaryCurrency | string | null | Currency code, normally EUR. |
experienceRequired | string | null | Experience the employer asks for. |
applyUrl | string | null | Direct application link. |
directApply | boolean | null | True if the job can be applied to on Cadremploi itself. |
validThrough | string | null | Date the listing expires, ISO 8601. |
Example record
{"id": "156542608614986982","url": "https://www.cadremploi.fr/emploi/detail_offre?offreId=156542608614986982","title": "Chargé Marketing et Communication F/H","company": "MORGAN PHILIPS EXECUTIVE SEARCH","companyUrl": "https://www.morganphilips.com","companyDescription": "Cabinet de recrutement spécialisé dans les fonctions cadres et dirigeants.","location": "Paris, Ile-de-France","city": "Paris","postalCode": "75000","region": "Ile-de-France","country": "FR","latitude": 48.856614,"longitude": 2.352222,"contractType": "CDI","sector": "Banque - Assurance - Finance","snippet": "Nous accompagnons aujourd'hui une société de gestion spécialisée dans l'investissement immobilier...","description": "<div class=\"job-description\"><p>Nous accompagnons une société de gestion spécialisée dans l'investissement immobilier.</p></div>","descriptionText": "Nous accompagnons une société de gestion spécialisée dans l'investissement immobilier.","descriptionMarkdown": "Nous accompagnons une société de gestion spécialisée dans l'investissement immobilier.","salaryMin": 45000,"salaryMax": 55000,"salaryPeriod": "YEAR","salaryCurrency": "EUR","experienceRequired": "3 à 5 ans","applyUrl": "https://www.cadremploi.fr/emploi/detail_offre?offreId=156542608614986982","directApply": true,"publishDateISO": "2026-06-30T19:00:49.000Z","validThrough": "2026-08-30T00:00:00.000Z","isRemote": false,"isRepost": false,"originalPublishDate": null,"originalUrl": null,"changeStatus": "NEW","contentHash": "a3f1c9e740b2d518","source": "cadremploi.fr","scrapedAt": "2026-07-12T18:42:11.503Z"}
Examples
Marketing roles within 30 km of Paris:
{"searchQuery": "responsable marketing","location": "Paris","radius": "50","maxItems": 200}
Permanent IT and finance roles in Lyon:
{"location": "Lyon","jobFunction": ["IT", "FINANCE"],"contractTypes": ["CDI"],"maxItems": 500}
Every remote job posted in the last week:
{"remoteOnly": true,"daysOld": 7,"fetchDetails": true,"maxItems": 0}
Daily feed of new jobs only:
{"searchQuery": "directeur financier","daysOld": 1,"skipReposts": true,"maxItems": 0}
Scrape a search you built on Cadremploi yourself:
{"startUrls": [{ "url": "https://www.cadremploi.fr/emploi/liste_offres?motscles=chef%20de%20projet&ville=nantes-44" }],"maxItems": 300}
💰 Pricing
$1.49 per 1,000 results — you only pay for jobs actually returned. Failed retries and filtered reposts are never charged.
| Results | Cost |
|---|---|
| 100 | ~$0.15 |
| 1,000 | ~$1.49 |
| 10,000 | ~$14.90 |
| 20,000 | ~$29.80 |
Flat-rate alternatives typically charge $30–$100/month regardless of usage.
Subscription tiers lower the rate further, down to $0.89 per 1,000 at the highest tier. Use Maximum results to control your spend exactly.
Performance
| Run size | Typical time |
|---|---|
| 100 results | 1–2 minutes |
| 1,000 results | 10–15 minutes |
| 10,000 results | 1.5–2.5 hours |
Turning fetchDetails off roughly triples throughput, at the cost of the description, salary and company fields.
Known limitations
- Salary is only returned when the employer publishes it, and it needs
fetchDetailson. In a 60-job sample, 85% carried a salary. - Cadremploi has no remote-work filter of its own, so
remoteOnlyreads the text of the jobs collected. It is far more accurate withfetchDetailson, since the whole description is searched rather than just the title and preview. - Cadremploi supports a radius of 0, 10, 20, 50 or 100 km only, and it applies to cities. Searching a whole department or region returns that area in full.
- On a narrow search Cadremploi pads the page with unrelated "you might also like" jobs. This Actor never collects them, so you are never charged for a job you did not search for.
- Cadremploi's search returns at most about 22,000 jobs; very broad searches are capped by the source, not by this Actor.
Technical details
- Source: cadremploi.fr — French executive and management job listings
- Coverage: nationwide, filterable by city, radius, department and region
- Repost storage: KeyValueStore
cadremploi-job-dedup, 90-day TTL - Retry: automatic retry on network errors with exponential backoff, 3 attempts per request
Need a custom scraper?
Unfenced Group builds Apify actors for any website — for free.
If the site you need isn't in our portfolio yet, just ask. We scope, build, and publish it at no cost to you. You only pay for results — we absorb the compute and proxy costs ourselves. Same pay-per-result pricing, same quality, same standards as every actor in this portfolio.
Get in touch: www.unfencedgroup.nl