France Jobs Aggregator: HelloWork + APEC Scraper
Pricing
from $1.50 / 1,000 job offers
France Jobs Aggregator: HelloWork + APEC Scraper
Scrape French job offers from HelloWork and APEC in one run: keyword, city, department or region, contract, remote and date filters. Duplicates merged, direct employers vs agencies tagged, salaries structured, plus a list of companies hiring the most. JSON, CSV, Excel.
Pricing
from $1.50 / 1,000 job offers
Rating
0.0
(0)
Developer
French Data lab
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
Get every new job offer in France from HelloWork and APEC in a single run — normalized, deduplicated and ready for Excel, Google Sheets, your CRM or your AI agent.
No more scraping each job board separately and cleaning the mess afterwards: search by keyword, city, department or region, filter by contract type, remote work and publication date, and receive one clean table where the same offer posted on several boards appears only once.
What can you do with it?
- 🎯 Find companies that are hiring (B2B lead generation). A company that recruits is a company with budget and needs. Keep direct employers only (no recruitment agencies, no job-board re-posts) and every run also produces a ranked list of the companies hiring the most in your area and sector — perfect for recruitment agencies, staffing firms, HR software, B2B sales teams and consultants.
- 📬 Monitor new offers daily. Schedule the Actor with Posted within: last 24 hours and get only fresh offers every morning, by email, Slack, Google Sheets, Make, Zapier or n8n.
- 📊 Analyze the French job market. Salaries by city, contract mix, remote-friendliness, most in-demand skills for a job title — with structured salary ranges (min / max / period) instead of free text.
- 🤖 Feed your job board, newsletter or AI assistant with a clean, deduplicated feed of French job offers.
- 🔎 Job seekers & career coaches: one search across two major French boards, including APEC's executive (cadre) offers.
Why this Actor?
| This Actor | Single-board scrapers | |
|---|---|---|
| HelloWork + APEC in one run | ✅ | ❌ one board each |
| Cross-board duplicate merging | ✅ (sources lists every board) | ❌ |
| Who published it: direct employer, agency, training center or job-board re-post | ✅ publisherType on every offer + filter | ❌ |
| Off-topic offers removed (keyword only in the description) | ✅ titleMustMatch | ❌ |
| Location as city, postal code, department or region | ✅ | Usually board-specific codes |
| Structured salary (min / max / period) | ✅ | Often raw text only |
| Correct timestamps (UTC) | ✅ both boards return Paris time labeled as UTC — we fix it | ⚠️ often 1–2 h off |
| "Companies hiring" summary | ✅ | ❌ |
| Respects your max cost per run | ✅ stops exactly at your budget | varies |
Input
| Field | Description | Example |
|---|---|---|
queries | Job titles or keywords, one per line | ["comptable", "contrôleur de gestion"] |
location | City, postal code, department number or region. Empty = all of France | "Lyon", "69003", "13", "Bretagne" |
contractTypes | CDI, CDD, Interim, Alternance, Stage, Freelance. Empty = all | ["CDI", "CDD"] |
postedWithin | any, 24h, 3d, 7d, 30d | "24h" |
remote | any, partial (partial or full remote), full | "full" |
publisherTypes | employer (direct employers), agency (recruitment firms, temp agencies), trainingCenter, jobBoard (APEC offers re-posted by other job boards). Default: all but jobBoard | ["employer"] for lead generation |
titleMustMatch | Keep only offers whose title contains your keyword (default true). Turn off for skills/tools like python or SAP | true |
sources | hellowork, apec | both |
maxResults | Maximum unique offers for the whole run | 500 |
includeDetails | Open each HelloWork offer for full description, skills, exact date, expiry date, experience, industry | true |
deduplicate | Merge the same offer found on several boards | true |
{"queries": ["développeur python", "data engineer"],"location": "Île-de-France","contractTypes": ["CDI"],"postedWithin": "7d","remote": "partial","maxResults": 500,"includeDetails": true}
Output
Each job offer is one dataset item:
{"id": "hellowork:83926847","title": "Collaborateur Comptable H/F","company": "Hireos","location": "Rillieux-la-Pape - 69","city": "Rillieux-la-Pape","department": "69","postalCode": "69140","region": "Auvergne-Rhône-Alpes","contractType": "CDI","publisherType": "employer","salaryText": "34 000 - 38 000 € / an","salaryMin": 34000,"salaryMax": 38000,"salaryPeriod": "year","remote": null,"publishedAt": "2026-09-30T08:54:08Z","publishedAtIsApproximate": false,"validThrough": "2026-10-30T09:54:08Z","url": "https://www.hellowork.com/fr-fr/emplois/83926847.html","sources": ["hellowork"],"otherUrls": [],"companyUrl": "https://www.hellowork.com/fr-fr/entreprises/hireos-93414.html","companyLogo": "https://f.hellowork.com/img/entreprises/160_160/197419.png","experienceMonths": 12,"skills": ["Bilan comptable", "Révision des comptes", "Autonomie"],"industry": ["Secteur informatique", "ESN"],"category": "Comptabilité","description": "Détail du poste\n\nVOTRE MISSION ...","query": "comptable","scrapedAt": "2026-09-30T09:17:39Z"}
sources/otherUrls: when the same offer is published on both boards, you get it once, with every link.remote:full,partial(when you filtered on it),possible(the offer mentions remote work) ornull.publishedAtIsApproximate: HelloWork search pages only show relative dates ("il y a 4 jours"); enableincludeDetailsto get exact timestamps.descriptionSnippet,latitude,longitude: available for APEC offers.
Companies hiring (key-value store record COMPANIES)
Real example (keyword comptable, location Lyon):
[{"company": "Compagnie Fiduciaire","publisherType": "employer","openJobs": 4,"titles": ["Chef de Mission Comptable H/F", "Collaborateur Comptable Confirmé H/F", "Collaborateur Comptable H/F", "Expert Comptable H/F"],"locations": ["Caluire-et-Cuire - 69"],"contractTypes": {"CDI": 4},"latestPublishedAt": "2026-09-26T09:27:39Z","sources": ["hellowork"]}]
Job boards re-posting offers are never listed as hiring companies. Download it from the run's Storage → Key-value store tab.
Pricing
Pay per result: you only pay for the unique job offers you receive. Duplicates merged across boards are not charged twice. Set a maximum cost per run and the Actor stops exactly there.
Tips
- Daily monitoring: create a Schedule (e.g. every day at 8:00) with
postedWithin: "24h"and connect an integration (Google Sheets, Slack, email, webhook). - Maximum coverage: leave
contractTypesempty and use several close keywords ("comptable","assistant comptable","collaborateur comptable"). - Executive roles only: select only the
apecsource. - Internships and freelance are only published on HelloWork: APEC is skipped automatically for those contract types.
FAQ
Is it legal? This Actor only collects job offers that employers publish publicly to reach as many candidates as possible. It does not collect candidates' personal data. You are responsible for using the data in compliance with the GDPR and the boards' terms, especially if you contact companies.
Which boards are next? Welcome to the Jungle and France Travail are on the roadmap. Tell us which board you need in the Issues tab.
Something broke? Job boards change their pages from time to time. Open an issue with your run link and it will be fixed quickly.
🇫🇷 En bref
Récupérez en un seul lancement toutes les offres d'emploi HelloWork et APEC : recherche par mot-clé, ville, code postal, département ou région, filtres par contrat (CDI, CDD, intérim, alternance, stage, freelance), télétravail et date de publication. Les doublons entre sites sont fusionnés, les offres hors sujet sont écartées, chaque offre indique qui l'a publiée (employeur direct, cabinet de recrutement / intérim, centre de formation), les salaires sont structurés (min / max / période) et chaque exécution produit la liste des entreprises qui recrutent le plus — idéal pour la prospection B2B, les cabinets de recrutement et la veille du marché de l'emploi. Export JSON, CSV, Excel, Google Sheets.