HelloWork Scraper — France Jobs with Salary & Skills avatar

HelloWork Scraper — France Jobs with Salary & Skills

Pricing

from $0.79 / 1,000 results

Go to Apify Store
HelloWork Scraper — France Jobs with Salary & Skills

HelloWork Scraper — France Jobs with Salary & Skills

Scrape hellowork.com for structured French job data: titles, companies, salaries, skills, category and full descriptions (HTML, text, Markdown). Estimated salary percentiles where available. Filter by keyword, location and contract type. Repost detection. No API key required.

Pricing

from $0.79 / 1,000 results

Rating

0.0

(0)

Developer

Unfenced Group

Unfenced Group

Maintained by Community

Actor stats

1

Bookmarked

25

Total users

7

Monthly active users

0.15 hours

Issues response

4 days ago

Last modified

Share

HelloWork.fr Scraper

hellowork-scraper

Extract structured job listing data from hellowork.com — one of France's largest job boards, covering all industries and regions. Filter by keyword, location, and contract type. Full job descriptions in HTML, plain text, and Markdown. Built-in repost detection across runs.


Features

  • Keyword & location search — search any job title or keywords across all French regions
  • Push notifications: get new results delivered to Telegram, Discord, Slack, WhatsApp or any webhook the moment a scheduled run finds them
  • Contract type filtering — CDI, CDD, Interim, Stage, Alternance, Freelance
  • Salary data — actual salary range, period and currency where the employer discloses it (returned as null when not published, never guessed)
  • Estimated salary percentiles — median and p10 / p25 / p75 / p90 from HelloWork's own market data, where available
  • Skills & categorisation — structured skills list, occupational category and industry parsed from HelloWork's JSON-LD
  • Triple description format — HTML, plain text, and Markdown in every result
  • Cross-run repost detection — content fingerprinting flags listings seen in previous runs
  • daysOld filter — only return listings published within N days

Why this scraper?

🎯 Purpose-built

A dedicated scraper for this job board, tuned to its search, locations and salary formats — not a generic tool pointed at it.

💶 Salary data

Salary parsed from the listing where the employer publishes it. Missing salaries return null, never a guess.

📄 Complete job data

Full title and description, direct listing URL and publish date for every record.


Input Parameters

ParameterTypeDefaultDescription
searchQuerystring"developer"Job title or keywords to search for. Example: "développeur python", "comptable".
locationstring(empty)City, region or department. Example: "Paris", "Lyon", "Île-de-France".
contractTypestring"CDI"Filter by contract type: CDI, CDD, Interim, Stage, Alternance, Freelance. Leave empty for all types.
daysOldinteger0Only return jobs posted within this many days. Set to 0 to disable.
maxItemsinteger5Maximum number of job listings to return. Set to 0 for unlimited.

Example inputs

Search for developers in Paris:

{
"keywords": "développeur",
"location": "Paris",
"maxResults": 100
}

Recent nursing jobs on CDI contracts:

{
"keywords": "infirmier",
"contractType": "CDI",
"daysOld": 14,
"maxResults": 200
}

Scrape specific job listings:


Output Schema

Each result contains the following fields:

FieldTypeDescription
idStringHelloWork's unique listing ID
urlStringDirect URL to the job listing
titleStringJob title
companyStringEmployer name
locationStringLocation (city or region)
postalCodeStringPostal code
countryStringCountry code (always "FR")
isRemoteBooleantrue if the listing is remote (télétravail)
contractTypeStringContract label(s): CDI, CDD, Interim, Stage, Alternance, Freelance
occupationalCategoryStringHelloWork occupational category (e.g. "Informatique")
industryStringEmployer industry / sector
skillsArraySkills parsed from HelloWork's structured data (empty array when none listed)
salaryMinNumberMinimum salary (null if the employer does not publish salary)
salaryMaxNumberMaximum salary (null if the employer does not publish salary)
salaryPeriodStringSalary period: YEAR, MONTH, WEEK, DAY, HOUR
salaryRawStringHuman-readable salary string (null if not published)
currencyStringSalary currency (e.g. "EUR")
estimatedSalaryObjectHelloWork's estimated salary distribution (median, percentile10/25/75/90, currency, period) — null when not available
publishDateStringPublication date (YYYY-MM-DD)
expiryDateStringListing expiry date (YYYY-MM-DD)
descriptionHtmlStringFull job description as HTML
descriptionTextStringFull job description as plain text
descriptionMarkdownStringFull job description as Markdown
sourceStringAlways "hellowork.com"
scrapedAtStringISO 8601 timestamp of collection time
contentHashStringStable fingerprint of the listing

