Skip to content

APEC Job Scraper

Try for free

Export executive and manager job offers from APEC (apec.fr), France's job board for cadres. Search by keyword and location with contract, experience, remote, salary and date filters, or paste search and offer links. Salary, contract, company, address, skills, contacts, apply links and full descriptions. No login needed.

💼 APEC Job Scraper

Export executive and manager job offers from APEC (apec.fr), France's job board for cadres, in seconds. Search by keyword and location, narrow down by contract, experience, remote work, salary, date, job function or industry, or simply paste APEC links. Every offer comes with salary range, contract, company, address and coordinates, skills, contact names, apply link and the full description. No login, no account, no cookies.

✨ Why use APEC Job Scraper?

  • ⚡ Fast — 20 offers with full details in about 10 seconds, 1,000 in under 30 seconds, 10,000 in about 4 minutes (measured).
  • 🧾 Complete offers — full description, candidate profile, company presentation, skills, languages, soft skills, contact names, apply link and recruitment process, not just the search card.
  • 💶 Clean salary data — APEC's salary text plus parsed minimum, maximum, period (year, month, hour) and gross or net.
  • 🗺️ Ready for maps and CRMs — city, department, region, street address, postcode and GPS coordinates on each offer.
  • 🔎 Every APEC filter — contract, experience, remote work, posting date, salary band, job function, industry, position status, advertiser type and radius around a city.
  • 💸 Cheap and simple — one flat price per saved offer; nothing to configure, no login needed.

🎯 Use cases

  • 🧲 Recruitment lead generation — find companies hiring managers and engineers in your region, with the contact names the offer shows.
  • 📊 Salary benchmarking — collect thousands of salary ranges for executive roles by function, region and experience.
  • 📈 Labour-market research — track how many offers APEC lists per job, industry or region over time.
  • 🛎️ Job alerts — schedule a daily run with "Posted within: last 24 hours" and send new offers to your team.
  • 🏢 Competitive intelligence — see which roles competitors are hiring for, where, and at what pay.
  • 🤖 AI and analytics pipelines — feed structured offers (text and HTML descriptions) into your models or BI tools.

🚀 How to use

  1. Enter one or more search terms (e.g. data analyst, contrôleur de gestion) and, if you like, a location (Lyon, Gironde, 33, Ile-de-France).
  2. Or paste APEC links: offer pages, bare offer numbers or a search you built on apec.fr.
  3. Set Maximum offers and any filters (contract, experience, remote work, salary, date…).
  4. Click Start and watch the offers arrive.
  5. Download the results as JSON, CSV or Excel, or read them through the API.

📥 Input

FieldWhat it does
searchQueriesJob titles, skills or companies, one search per line. Every word of a term must match, so keep terms short.
locationCity, department (name or number), region or country. Separate several places with ;.
startUrlsOffer links, bare offer numbers (179260751W) or apec.fr search links.
maxResultsHow many offers to save in total (0 = no limit).
contractTypes, experienceLevels, remoteWork, postedWithinContract (CDI, CDD, alternance, stage, intérim), experience band, remote policy, posting date.
minSalaryK, maxSalaryKGross annual salary band in thousands of euros.
jobFunctions, industries, positionStatus, companyTypesAPEC's function families, industries, private/public/technician roles, and who posted the offer.
radiusKmWith one city as the location, also include offers within this distance.
sortBy, includeDetails, maxResultsPerSearchNewest first, search-card-only mode for speed, per-search cap.
{
  "searchQueries": ["data analyst", "contrôleur de gestion"],
  "location": "Lyon",
  "radiusKm": 30,
  "contractTypes": ["CDI"],
  "postedWithin": "7D",
  "maxResults": 100
}

📤 Output

One row per job offer. Main fields:

FieldDescription
id, title, urlAPEC offer number, job title and offer page
company, companyLegalName, companyLogo, companyDescriptionEmployer name, legal entity, logo and presentation
location, city, department, region, streetAddress, postalCode, latitude, longitudeWhere the job is
salaryText, salaryMin, salaryMax, salaryPeriod, salaryBasisSalary as shown, plus parsed numbers in euros
contractType, contractDurationMonths, isPartTime, startDateContract details
experienceLevel, educationLevel, jobFunction, jobRole, industry, positionType, remoteWork, travelZoneAPEC's classification of the role
skills, softSkills, languagesSkills the offer lists
summary, description, descriptionHtml, candidateProfile, recruitmentProcessSearch-card summary and full texts (plain text and HTML)
applyUrl, applyMethod, requiresCoverLetter, contactFirstName, contactLastName, extractedEmails, extractedPhonesHow to apply and who to contact
postedAt, firstPublishedAt, lastModifiedAtDates (UTC, ISO 8601)

Example (trimmed, contact name changed):

