APEC.fr Scraper avatar

APEC.fr Scraper

Pricing

from $1.50 / 1,000 results

Go to Apify Store
APEC.fr Scraper

APEC.fr Scraper

Scrape apec.fr for structured French executive job data: titles, companies, salaries, full descriptions & apply URLs. 100k+ listings. No API key required.

Pricing

from $1.50 / 1,000 results

Rating

0.0

(0)

Developer

Unfenced Group

Unfenced Group

Maintained by Community

Actor stats

1

Bookmarked

10

Total users

3

Monthly active users

20 hours ago

Last modified

Share

APEC Scraper — France Executive Jobs

apec-fr-scraper

Extract structured job listings from apec.fr — France's national agency for executive employment. The go-to board for cadre and management roles across all sectors and regions. Filter by keyword, location, sector, contract type, experience level, and remote work. No API key required.

$1.00 per 1,000 results — you only pay for items pushed to the dataset.


Input parameters

ParameterTypeDefaultDescription
searchQuerystringdéveloppeurJob title or keywords to search for
locationstring(all France)City or region, e.g. Paris, Lyon, Bordeaux
contractTypeselect(any)CDI, CDD, Freelance/Mission, Stage/Alternance
experienceLevelselect(any)Débutant, 1-5 ans, 5-10 ans, 10+ ans
remoteWorkselect(any)Partiel, Full, Aucun
sectorstring(any)Industry sector keyword, e.g. Informatique, Banque, Industrie
daysOldselect(any)1, 7, or 30 — only return jobs posted within N days
maxResultsinteger5Maximum number of listings to return
fetchDetailsbooleanfalseFetch full job description, skills, and all detail fields
skipRepostsbooleanfalseSkip listings already seen in previous runs
startUrlsarray(none)Direct APEC job URLs. Overrides all search filters

Output fields

Always present

FieldTypeDescription
idstringAPEC internal offer ID
numeroOffrestringAPEC offer reference, e.g. 178206207W
urlstringDirect link to the listing on apec.fr
titlestringJob title
companystring | nullHiring company name (null for confidential postings)
isConfidentialbooleanTrue if the employer is anonymised
locationTextstring | nullLocation as displayed by APEC, e.g. Paris 01 - 75
citystring | nullParsed city name
departmentstring | nullFrench département code, e.g. 75, 69
regionstring | nullFrench region name (always null — not provided by APEC API)
countrystringCountry (always France)
latitudenumber | nullGeocoordinate latitude
longitudenumber | nullGeocoordinate longitude
contractTypeIdinteger | nullAPEC internal contract type code
contractTypestring | nullHuman-readable contract type: CDI, CDD, Freelance/Mission, Stage/Alternance
remoteWorkIdinteger | nullAPEC internal remote work code
remoteWorkstring | nullRemote work label: Partiel, Full, Aucun
sectorIdinteger | nullAPEC internal sector code
sectorstring | nullHuman-readable sector name, e.g. Informatique / Télécoms
salaryTextstring | nullSalary as displayed, e.g. 45-55 k€ annuel
salaryMinnumber | nullParsed minimum salary in EUR (null if not published)
salaryMaxnumber | nullParsed maximum salary in EUR (null if not published)
salaryPeriodstring | nullYEAR, MONTH, or HOUR
currencystringAlways EUR
publishDatestring | nullPublication date, YYYY-MM-DD (Paris timezone)
publishDateISOstring | nullSame as publishDate
summarystringOne-line summary of title, location, and salary
sourcestringAlways apec.fr
scrapedAtstringISO 8601 timestamp of scrape
isRepostbooleanTrue if this listing was seen in a previous run
changeStatusstringNEW, UPDATED, UNCHANGED, or REAPPEARED across runs
contentHashstringMD5 hash of key fields — changes when content changes

With fetchDetails: true

