APEC France Jobs Scraper avatar

APEC France Jobs Scraper

Pricing

from $0.90 / 1,000 results

Go to Apify Store
APEC France Jobs Scraper

APEC France Jobs Scraper

[💰 $0.9 / 1K] Extract executive and cadre-level job listings from APEC.fr — France's national jobs board. Search by keyword, location, or department; filter by contract type, experience, and salary. Returns title, company, salary, full description, contract type, and application link per job.

Pricing

from $0.90 / 1,000 results

Rating

0.0

(0)

Developer

SolidCode

SolidCode

Maintained by Community

Actor stats

0

Bookmarked

3

Total users

2

Monthly active users

6 days ago

Last modified

Share

Pull executive and cadre-level job listings from APEC.fr at scale — French job titles, hiring companies, salary ranges, contract codes, experience buckets, telework arrangements, full HTML and plain-text descriptions, application links, and APEC reference numbers for every open position. Built for recruiters, talent acquisition platforms, ATS and CRM tools, and market-research analysts who need fresh French executive job-market data without manually paging through APEC's search UI.

Why This Scraper?

  • 162-entry French location lookup — paste Île-de-France, Bouches-du-Rhône, 13, or Marseille and the actor resolves it to APEC's internal nomenclature. Covers all 13 metropolitan régions, all 96 départements, 13 DROM-COM territories, and 28 of France's largest metropolitan cities — accent-folded so ile-de-france and Île-de-France both work.
  • Four contract types wired to APEC's official codes — CDI (permanent), CDD (fixed-term), Stage (internship), and Alternance (apprenticeship), each mapped to the exact idNomenclature APEC's search uses.
  • Three telework levels, separately filterable — full remote (Télétravail total), hybrid (Télétravail partiel), and on-site only (Sur site). Surface remote-friendly cadre roles in one query.
  • Four experience buckets aligned to APEC's cadre nomenclature — Junior (0–3 years), Mid-level (1–7 years), Senior (7+ years), and Expert/Director.
  • EUR salary floor with auto-conversion to APEC's k€ filter — type 50000 and the actor talks to APEC in its native unit, paired with a no-upper-bound sentinel so minSalary: 50000 returns every listing paying €50k+.
  • Paste apec.fr search URLs directly — every facet you tweak in your browser (motsCles, typesContrat, niveauxExperience, typesTeletravail, lieux, salaireMinimum) is parsed automatically. Build the search visually, copy the URL, run the actor.
  • 22 fields per job — title, company, French location string + département + région, salary range, contract code, experience bucket, telework level, publication date, applyLink, full HTML and plain-text descriptions, company description, industry sector, named competences, scrape timestamp, and the APEC reference number.
  • Up to 50 000 results per run — single maxResults cap with built-in pagination across APEC's full corpus, no dual-knob configuration to mis-set.

Use Cases

Recruitment Intelligence

  • Track competitor hiring volume by company, sector, and région
  • Detect headcount-growth signals from new senior cadre openings
  • Map which French firms are hiring abroad versus domestically
  • Monitor specific employers for new postings on a daily cadence

Salary Benchmarking

  • Build EUR salary distributions by région, contract type, and experience bucket
  • Compare CDI vs. CDD pay ranges in target sectors
  • Quantify the remote-work premium across Télétravail total versus Sur site
  • Benchmark advertised salary ranges against your own offers

French Market Research

  • Map executive job-market trends across the 13 régions
  • Identify hot sectors by tracking industry distribution over time
  • Surface emerging skills via the competences tag analysis
  • Monitor cadre demand in specific départements

Lead Generation & Sourcing

  • Build lists of French companies actively hiring in target sectors
  • Feed an ATS or CRM with fresh APEC openings every morning
  • Identify recruiting agencies posting on behalf of confidential clients
  • Discover hiring contacts via the application links on each listing

Aggregator & Dataset Building

  • Power French-language jobs aggregator sites with structured APEC data
  • Build training datasets for NLP models on French executive job descriptions
  • Cross-reference APEC postings with LinkedIn, Indeed, or your internal pipeline
  • Maintain an always-fresh inventory of cadre-level vacancies in France

