HelloWork.fr Job Scraper avatar

HelloWork.fr Job Scraper

Pricing

from $0.70 / 1,000 hellowork.fr job scrapers

Go to Apify Store
HelloWork.fr Job Scraper

HelloWork.fr Job Scraper

Collect HelloWork job cards from category/keyword pages. Return title, company, location, contract type, and salary or remote fields. Run with searchQuery; no login. Pricing: $0.0007 per dataset item plus $0.00005 per actor-start event on Free plan.

Pricing

from $0.70 / 1,000 hellowork.fr job scrapers

Rating

0.0

(0)

Developer

Vitalii Bondarev

Vitalii Bondarev

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Categories

Features

Limited permissions

Share

Use your Apify account to extract public job cards from one HelloWork category or keyword listing page; no HelloWork login is requested. Each run reads only the first listing page that returns cards (about 20 in the fixture), so maxResults cannot exceed the cards on that page. On the Free plan, you pay $0.0007 per scraped dataset item and $0.00005 per apify-actor-start event.

  • Collect category-specific listings for recruiting research
  • Filter cards by location or contract type
  • Export listing datasets as JSON or CSV
  • Read card data only, with no job-detail page requests

What you get

The Actor reads public listing cards and does not request job-detail pages. Each dataset item contains string fields from the card or from its listing path. salary and remoteOption are omitted when the card does not show them.

FieldTypeDescriptionAvailability
idstringHelloWork listing identifier from the public job-card URL.Always present
titlestringJob title shown on the listing card.Always present
companystringEmployer name shown on the listing card.Always present
locationstringLocation shown on the listing card.Always present
contractTypestringContract type shown on the listing card.Always present
salarystringSalary text displayed on the listing card.Omitted when not shown
remoteOptionstringRemote-work tag displayed on the listing card.Omitted when not shown
urlstringRelative listing path copied from the card href.Always present
canonicalUrlstringAbsolute listing URL on https://www.hellowork.com.Always present

Publication dates and repost status are not emitted because they are not present in the public category-card data used by this Actor.

Sample output

{
"id": "84457176",
"title": "Chef de Projets Réseau et Téléphonie H/F",
"company": "Novalyo",
"location": "Aix-en-Provence - 13",
"contractType": "CDI",
"url": "/fr-fr/emplois/84457176.html",
"canonicalUrl": "https://www.hellowork.com/fr-fr/emplois/84457176.html",
"salary": "35 000 - 45 000 € / an"
}

Pricing

The Actor uses per-event billing. The listed charge events are:

Charge eventWhat it representsFree-plan price
apify-actor-startCharged once per GB of run memory, with a minimum of one event.$0.00005 per event on the Free plan
apify-default-dataset-itemOne scraped result with all fields.$0.0007 per event on the Free plan

Free plan examples for dataset items: 1,000 x $0.0007 = $0.70 and 10,000 x $0.0007 = $7.00 in dataset-item charges, plus the run's start events at $0.00005 per event on the Free plan. One run reads one page, so these totals are reached over many runs. To see how many start events a run incurs, run once with maxResults set to 1 and read the charged events in the run's charges.

Apify's Free plan includes $5 of monthly platform usage credit. You pay only for the events listed above. This Actor does not use the Pay per event + usage option, so the platform usage of your runs (compute, proxy traffic and storage) is not billed to you separately.

How to use

  1. Enter a public HelloWork category or keyword in searchQuery.
  2. Add an optional location filter.
  3. Choose an optional contractType value.
  4. Set maxResults (at most the cards on the first page that returns cards).
  5. Keep the default proxyConfiguration (Apify residential proxy) unless you need to change it.
  6. Run the Actor and inspect the dataset.
  7. Repeat the run with Apify Schedules if you need fresh listings.

Input example:

{
"searchQuery": "informatique",
"contractType": "",
"maxResults": 20
}

Export the dataset as JSON or CSV, or read it through the Apify dataset API.

Input parameters

ParameterWhat it doesDefault
searchQueryRequired category or keyword used to build the HelloWork listing routes.No schema default; the runtime fallback is informatique when the value is missing or empty
locationOptional text filter matched against the location shown on each job card.Empty string; no location filter
contractTypeOptional filter matching the visible contract type. Accepted values are "", CDI, CDD, Interim, Stage, Alternance, Freelance, and Travail_temp.Empty string; no contract filter
maxResultsMaximum number of job records pushed to the dataset. It must be at least 1 (schema minimum); a value below 1 ends the run with no records. Only one listing page is read, so the output cannot exceed the cards on that page.50 (an upper bound on the count)
proxyConfigurationApify proxy settings object. Omitting the field, or setting useApifyProxy to false, sends requests without a proxy.{"useApifyProxy": true, "apifyProxyGroups": ["RESIDENTIAL"]} (Apify residential proxy)

Location matching checks whether the normalized filter text appears in the normalized visible location. Contract matching compares the normalized filter with the normalized contract text shown on the card, and the two must be equal. Interim is remapped to travailtemp before the comparison, and Travail_temp normalizes to the same travailtemp, so these two values behave identically and match only cards whose normalized contract text equals travailtemp. Filters apply to the cards of that single page, so a filter can leave fewer records than maxResults.

Limits and edge cases

ConditionWhat you seeWhat to do
The category route returns no parsed cards.The Actor continues by trying the keyword route for the same searchQuery.Check the query spelling or try another public HelloWork category or keyword.
A listing request fails, including a request reaching the 40-second timeout.The failure is logged and the Actor continues to the next listing route. If no route produces records, the dataset remains empty.Check the run log and try the run again.
HelloWork returns a detected "robot or human" or CAPTCHA access challenge.The route raises an access error, which is logged; the Actor proceeds to the next listing route. If no route produces records, no items are pushed.Review the run result and try again if your access is permitted.
The listing routes produce no cards with the required card structure.The Actor logs that no job cards were found and pushes no dataset items.Use a public category or keyword route that returns visible HelloWork job cards.
A location or contract filter excludes every parsed card.The run can finish with zero pushed records even when cards were found.Loosen or remove the filters and run again.
A card does not contain the required listing path, title, employer, location, or contract data, or its href does not match the supported HelloWork listing path format.That card is skipped rather than emitted as an incomplete dataset item.Try another listing query if the resulting dataset is empty.

FAQ

How much does it cost to scrape HelloWork?

See Pricing for the per-event Free-plan prices and billing details.

Why did my run return no records?

The category route and then the keyword route may have produced no parseable cards, an access challenge may have affected both routes, or your location and contract filters may have excluded every parsed card. Check the run log, try a broader public query, and remove optional filters to test the result.

Why are salary or remote-work fields missing?

Those properties are emitted only when the information is visibly present on the listing card. The Actor does not request job-detail pages and does not invent absent values.

The Actor reads public data from HelloWork category and keyword listing pages, but source terms and applicable law depend on your use case. The HelloWork homepage states that automated extraction requires written authorization; use this Actor only when your use is covered by written permission. This is not a legal guarantee.