APEC Jobs Scraper — France Cadre Jobs & Salary API avatar

APEC Jobs Scraper — France Cadre Jobs & Salary API

Pricing

from $1.99 / 1,000 job listings

Go to Apify Store
APEC Jobs Scraper — France Cadre Jobs & Salary API

APEC Jobs Scraper — France Cadre Jobs & Salary API

APEC jobs scraper for French executive (cadre) listings on APEC.fr. Search by keyword, city, contract, or start URLs — an APEC API alternative with no login. Export title, employer, CDI/CDD, remote/hybrid, EUR salary bands, and descriptions as JSON.

Pricing

from $1.99 / 1,000 job listings

Rating

0.0

(0)

Developer

Andrej Kiva

Andrej Kiva

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Share

Disclaimer: Unofficial tool for publicly accessible APEC job listings. APEC, apec.fr, and Association Pour l'Emploi des Cadres are trademarks of their respective owners. Not affiliated with, sponsored by, or endorsed by APEC. For informational, research, aggregation, and recruiting-intelligence use only. Respect applicable terms of use and law.

APEC jobs scraper for France’s reference job board for cadres (executives, managers, engineers, and qualified professionals). A practical APEC API alternative and apec.fr scraper: search by keyword, city / department / region, CDI / CDD, télétravail, or paste listing start URLs. Export title, employer, location, contract, remote / hybrid, EUR salary bands (k€ brut annuel) — published on most APEC offers — and description snippets as JSON, CSV, or Excel via fast HTTPno headless browser and no login. Scrape APEC with Python, Node.js, cURL, or Apify MCP / AI assistants.

Ideal for French cadre job-board aggregation, salary benchmarking, CDI vs CDD tracking, recruiting intelligence, and employer lead generation across Paris, Lyon, Toulouse, and nationwide.

ActorFocus
APEC Jobs Scraper ◄── you are hereAPEC.fr France cadre / executive jobs
Stepstone Jobs ScraperDACH commercial job board
Arbeitsagentur Jobs ScraperGermany BA Jobsuche
Glassdoor ScraperEmployer reviews, salaries, and jobs
Naukri Jobs ScraperIndia’s largest job board (Naukri.com)
Foundit Jobs ScraperFoundit.in / Monster India job listings

When to use this Actor

  • You need an APEC scraper / apec.fr scraper / France cadre jobs scraper that returns structured JSON
  • You want keyword + city + contract + télétravail without maintaining your own crawler
  • You need EUR salary min/max parsed from k€ brut annuel, CDI/CDD labels, and geo coordinates as first-class fields
  • You want to scrape APEC with Python, Node.js, or MCP and export a dataset
  • You run a daily monitor and only want new offer numbers billed

When not to use this Actor

  • Non-cadre generalist boards — this Actor covers apec.fr (executives / managers / engineers)
  • Guaranteed emails or phones — public listing cards rarely include direct contacts
  • Login-walled apply-form automation — public search data only
  • Full job-page HTML — rows are built from APEC search cards (salary, company, and description snippet are already on the card)
  • Historical archives — currently listed jobs only
  • DACH job boards — use Stepstone Jobs Scraper or Arbeitsagentur Jobs Scraper

Key Features

  • Keyword + city / department / regionposition, optional extra keywords, Paris/Lyon/Toulouse and all metropolitan departments, plus APEC lieu autocomplete for other communes
  • Start URL parsing — paste /candidat/recherche-emploi.html/emploi?motsCles=…&lieux=75, function/contract/telework query strings, or a detail-offre/{numeroOffre} URL
  • Native APEC filters — CDI/CDD/alternance/intérim/stage, télétravail (total / partiel / occasionnel), recency (24h / 7d), sort, include/exclude partner boards
  • Structured salary — most APEC offers publish a k€ brut annuel band; parsed to EUR salaryMin / salaryMax + original salaryNote — never a fake zero
  • Description on the card — no extra detail request; turn the field off only to shrink exports
  • HTTP JSON path — Chrome TLS impersonation against APEC’s public rechercheOffre JSON; 256–512 MB, no Playwright
  • Datacenter-friendly — HTML warmup obtains the DataDome cookie; residential proxy is optional if you scale
  • Monitor mode — named Key-Value store of seen offer numbers; later scheduled runs emit only new jobs
  • Deduplicated offer numbers across pages, keywords, and multi-city runs
  • MCP / AI ready — call from assistants via Apify MCP