[
  {
    "id": "179573127W",
    "title": "Data Analyst F/H",
    "url": "https://www.apec.fr/candidat/recherche-emploi.html/emploi/detail-offre/179573127W",
    "company": "ELIS",
    "companyLegalName": "ELIS SERVICES",
    "companyBrand": "ELIS",
    "companyId": 118954,
    "companyLogo": "https://www.apec.fr/files/live/mounts/images/media_entreprise/118954/logo_ELIS_SERVICES_118954_881693.jpg",
    "companyDescription": "Si comme nous, vous travaillez mieux quand on vous fait confiance, C'est par ici\n\nCar Chez Elis, on sait que l'on peut compter sur les personnes que l'on …",
    "location": "Puteaux - 92",
    "city": "Puteaux",
    "department": "Hauts-de-Seine",
    "departmentCode": "92",
    "region": "Ile-de-France",
    "country": "France",
    "postalCode": "92800",
    "streetAddress": "18 RUE HOCHE",
    "addressCity": "PUTEAUX",
    "latitude": 48.8836138,
    "longitude": 2.2387286,
    "salaryText": "A partir de 45 k€ brut annuel",
    "salaryMin": 45000,
    "salaryMax": null,
    "salaryCurrency": "EUR",
    "salaryPeriod": "YEAR",
    "salaryBasis": "gross",
    "contractType": "CDI",
    "contractDurationMonths": null,
    "isPartTime": false,
    "experienceLevel": "Minimum 7 ans",
    "educationLevel": null,
    "jobFunction": "Système, réseaux, données",
    "jobFunctionGroup": "Informatique",
    "jobRole": "Data analyst",
    "industry": "Autres activités de soutien aux entreprises n.c.a.",
    "industryGroup": "Services divers aux entreprises",
    "positionType": "Cadre du secteur privé",
    "remoteWork": "Pas de télétravail autorisé",
    "travelZone": "Union Européenne",
    "startDate": null,
    "skills": [
      "Intelligence artificielle",
      "Microsoft Power BI",
      "Snowflake",
      "Architecture",
      "Datafactory"
    ],
    "softSkills": [
      "Mathématiques",
      "Microsoft Office XP",
      "Proxy"
    ],
    "languages": [],
    "description": "Ne venez pas chez Elis, si vous n'aimez pas faire parler la donnée !\n\nMais si vous voulez transformer les besoins métiers en solutions data à forte valeur …",
    "descriptionHtml": "<p>Ne venez pas chez Elis, si vous n'aimez pas faire parler la donnée !<br /><br />Mais si …",
    "candidateProfile": "- Bac+5 en Informatique Décisionnelle, Data Management, Statistiques, Mathématiques appliquées ou un équivalent universitaire\n- Minimum 7 ans en projets …",
    "candidateProfileHtml": "<p>- Bac+5 en Informatique Décisionnelle, Data Management, Statistiques, Mathématiques app …",
    "recruitmentProcess": null,
    "applyUrl": "https://api.mytalentplug.com/job/v1/joboffer/redirect?id=b408c0a9-bea2-4008-9d0a-eedf4c1cd765",
    "applyMethod": "URL_ONLY",
    "numberOfPositions": 2,
    "clientReference": "talentplug-31228052",
    "contactFirstName": "Claire",
    "contactLastName": "Martin",
    "followUpContactName": null,
    "followUpContactRole": null,
    "extractedEmails": [],
    "extractedPhones": [],
    "postedAt": "2026-10-12T09:05:08Z",
    "firstPublishedAt": "2026-10-12T09:05:08Z",
    "lastModifiedAt": "2026-10-12T09:05:08Z",
    "isConfidential": false,
    "isVerifiedOffer": true,
    "lowApplicationVolume": false,
    "origin": "ADEP",
    "detailFetched": true,
    "searchQuery": "data analyst",
    "scrapedAt": "2026-10-21T05:58:53Z"
  }
]

💰 Pricing

You pay $0.65 per 1,000 offers ($0.00065 per offer saved), plus the small platform usage of the run (compute and French residential proxy traffic). In our tests 1,000 offers with full details used about $0.01 of platform usage, so 1,000 offers ≈ $0.66 in total and 20 offers cost about $0.014. Offers that could not be saved are never charged, and a run stops cleanly when it reaches your maximum charge.

❓ FAQ

Is it legal to scrape APEC? The scraper reads only public job offers that anyone can see on apec.fr without an account. Check that your use of the data, especially contact names, complies with the GDPR and APEC's terms.

Do I need a login or my own proxy? No. No APEC account is needed. APEC blocks datacenter addresses, so the scraper uses French residential exits by default; if you pick datacenter, it switches to residential by itself when refused.

How many offers can I get? As many as APEC lists for your search. A search with no keyword returns every offer in France (over 100,000). Use maxResults to cap the run.

Why is a field empty? Not every employer fills every field: salary is often "A négocier", and remote work, education level and start date are optional on APEC. Empty fields are null or [].

Can I schedule it or use the API? Yes. Schedule daily runs with "Posted within: last 24 hours" for alerts, and read results through the API or webhooks.

Can I get only the search cards? Yes: turn off Full offer details for faster runs with title, company, location, salary, contract and the short summary.

⚠️ Limits

  • Only public offers on apec.fr; no candidate profiles and nothing behind a login.
  • APEC's salary estimate tool is not included.
  • Several locations are searched together in one search; the radius filter works with a single city.
  • Every word of a search term must match the offer, so long phrases can return few results.

Related actors

G2
4.7/5
Excellent
Trustpilot

The internet is full of data.
Start owning yours.

Scrape.ly gives you the infrastructure, the tooling, and the team to extract, process, and operationalize web data at any scale. Setup takes minutes. The advantage lasts forever.

No credit card. No setup calls.