Example record

{
"id": "79648393",
"url": "https://www.hellowork.com/fr-fr/offres/79648393",
"title": "Testeur Logiciel H/F",
"company": "Otteo",
"location": "Lille",
"postalCode": "59000",
"country": "FR",
"isRemote": false,
"contractType": "FULL_TIME",
"salaryMin": 32000,
"salaryMax": 42000,
"salaryPeriod": "YEAR",
"salaryRaw": "€32 000 – €42 000 / year",
"currency": "EUR",
"publishDate": "2026-07-02",
"expiryDate": "2026-08-01",
"descriptionHtml": "Les missions du posteOTTEO ?C'est une société de conseil et un cabinet de recrutement. Eh oui, « une de plus », mais att …",
"descriptionText": "Les missions du posteOTTEO ?C'est une société de conseil et un cabinet de recrutement. Eh oui, « une de plus », mais att …",
"descriptionMarkdown": "Les missions du posteOTTEO ?C'est une société de conseil et un cabinet de recrutement. Eh oui, « une de plus », mais att …",
"source": "hellowork.com",
"scrapedAt": "2026-07-02T11:13:24.139Z",
"contentHash": "ea13c7e9d621d39d"
}

💰 Pricing

$0.94 per 1,000 results — you only pay for successfully retrieved listings. Failed retries and filtered reposts are never charged.

ResultsCost
100~$0.10
1,000~$0.94
10,000~$9.40
100,000~$94.00

Flat-rate alternatives typically charge $29–$49/month regardless of usage. At 10,000 results/month, this scraper costs significantly less with no commitment.

Use the Max results cap in the input to control your spend exactly.


Performance

Run sizeApprox. time
100 listings~2 min
1,000 listings~15 min
10,000 listings~2.5 hours


Examples

Developer jobs in Paris

{
"keywords": "développeur",
"location": "Paris",
"maxResults": 50
}

CDI contracts in Lyon posted this week

{
"keywords": "ingénieur",
"location": "Lyon",
"contractType": "CDI",
"daysOld": 7,
"maxResults": 100
}

Remote tech roles across France

{
"keywords": "data scientist",
"maxResults": 100
}

Daily incremental feed

{
"keywords": "développeur web",
"location": "Ile-de-France",
"daysOld": 1,
"maxResults": 500
}

Known Limitations

  • Salary availability: Not all employers publish an exact salary. When they do not, salaryMin/salaryMax are null (never guessed), but HelloWork's estimated salary distribution (estimatedSalary, p10–p90) is provided for many roles.
  • Apply URL: Not exposed in the HTML. Use the url field as the canonical apply link.

Technical Details

  • Source: hellowork.com — France's largest generalist job board
  • Memory: 256 MB
  • Repost storage: KeyValueStore hellowork-job-dedup, 90-day TTL
  • Retry: Automatic retry on network errors, exponential backoff, 3 attempts per request

Additional Services

Need a custom actor, additional filters, scheduled runs, or integration support?.nl](mailto:info@unfencedgroup.nl) — we build on request.


Other scrapers in our Jobs — France collection:


Run it on a schedule

This actor is built for repeat use. Set it to run daily, weekly, or hourly, and the data keeps flowing without you touching it.

  • Schedule runs — open the actor, go to Schedules, and pick a cadence. Each run only charges you for the results it returns.
  • Connect it to your stack — push results straight to Google Sheets, Slack, a webhook, or your database using Apify Integrations. No glue code needed.
  • Pull results via API — every run writes a clean dataset you can fetch with one API call, ready for whatever you build on top of it.

Set it once and it runs on its own.


Rate this actor

If this scraper does its job, a short review on the Reviews tab helps other users find it. Something not working? Open an issue on the Issues tab instead — issues get fixed.


Need a custom scraper?

Unfenced Group builds Apify actors for any website — for free.

If the site you need isn't in our portfolio yet, just ask. We scope, build, and publish it at no cost to you. You only pay for results — we absorb the compute and proxy costs ourselves. Same pay-per-result pricing, same quality, same standards as every actor in this portfolio.

Get in touch: www.unfencedgroup.nl