Getting Started

Just a keyword and a row cap:

{
"keyword": "ingénieur logiciel",
"maxResults": 100
}

CDI permanent contracts in Paris with full remote and €50k+ salary:

{
"keyword": "data scientist",
"location": "Paris",
"contractTypes": ["CDI"],
"teleworkLevels": ["full"],
"minSalary": 50000,
"maxResults": 200
}

Surface senior cadre roles across an entire région using the département code:

{
"keyword": "directeur",
"department": "75",
"experienceLevels": ["7plus", "senior"],
"contractTypes": ["CDI"],
"maxResults": 500
}

Paste APEC Search URLs

Build the search visually on apec.fr, then drop the URL in:

{
"searchUrls": [
"https://www.apec.fr/candidat/recherche-emploi.html?motsCles=chef%20de%20projet&typesContrat=101888&typesTeletravail=20767&lieux=711"
],
"maxResults": 250
}

Input Reference

What to Scrape

ParameterTypeDefaultDescription
searchUrlsstring[][]Paste one or more APEC search URLs directly from your browser. Use this when you've already built a complex filter set in the APEC UI and want to copy the URL in. When provided, the structured filters below are ignored.
keywordstring"ingénieur"Job title, role, or skill keywords (e.g. "ingénieur logiciel", "chef de projet", "data scientist"). French preferred — APEC is a French site.

Filters

ParameterTypeDefaultDescription
locationstringnullCity or region name (e.g. "Paris", "Lyon", "Île-de-France", "Toulouse"). When set, takes priority over Department.
departmentstringnullFrench department code, two digits (e.g. "75" Paris, "69" Rhône, "13" Bouches-du-Rhône, "92" Hauts-de-Seine). Ignored when Location is set.
contractTypesstring[][]Only include jobs matching these contract types. Empty = all types. Options: CDI (permanent contract), CDD (fixed-term contract), Internship (Stage), Apprenticeship (Alternance).
experienceLevelsstring[][]Only include jobs matching these experience levels. Empty = all levels. Options: Junior (0-3 years), Mid-level (1-7 years), Senior (7+ years), Expert / Director.
teleworkLevelsstring[][]Only include jobs offering these telework arrangements. Empty = all. Options: Full remote (Télétravail total), Hybrid / Partial (Télétravail partiel), On-site only (Sur site).
minSalaryintegernullOnly include jobs with an annual salary at or above this amount, in euros (e.g. 45000 for 45 k€). Listings without a salary disclosure may still appear — APEC's filter is inclusive of unspecified salaries.

Limits

ParameterTypeDefaultDescription
maxResultsinteger100Hard cap on total job rows returned across all sources. Default 100 — increase for bigger runs, or set to 0 for no cap (an internal upper bound of 50,000 still applies to prevent runaway pagination). The actor stops requesting new pages once this number is hit but keeps the full last page even if it slightly overshoots.

Output

One row per job listing. Flat schema, French-language values preserved.

{
"id": "178206207W",
"title": "Directeur de projet Hydraulique urbaine confirmé F/H",
"company": "L'USINE NOUVELLE",
"location": "Paris 01 - 75",
"department": "75",
"region": null,
"salary": "60 - 75 k€",
"salaryMin": 60000,
"salaryMax": 75000,
"contractType": "CDI",
"experienceLevel": "Minimum 7 ans",
"telework": "Télétravail partiel possible",
"publishedAt": "2026-02-20T05:17:10Z",
"descriptionHtml": "<p>Au sein de notre direction technique...</p>",
"descriptionText": "Au sein de notre direction technique...",
"applyLink": "https://example.com/apply",
"url": "https://www.apec.fr/candidat/recherche-emploi.html/emploi/detail-offre/178206207W",
"companyDescription": "Premier média B2B français...",
"companySize": null,
"industry": "Édition / Presse",
"competences": ["Hydraulique", "Gestion de projet", "Conception"],
"scrapedAt": "2026-05-08T12:34:56Z"
}

Core Fields

