APEC Scraper - French Executive Job Offers
Pricing
from $2.00 / 1,000 result scrapeds
APEC Scraper - French Executive Job Offers
Scrape executive (cadre) job offers from APEC (apec.fr), France's job board for managers and professionals. Search by keyword, location, and contract type. Extract titles, companies, salaries, skills, and full descriptions. No login or cookies required.
Pricing
from $2.00 / 1,000 result scrapeds
Rating
0.0
(0)
Developer
Studio Amba
Maintained by CommunityActor stats
0
Bookmarked
1
Total users
0
Monthly active users
19 hours ago
Last modified
Categories
Share
APEC Scraper — French Executive (Cadre) Job Offers
Scrape executive and managerial job offers from APEC (Association pour l'emploi des cadres), France's dedicated job board for cadres and professionals. Search by keyword, location, and contract type, then export clean structured data with salaries, skills, and full descriptions. No login, no cookies.
Why use this actor?
APEC is where French companies post their higher-skilled roles — management, engineering, finance, IT, sales, and consulting. If you build a jobs aggregator, run salary benchmarks, track hiring demand by sector, or feed a recruitment CRM, this actor turns the APEC search into a structured feed you can query on a schedule.
It reads APEC's own JSON search API directly, so results are fast and complete: every offer already carries its title, hiring company, location, salary range, contract type, and publication date. Turn on full descriptions and each row also gets the complete job text, the required profile, the company description, and the listed skills.
How to scrape APEC data
- Open the actor and set a Search Query in French — for example
chef de projet,développeur,comptable, orcommercial. - Optionally set a Location (city, department name, or postal-code prefix such as
Paris,Lyon,75, or69) and a Contract Type (CDI, CDD, Interim, Freelance, Alternance). - Set Max Results to the number of offers you want.
- Leave Fetch Full Descriptions on for the complete job text and skills, or turn it off for faster listing-only results.
- Keep the French residential proxy prefill and click Start.
- When the run finishes, export the dataset as JSON, CSV, or Excel, or pull it from the Apify API.
The actor paginates through the APEC search results automatically until it reaches your Max Results or runs out of matching offers.
Input
| Field | Type | Required | Description |
|---|---|---|---|
searchQuery | String | No | Job search keyword in French (e.g. chef de projet, développeur). Defaults to chef de projet if empty. |
location | String | No | Filter by city, department name, or postal-code prefix (e.g. Paris, Lyon, 75). Leave empty for all of France. |
contractType | String | No | all, CDI, CDD, INTERIM, FREELANCE, or ALTERNANCE. |
maxResults | Integer | No | Maximum number of offers to scrape (default: 100). |
fetchDetails | Boolean | No | Fetch each offer's detail page for the full description and skills (default: true). |
proxyConfiguration | Object | No | Proxy settings. French residential proxies recommended. |
Output
Each result contains:
| Field | Type | Example |
|---|---|---|
jobTitle | String | "Chef de projet F/H" |
company | String | "MOMENTI" |
location | String | "Paris 15 - 75" |
postalCode | String | "75015" |
department | String | "75" |
contractType | String | "CDI" |
contractTypeCode | Number | 101888 |
salary | String | "35 - 45 k€ brut annuel" |
salaryMin | Number | 35000 |
salaryMax | Number | 45000 |
salaryPeriod | String | "annual" |
jobDescription | String | Full job description text |
profileWanted | String | Required profile / candidate section |
companyDescription | String | Description of the hiring company |
skills | Array | ["Esprit d'équipe", "Gestion de projet", ...] |
sector | String | Sector of activity |
positions | Number | 1 |
remote | Boolean | true |
latitude | String | "48.8566" |
longitude | String | "2.3522" |
publishedDate | String | "2026-06-24T09:58:28.000+0000" |
offerId | String | "178910904W" |
applicationUrl | String | External application URL (when present) |
url | String | Full URL to the offer on apec.fr |
scrapedAt | String | ISO timestamp of when the row was scraped |
Example output
{"jobTitle": "Chef de projet F/H","company": "MOMENTI","location": "Paris 15 - 75","postalCode": "","department": "75","contractType": "CDI","contractTypeCode": 101888,"salary": "35 - 45 k€ brut annuel","salaryMin": 35000,"salaryMax": 45000,"salaryPeriod": "annual","jobDescription": "Au sein de notre équipe, vous pilotez les projets de bout en bout...","profileWanted": "Vous êtes issu d'une formation Bac +5 avec 3 ans d'expérience...","companyDescription": "Nous sommes un cabinet de conseil spécialisé...","skills": ["Esprit d'équipe", "Gestion de projet", "Reporting"],"sector": "","positions": 1,"remote": false,"latitude": "48.8566","longitude": "2.3522","publishedDate": "2026-06-24T09:58:28.000+0000","offerId": "178910904W","applicationUrl": "https://easyapply.jobs/r/3HS0Rx327HlO231ueINV","url": "https://www.apec.fr/candidat/recherche-emploi/emploi/detail-offre/178910904W","scrapedAt": "2026-07-09T10:00:00.000Z"}
Salary parsing
APEC publishes salaries as free text (for example "35 - 45 k€ brut annuel" or "A partir de 40 k€ brut annuel"). The actor keeps the original text in salary and also parses it into salaryMin, salaryMax, and salaryPeriod where possible, converting k€ figures into full euro amounts.
Cost estimate
The search returns 100 offers per request, so listing-only runs are cheap. With Fetch Full Descriptions on, the actor makes one extra request per offer for the detail record (full description, profile, company description, skills, positions, application URL), which takes about 2-4 seconds each: 100 offers with details take roughly 5 minutes. Turn off fetchDetails when you only need titles, companies, locations, salaries, and links.
You pay the pay-per-result fee for each offer in the dataset. A run's usage cost only settles after the run SUCCEEDS.
Limitations / known issues
- Executive roles only. APEC covers cadre and professional roles. It is not a general job board — use it alongside a France Travail scraper for full-market coverage.
- Location filter is text-based. The
locationinput matches against each offer's location text (city and department). It is not a radius search, soPariswill not automatically include the wider Île-de-France region. postalCodeis often empty. APEC's listing gives the city and 2-digit department, not always a full 5-digit postal code, sodepartmentis more reliably populated thanpostalCode.applicationUrlis present only for external applications. Offers that are applied to through APEC's own system leave this field empty; useurlin that case.- APEC uses DataDome bot protection on its search and offer-detail APIs. The actor tries French residential proxies first and switches to an unblocking service for the rest of the run when APEC answers with a challenge, so you do not need to configure anything.
- A search with no matches succeeds with 0 results and a status message saying so. A run only fails when APEC could not be reached at all.
Related scrapers
- HelloWork / European Job Search — multi-source European job aggregation.
- Jobat Scraper — Belgian job board.
- Pracuj Scraper — Poland's largest job board.
- InfoJobs Scraper — Spain's largest job board.
Disclaimer
This actor collects only publicly available job-offer data from apec.fr for legitimate use such as market research and job aggregation. Respect APEC's terms of service and applicable data-protection law when using the output.