FieldTypeDescription
descriptionstring | nullFull job description as raw HTML
descriptionTextstring | nullFull description as plain text
descriptionMarkdownstring | nullFull description converted to Markdown
companyDescriptionstring | nullCompany description section (plain text)
experienceLevelIdinteger | nullAPEC internal experience level code
experienceLevelstring | nullHuman-readable level: Débutant, 1-5 ans, 5-10 ans, 10+ ans
isPartTimeboolean | nullTrue if the position is part-time
numberOfPositionsinteger | nullNumber of open positions for this listing
jobReferencestring | nullClient-side job reference code
skillsarrayStructured skills array — see below
applyUrlstring | nullDirect application URL (null when employer uses APEC's internal application form)
applicationMethodstring | nullApplication method code from APEC
firstPublishDateISOstring | nullDate the listing was first published (before reposts)

Skills array structure (each element):

FieldTypeDescription
labelstringSkill name in French, e.g. Python, Anglais, Docker
typestring | nullSkill category: SAVOIR_FAIRE, LANGUE, etc.
levelinteger | nullAPEC proficiency level code

Example output record

{
"id": "178853125",
"numeroOffre": "178853125W",
"url": "https://www.apec.fr/candidat/recherche-emploi.html/emploi/offre-emploi/detail-offre/178853125W",
"title": "Développeur Python/Django DevOps F/H",
"company": "AKKODIS FRANCE SAS",
"companyDescription": "Premier cabinet de conseil en ingénierie et IT...",
"isConfidential": false,
"locationText": "Bordeaux - 33",
"city": "Bordeaux",
"department": "33",
"region": null,
"country": "France",
"latitude": 44.8575,
"longitude": -0.5734,
"contractTypeId": 101888,
"contractType": "CDI",
"remoteWorkId": 20765,
"remoteWork": "Partiel",
"sectorId": 101572,
"sector": "Informatique / Télécoms",
"salaryText": "45-55 k€ annuel",
"salaryMin": 45000,
"salaryMax": 55000,
"salaryPeriod": "YEAR",
"currency": "EUR",
"experienceLevelId": 20043,
"experienceLevel": "1-5 ans",
"isPartTime": false,
"numberOfPositions": 1,
"jobReference": "JN-022026-7342088333",
"skills": [
{ "label": "Python", "type": "SAVOIR_FAIRE", "level": 599734 },
{ "label": "Django", "type": "SAVOIR_FAIRE", "level": 599734 },
{ "label": "Docker", "type": "SAVOIR_FAIRE", "level": 599736 },
{ "label": "Kubernetes", "type": "SAVOIR_FAIRE", "level": 599736 },
{ "label": "Anglais", "type": "LANGUE", "level": 102458 }
],
"applyUrl": "https://www.apec.fr/...",
"applicationMethod": "URL",
"description": "<p>La ligne de service Consulting...</p>",
"descriptionText": "La ligne de service Consulting...",
"descriptionMarkdown": "La ligne de service Consulting...",
"publishDate": "2026-06-10",
"publishDateISO": "2026-06-10",
"firstPublishDateISO": "2026-06-10",
"summary": "Développeur Python/Django DevOps F/H — Bordeaux - 33 (45-55 k€ annuel)",
"source": "apec.fr",
"scrapedAt": "2026-06-10T15:30:00.000Z",
"isRepost": false,
"originalPublishDate": null,
"originalUrl": null,
"changeStatus": "NEW",
"contentHash": "a3f9b2c1d4e5f678"
}

Examples

Search for IT roles in Paris:

{
"searchQuery": "développeur",
"location": "Paris",
"maxResults": 100
}

CDI finance roles with full details:

{
"searchQuery": "analyste financier",
"contractType": "CDI",
"sector": "Banque",
"fetchDetails": true,
"maxResults": 50
}

Full remote senior roles posted in the last 7 days:

{
"searchQuery": "chef de projet",
"remoteWork": "Full",
"experienceLevel": "5-10 ans",
"daysOld": "7",
"maxResults": 200
}

Scrape specific listings by URL:

{
"startUrls": [
{ "url": "https://www.apec.fr/candidat/recherche-emploi.html/emploi/offre-emploi/detail-offre/178206207W" }
],
"fetchDetails": true
}

Daily incremental feed (schedule daily):

{
"searchQuery": "data engineer",
"daysOld": "1",
"skipReposts": true,
"fetchDetails": true,
"maxResults": 500
}

💰 Pricing

$1.00 per 1,000 results — charged only for items successfully pushed to the dataset.

ResultsCost
100~$0.10
1,000~$1.00
10,000~$10.00
100,000~$100.00

Flat-rate job data subscriptions typically charge $29–$49/month regardless of usage. Pay only for what you need.


Technical details

  • Source: apec.fr — APEC public webservices API
  • Memory: 512 MB
  • Repost storage: KeyValueStore apec-fr-scraper-job-dedup, 90-day TTL
  • Retry: Automatic retry on network errors, 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