VOOZH about

URL: https://apify.com/solidcode/hellowork-scraper

⇱ HelloWork Jobs Scraper · Apify


Pricing

from $0.95 / 1,000 results

Go to Apify Store

HelloWork Jobs Scraper

[💰 $0.95 / 1K] Extract job listings from HelloWork — France's leading job board. Search by keyword and city, filter by contract type, telework, and date posted, and get titles, companies, salaries, full descriptions, and apply links.

Pricing

from $0.95 / 1,000 results

Rating

0.0

(0)

Developer

👁 SolidCode

SolidCode

Maintained by Community

Actor stats

0

Bookmarked

10

Total users

4

Monthly active users

17 days ago

Last modified

Share

Pull job listings from HelloWork — France's leading job board — at scale, complete with French-format salary ranges, contract codes (CDI / CDD / Alternance / Stage / Intérim / Freelance), telework mode, hiring company, sector, full descriptions, and ISO-8601 posted dates. Built for French recruiters, EU talent-acquisition teams, and salary-benchmarking analysts who need clean, structured French job-market data without parsing HelloWork's French HTML one page at a time.

Why This Scraper?

  • Six French contract types in one filter — CDI (permanent), CDD (fixed-term), Alternance (work-study), Stage (internship), Intérim (temporary), and Freelance / Indépendant. The biggest filter facet on HelloWork, exposed as a multi-select.
  • Four telework modes — Full remote (télétravail complet), Partial, Occasional, and On-site only. Filter the French remote-job market without learning the French labels.
  • Parsed salary ranges in euros — every row carries salaryMin, salaryMax, salaryCurrency (EUR), and salaryPeriod (YEAR / MONTH / DAY / HOUR), parsed from French formats like 50 000 - 55 000 € / an including narrow no-break-space thousand separators.
  • Five recency windows — Any time, Last 24 hours, Last 3 days, Last 7 days, or Last 30 days. Surface only fresh leads when you need them.
  • Minimum annual salary filter — set minSalary: 60000 and HelloWork constrains the search server-side before pagination starts.
  • Multi-keyword + multi-URL batch input — run ["développeur", "data engineer", "product manager"] in one go, or paste any HelloWork search URLs you already built in the UI. Mix both in the same run.
  • Up to 5,000 jobs per search — sustained pagination across HelloWork's ~30-per-page SERP, with overshoot-don't-trim semantics that keep your final page whole.
  • Structured detail extraction — title, hiring company, full HTML and plain-text description, 200-character snippet, required skills array, sector (Services aux Entreprises, Tech, etc.), education and experience requirements, valid-through date, and stable HelloWork jobId on every row.

Use Cases

Recruitment & Talent Sourcing

  • Build a target-company list of every employer hiring CDI développeurs in Île-de-France this week
  • Track Alternance and Stage postings across France for student-pipeline programs
  • Find freelance and Intérim opportunities matched to specific skill sets

Salary Benchmarking

  • Build EUR salary bands per role and city from parsed salaryMin / salaryMax ranges
  • Compare CDI vs. Freelance compensation for the same job title
  • Track salary inflation over time by re-running the same query monthly

Market & Competitive Intelligence

  • Monitor which French companies are hiring fastest in your sector
  • Benchmark competitor headcount expansion by counting active listings per employer
  • Detect emerging skill demand by skill-array frequency across thousands of rows

Lead Generation

  • Surface hiring companies for B2B HR-tech, recruitment, or training sales
  • Filter to companies posting 10+ open roles — high-intent buyers for talent solutions
  • Build region-targeted prospect lists by French département or region

Job Aggregation & Vertical Search

  • Power a niche French job board or Slack alert bot with fresh HelloWork listings
  • Feed jobs into a CRM, ATS, or candidate-matching engine via webhook
  • De-duplicate against your existing dataset using stable jobId values

Getting Started

Basic Search

The simplest possible run — one keyword, one city:

{
"searchQueries":["développeur"],
"location":"Paris",
"maxResults":50
}