Use Cases

Use caseWhat you get
Job aggregationFresh APEC.fr cadre openings into a board / search index
Salary benchmarkingDisclosed EUR bands from k€ brut annuel, rare on other French boards
Remote / hybrid trackingworkMode + teleworking from APEC’s télétravail facet
Recruiting intelligenceWho is hiring, CDI/CDD mix, partner vs direct client, competitor vacancies
Employer lead genCompany name and logo for firms with open cadre roles
Daily “what’s new”monitorMode on a schedule — pay only for new offer numbers

Quick Start

Keyword + city:

{
"position": "python",
"location": "Paris",
"maxItems": 50,
"sinceDate": "_7_DAYS",
"proxyConfiguration": {
"useApifyProxy": false
}
}

CDI + full remote:

{
"position": "chef de projet",
"location": "Lyon",
"contractType": "cdi",
"workMode": "remote",
"maxItems": 100
}

Listing start URL (filters in the query string are applied):

{
"startUrls": [
{ "url": "https://www.apec.fr/candidat/recherche-emploi.html/emploi?motsCles=data&lieux=75&typesContrat=101888" }
],
"maxItems": 100
}

Input

FieldTypeDescription
positionstringFree-text keyword (e.g. python, ingénieur logiciel). Empty = city browse or latest cadre offers
searchKeywordsstring[]Extra keyword queries, merged and deduplicated
locationstringCity, department, or region (Paris, Lyon, Île-de-France, Gironde)
locationsstring[]Extra places, combined into one filter
startUrlsrequest listSearch or offer URLs
workModeenumFull remote / hybrid / occasional / remote-or-hybrid
contractTypeenumCDI, CDD, alternance, intérim, stage
sinceDateenumLast 24 hours, 7 days, 15 days, or 30 days
sortByenumRelevance (needs a keyword) or newest first
companyNamestringEmployer substring filter
salaryMinintegerKeep disclosed annual salaries at or above this EUR amount
includePartnersbooleanKeep HelloWork / Cadremploi redistributions (on by default)
includeJobDescriptionbooleanKeep card description (on by default; no extra request)
maxItems / maxPagesintegerCaps (20 jobs per page)
monitorModebooleanCharge only new offer numbers after the baseline run
proxyConfigurationobjectOptional; default is no proxy

Output

One dataset row per job. Field names match the Jobs suite (camelCase).

FieldTypeDescription
jobId / offerNumberstringNumeric id and public numeroOffre (join key)
titlestringListing title
employer / employerLogoUrlstringHiring company and logo
city / department / locationstringCity, department code, full lieuTexte
latitude / longitudenumberCoordinates when APEC localised the offer
workMode / teleworking / workFromHomestring / string / booleanremote / hybrid plus original label
contractTypestringCDI, CDD, Alternance, Intérim, Stage
salaryNote / salaryMin / salaryMaxstring / integerEUR / year when a k€ band is published
salaryPeriod / salaryTypestringYEAR and GROSS when parsed
directClient / oqaVerified / lowApplicationsbooleanAPEC quality flags from the card
descriptionstringSearch-card description snippet
urlstringJob page
publishedAt / scrapedAtstringISO-8601
{
"source": "apec",
"jobId": "179258068",
"offerNumber": "179258068W",
"url": "https://www.apec.fr/candidat/recherche-emploi.html/emploi/detail-offre/179258068W",
"title": "Développeur Python F/H",
"employer": "STORM GROUP",
"city": "Paris 02",
"department": "75",
"workMode": "hybrid",
"teleworking": "Télétravail occasionnel",
"contractType": "CDI",
"salaryMin": 40000,
"salaryMax": 55000,
"salaryPeriod": "YEAR",
"salaryCurrency": "EUR",
"salaryType": "GROSS",
"salaryConfidential": false,
"publishedAt": "2026-08-12T09:56:17.000+0000"
}