FieldTypeDescription
idstringAPEC offer reference (e.g. "178206207W")
titlestringJob title in French
urlstringAPEC detail page URL
publishedAtstringISO 8601 publication timestamp
scrapedAtstringISO 8601 extraction timestamp
applyLinkstring | nullExternal application URL when APEC links externally

Location

FieldTypeDescription
locationstringJob location text as displayed by APEC (e.g. "Paris 01 - 75", "Lyon - 69")
departmentstringFrench département code parsed from the listing (e.g. "75", "69")
regionstring | nullRégion name when available

Compensation & Contract

FieldTypeDescription
salarystring | nullSalary text as displayed by APEC (e.g. "45 - 55 k€", "À négocier")
salaryMininteger | nullParsed minimum annual salary in EUR — best-effort, null when freeform
salaryMaxinteger | nullParsed maximum annual salary in EUR — best-effort, null when freeform
contractTypestring"CDI", "CDD", "Stage", or "Alternance"
experienceLevelstring | nullRequired experience as labelled by APEC (e.g. "Minimum 5 ans", "Tous niveaux d'expérience")
teleworkstring | nullTelework arrangement (e.g. "Télétravail total possible", "Télétravail partiel possible", "Pas de télétravail autorisé")

Company & Description

FieldTypeDescription
companystring | nullRecruiting company name (or recruiter name when the employer is anonymized)
companyDescriptionstring | nullCompany blurb when shown
companySizestring | nullCompany size band — APEC rarely exposes this; usually null
industrystring | nullIndustry / sector classification
competencesstring[] | nullSkills and competencies tagged on the listing (typically up to 40 entries when APEC tags any)
descriptionHtmlstring | nullFull job description with HTML formatting preserved
descriptionTextstringCleaned plain-text job description

Tips for Best Results

  • Start with a tight maxResults. Set 25–50 on your first run to verify the filter combination matches what you expect, then scale up.
  • Use the département code for tricky locations. Smaller cities and suburbs that aren't in the 28-city alias list will resolve cleanly with their two-digit département code (13 for Marseille area, 33 for Bordeaux, 06 for Nice).
  • Combine experienceLevels=senior with teleworkLevels=full to surface remote senior cadre roles — one of the strongest signals of a forward-looking employer in the French market.
  • APEC's experience buckets are pre-grouped1to7 aligns with APEC's 3-5 ans facet and 7plus with 6-9 ans. If you need an exact range, post-filter on experienceLevel text in your downstream pipeline.
  • Salary is in EUR on input, k€ on display — type 45000 to mean €45k. APEC publishes some salaries as free-text ("À négocier", "Selon profil"); those rows still appear unless you add a minSalary filter, which excludes them.
  • searchUrls overrides every structured filter. Build the perfect search on apec.fr, copy the URL, paste it in. The actor parses motsCles, typesContrat, niveauxExperience, typesTeletravail, lieux, and salaireMinimum straight from the URL.
  • For zero-result inputs the actor exits cleanly — the run's status message lists the exact keyword and filter combination, so you can copy-paste, broaden one filter, and rerun.

Pricing

$0.90 per 1,000 results — flat pay-per-result, billed only on rows actually delivered to your dataset.

ResultsEstimated Cost
100$0.09
1,000$0.90
10,000$9.00
100,000$90.00

A "result" is any job-listing row in the output dataset. No compute charges — you only pay per result returned.

Integrations

Export data in JSON, CSV, Excel, XML, or RSS. Connect to 1,500+ apps via:

  • Zapier / Make / n8n — Workflow automation
  • Google Sheets — Direct spreadsheet export
  • Slack / Email — Notifications on new results
  • Webhooks — Trigger custom APIs on run completion
  • Apify API — Full programmatic access

This actor collects job listings from APEC's public candidate search at apec.fr. Users are responsible for complying with applicable laws, APEC's Terms of Service, and the French CNIL (Commission nationale de l'informatique et des libertés) guidance on personal-data handling — particularly when company contacts or recruiter names appear in the output. Do not use extracted data for spam, harassment, candidate poaching that violates contractual non-solicit clauses, or any illegal purpose.