Filtered Search (Contract + Telework + Recency)

Fresh permanent and freelance full-remote roles posted in the last week:

{
"searchQueries":["data engineer","data scientist"],
"location":"Lyon",
"contractType":["CDI","FREELANCE"],
"telework":["FULL","PARTIAL"],
"datePosted":"1w",
"minSalary":55000,
"maxResults":200,
"includeJobDetails":true
}

Paste a Pre-Built HelloWork URL

Already built a search with custom filters in the HelloWork UI? Paste the URL directly:

{
"startUrls":[
"https://www.hellowork.com/fr-fr/emploi/recherche.html?k=chef+de+projet&l=Toulouse&c=CDI",
"https://www.hellowork.com/fr-fr/emploi/recherche.html?k=comptable&l=Bordeaux"
],
"maxResults":500
}

Input Reference

Search

ParameterTypeDefaultDescription
searchQueriesstring[]["développeur"]Job titles or keyword phrases such as développeur, comptable, or chef de projet. Each entry runs its own search.
locationstring"Paris"City, département, or region in France (e.g. Paris, Lyon, Marseille, Île-de-France). Applied to every keyword. Leave blank to search the whole country.
startUrlsstring[][]Optional. Paste full HelloWork search URLs to use them as-is. Useful when you've already built a search with custom filters in the HelloWork UI.

Filters & Limits

ParameterTypeDefaultDescription
maxResultsinteger100Maximum jobs per keyword or URL. Use 50 for a quick scan, 500 for deep research. Set to 0 for no cap (an internal upper limit of 5,000 still applies). The actor keeps the full final page even if it slightly overshoots.
contractTypeselect[][]Only return jobs matching these contract types: CDI, CDD, ALTERNANCE, STAGE, INTERIM, FREELANCE. Empty = all types.
teleworkselect[][]Filter by remote work mode: FULL, PARTIAL, OCCASIONAL, NONE (on-site only). Empty = all modes.
datePostedselect"any"Only include jobs posted within: any, 24h, 3d, 1w, or 1m.
minSalaryintegernullOnly return jobs offering at least this annual salary in euros. Listings without a posted salary are still included.

Output

ParameterTypeDefaultDescription
includeJobDetailsbooleantrueFetch the full description, skills, sector, and structured posting metadata from each job's detail page. Disable for faster light scans that return only the search-card data.

Output

Each row is a single job. Here's a representative result with full details enabled. Most fields populate when the employer fills them in on HelloWork; salary*, skills, experience, telework, and sector can be null / [] when not provided.

{
"title":"Développeur Python H/F",
"company":"Team.is",
"companyUrl":"https://www.hellowork.com/fr-fr/entreprises/teamis-101426.html",
"companyLogo":"https://f.hellowork.com/img/entreprises/160_160/teamis.png",
"location":"Paris 1er - 75",
"city":"Paris 1er",
"postalCode":"75001",
"region":"Île-de-France",
"country":"France",
"salary":"50 000 - 55 000 € / an",
"salaryMin":50000,
"salaryMax":55000,
"salaryCurrency":"EUR",
"salaryPeriod":"YEAR",
"contractType":"CDI",
"employmentTypeRaw":"CDI",
"employmentTypeEnum":"FULL_TIME",
"telework":"FULL",
"datePosted":"2026-05-13",
"validThrough":"2026-06-12",
"skills":["Python","Django","PostgreSQL"],
"qualifications":"Bac +5 ou équivalent en informatique ...",
"education":"Bac +3, Bac +4",
"experience":"3 ans",
"sector":"Banque/Assurance/Finance",
"descriptionHtml":"<p>Nous recherchons un développeur expérimenté...</p>",
"descriptionText":"Nous recherchons un développeur expérimenté...",
"snippet":"Nous recherchons un développeur expérimenté pour rejoindre notre équipe Python...",
"jobId":"75605607",
"jobUrl":"https://www.hellowork.com/fr-fr/emplois/75605607.html",
"listPageUrl":"https://www.hellowork.com/fr-fr/emploi/recherche.html?k=developpeur&l=Paris",
"searchQuery":"développeur",
"scrapedAt":"2026-05-16T11:46:58Z"
}