Integration examples

Node.js

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor('crawloop/apec-jobs-scraper').call({
position: 'python',
location: 'Paris',
maxItems: 50,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items.slice(0, 5));

Python

from apify_client import ApifyClient
client = ApifyClient(token)
run = client.actor("crawloop/apec-jobs-scraper").call(
run_input={
"position": "python",
"location": "Paris",
"maxItems": 50,
}
)
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(item.get("title"), item.get("employer"), item.get("salaryNote"), item.get("url"))

cURL

curl "https://api.apify.com/v2/acts/crawloop~apec-jobs-scraper/runs?token=$APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{"position":"python","location":"Paris","maxItems":50}'

MCP and AI assistants

Use this Actor from AI tools via Apify MCP. Connect your Apify account, then call crawloop/apec-jobs-scraper.

Example prompts:

  • "Run APEC Jobs Scraper for python in Paris, max 50, and return title, employer, salaryNote, contractType, url as JSON"
  • "Scrape APEC cadre jobs in Lyon posted in the last 7 days that are CDI and remote or hybrid"
  • "Pull APEC chef de projet openings in Île-de-France, then run Glassdoor Scraper for the top hiring employers"
  • "Monitor APEC python jobs in Paris daily and return only new offer numbers"

Suite next step

APEC is France’s high-signal cadre board (salary on most cards, CDI-heavy). For employer reviews and interview intel on the same French companies, run Glassdoor Scraper next. For DACH commercial listings use Stepstone Jobs Scraper. For Germany’s public Jobsuche feed use Arbeitsagentur Jobs Scraper.

FAQ

Is this an official APEC API?
No. It calls the same public search JSON the website uses (rechercheOffre) and returns structured dataset rows — a practical APEC API alternative for pipelines. You do not need APEC developer credentials.

Do I need to paste a search URL?
No. Keyword, city, contract, and télétravail work as inputs. startUrls is optional — useful when you already have an APEC search or offer URL.

Can I paste an APEC search URL?
Yes — startUrls accepts /candidat/recherche-emploi.html/emploi with motsCles, lieux, fonctions, typesContrat, typesTeletravail, typesConvention, salaireMinimum, and individual offer URLs (/detail-offre/…W).

Is this a raw JSON dump of the APEC payload?
No. Rows are camelCase Jobs-suite fields: parsed EUR salaryMin / salaryMax, workMode, contractType, geo, plus the original salaryNote — ready for CSV / Excel.

Does APEC require login?
No for public search results and listing cards. Personalized “my applications” feeds are not used.

Do I need a France residential proxy?
Usually not. A short HTML warmup obtains the DataDome cookie and the search JSON worked over datacenter connections in testing. A proxyConfiguration input is still available if you scale up and start seeing blocks.

Why is salary so often present?
APEC is one of the few French boards where employers routinely publish a k€ brut annuel range. Numeric EUR fields appear when that text parses; salaryConfidential: true flags rows with no band.

Are partner board offers included?
Yes by default (includePartners: true), matching the site checkbox. HelloWork / Cadremploi redistributions are tagged on the card; turn the option off for APEC-direct listings.

What is monitor mode?
With monitorMode: true, seen offer numbers are stored in a named Key-Value store. The first run is the baseline (all matches are new). Later scheduled runs push and charge only numbers not seen before.

Can I export JSON, CSV, or Excel?
Yes — every run writes a dataset you can download as JSON / CSV / Excel, or pull with the Apify API, Python/Node clients, or MCP.

Can I scrape APEC with Python or Node.js?
Yes. Use the Apify client examples above, the REST API, or Apify MCP.

How many jobs per search?
APEC paginates 20 jobs per page. Broad keywords return thousands of cadre offers; split nationwide sweeps by region or contract.

ActorFocus
APEC Jobs Scraper ◄── you are hereAPEC.fr France cadre jobs
Stepstone Jobs ScraperDACH job listings
Arbeitsagentur Jobs ScraperGermany BA Jobsuche
Glassdoor ScraperReviews, salaries, interviews, jobs
Naukri Jobs ScraperNaukri.com India jobs
Foundit Jobs ScraperFoundit.in / Monster India