Core Fields

FieldTypeDescription
titlestringJob title (often ends with " H/F" — French equal-opportunity convention).
companystringHiring company name.
companyUrlstringCompany website when shown on HelloWork.
companyLogostringLogo image URL when available.
jobIdstringStable HelloWork numeric ID — perfect for deduplication.
jobUrlstringCanonical detail-page URL.
listPageUrlstringOriginating search URL.
searchQuerystringWhich keyword produced this row.
scrapedAtstringISO-8601 UTC timestamp of extraction.

Location

FieldTypeDescription
locationstringFull location string as displayed.
citystringParsed city.
postalCodestringFrench postal code (e.g. 75001).
regionstringFrench region (e.g. Île-de-France, Auvergne-Rhône-Alpes).
countrystringAlways France.

Salary & Contract

FieldTypeDescription
salarystringRaw salary string as displayed on HelloWork.
salaryMinnumberLower bound parsed in EUR.
salaryMaxnumberUpper bound parsed in EUR.
salaryCurrencystringCurrency code — always EUR in practice.
salaryPeriodstringPay period — YEAR, MONTH, DAY, or HOUR.
contractTypestringNormalized contract code: CDI, CDD, ALTERNANCE, STAGE, INTERIM, or FREELANCE.
employmentTypeRawstringOriginal French contract label as shown on HelloWork (e.g. CDI, Alternance, Intérim).
employmentTypeEnumstringGoogle JSON-LD enum (FULL_TIME, PART_TIME, INTERN, TEMPORARY, CONTRACTOR) for integrations that expect the standard code.
teleworkstringRemote work mode: FULL when the listing is fully remote, null otherwise. Round-trips with the telework input filter.
datePostedstringISO-8601 publication date.
validThroughstringISO-8601 date the listing expires.

Description & Detail

FieldTypeDescription
descriptionHtmlstringFull job description in HTML markup. Populated when includeJobDetails is on.
descriptionTextstringFull job description as plain text.
snippetstring200-character preview for quick scanning.
skillsstring[]Required skills extracted from the structured posting. Empty when HelloWork doesn't expose a structured skill list for the role.
qualificationsstringQualifications text.
educationstringEducation level (e.g. Master, Bac +5, Bac +3, Bac +4).
experiencestringExperience required as a French label (e.g. 1 an, 3 ans, Sans expérience requise).
sectorstringIndustry / sector (e.g. Banque/Assurance/Finance, Services aux Entreprises).

Tips for Best Results

  • Mix searchQueries and startUrls in one run. Pay for one start and get both a fresh keyword sweep and any pre-filtered URLs you've built in the HelloWork UI — sector pages, RSE-label searches, or autocomplete pages with no equivalent filter input. Results are deduplicated across all sources by jobId, so the same posting only appears once in the dataset even when it surfaces in multiple keywords.
  • Use the French label. HelloWork is a French-only site — développeur returns thousands of hits, developer returns a handful. The same applies for cities: Lyon works, Lyons does not.
  • For full coverage of Paris, run per-arrondissement. Paris alone has 20 arrondissements (Paris 1er, Paris 2e, ..., Paris 20e) — splitting the query is the cleanest way to push past the per-search soft cap.
  • Combine contractType: ["ALTERNANCE", "STAGE"] for student pipelines. These two French-specific contracts cover work-study and internships — the entire early-career recruitment funnel in one filter.
  • Turn off includeJobDetails for fast scans. When you only need title / company / salary for a market sweep, disabling detail fetches skips one request per job and roughly halves run time.
  • Use datePosted: "24h" for daily alerts. Pair with a webhook to push every new posting matching your filters into Slack, email, or your ATS.
  • Deduplicate by jobId. HelloWork sometimes repeats the same listing across overlapping searches — the numeric jobId is stable across runs, so use it as your dedupe key.

Pricing

$0.95 per 1,000 results — flat per-row pricing, slightly below the market rate for French job-board extraction.

ResultsEstimated Cost
100$0.10
1,000$0.95
10,000$9.50
100,000$95.00

A "result" is one job row in the output dataset. No compute charges — you only pay per result returned. Apify platform fees (storage, transfer) are additional and depend on your plan.

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

Legal & Ethical Use

This actor is designed for legitimate recruitment research, salary benchmarking, market intelligence, and job aggregation use cases. Users are responsible for complying with applicable laws — including French and EU data protection rules (RGPD/GDPR) — and with HelloWork's terms of service. Make reasonable-rate requests, respect content usage rules for any descriptions or company data extracted, and do not use the data for spam, harassment, or any illegal purpose.

You might also like

HelloWork Jobs Scraper

parsebird/hellowork-jobs-scraper

Scrape HelloWork job listings across France — titles, companies, salaries, skills, locations, contract types, and descriptions. Filter by keyword, location, or category. Export as JSON, CSV, Excel.

HelloWork Job Search Scraper – Cheap 🇫🇷🌍💼

scrapestorm/hellowork-job-search-scraper---cheap

🔍 Easily collect job listings from HelloWork Extract structured job data from HelloWork job search results, including job titles, company names, locations, contract types, salaries, work modes, posting dates, job URLs & more Ideal for job market research, and hiring trend analysis in France 🌍

👁 User avatar

Storm_Scraper

2

Hellowork Jobs Search Scraper

stealth_mode/hellowork-jobs-search-scraper

Efficiently scrape job listings from HelloWork.com, France's leading employment platform. Extract comprehensive data including job titles, descriptions, salaries, locations, and company details. Ideal for recruitment agencies, labor market research, and career analytics in the French job market.

👁 User avatar

Stealth mode

7

HelloWork.fr Scraper

unfenced-group/hellowork-scraper

Scrape hellowork.com for structured French job data: titles, companies, salaries, skills & full descriptions (HTML, plain text, Markdown). 700,000+ listings across France. Filter by keyword, location & contract type. Deduplication & repost detection included.

👁 User avatar

Unfenced Group

19

HelloWork Jobs Scraper - Low-cost💲🔥🇫🇷💼

delectable_incubator/hellowork-jobs-scraper-low-cost

Scrape HelloWork job listings 🇫🇷💼 with a powerful France job scraper. Extract job titles, company names, locations, contract types, salaries, work arrangements, job descriptions, and job URLs from search results. Ideal for recruitment intelligence, labour market analysis & employment datasets 📊

👁 User avatar

Prime Scrape

2

HelloWork Scraper: French Job Board

dltik/hellowork-scraper

Scrape HelloWork jobs by keyword, city, contract type, salary range. Get title, company, location, contract (CDI/CDD/alternance/stage), salary, remote policy, full description, posted date. France's #1 generalist job board. For ATS providers, recruitment agencies, sourcing teams. $1/1K jobs.

HelloWork Listing Scraper

powerbox/hellowork-listing-scraper

Scrape job listings from hellowork.com by providing a search URL, with automatic pagination and comprehensive job data extraction.

HelloWork Jobs Scraper

shahidirfan/HelloWork-Jobs-Scraper

Extract job listings effortlessly with the HelloWork Jobs Scraper. A lightweight actor optimized for speed and precision on HelloWork. For the best experience and to avoid blocking, the use of residential proxies is highly recommended. Streamline your job data collection today!

👁 User avatar

Shahid Irfan

96

5.0

HelloWork Scraper

lexis-solutions/hellowork-scraper

The HelloWork scraper is a web scraping tool that retrieves job postings from HelloWork, a job search website in France 🇫🇷 Le scraper HelloWork est un outil de web scraping qui récupère les offres d'emploi de HelloWork, un site de recherche d'emploi en France.

👁 User avatar

Lexis Solutions

89

5.0