EmploymentHero Scraper - Jobs, Salaries & Company Profiles avatar

EmploymentHero Scraper - Jobs, Salaries & Company Profiles

Pricing

from $1.20 / 1,000 result saveds

Go to Apify Store
EmploymentHero Scraper - Jobs, Salaries & Company Profiles

EmploymentHero Scraper - Jobs, Salaries & Company Profiles

Scrape Employment Hero's job marketplace: roles with pay ranges, full descriptions, locations and work types; employer profiles with websites and open roles; webinars and events; partner directory and customer case studies. Search with filters, paste links, or target employers directly.

Pricing

from $1.20 / 1,000 result saveds

Rating

0.0

(0)

Developer

Abot API

Abot API

Maintained by Community

Actor stats

1

Bookmarked

2

Total users

1

Monthly active users

5 hours ago

Last modified

Categories

Share

Employment Hero Scraper: Jobs, Employers, Webinars & Partners

Employment Hero Scraper turns the Employment Hero job marketplace into a clean jobs data API. Get every open role with pay ranges, full descriptions, locations and work types, employer profiles with websites and open-role counts, plus webinars and events, the partner directory and customer case studies. Search with filters, target employers directly, paste links, or pull the resource library, then export to JSON, CSV or Excel, or pipe the results straight into your app.

Why This Scraper?

  • Four ways in. Search the marketplace by keyword and filters, scrape employers by slug, paste job or employer links, or pull webinars, partners and case studies from the resource library.
  • Everything on every role. Pay range and rate, employment type and term, experience level, workplace type, city with region and postcode, sector, team, employer identity and the full description come on every row without extra reads.
  • Employer profiles, not just jobs. Employer rows carry the company website, about text, logo and open-role count, so you can map the whole employer landscape.
  • Filters that actually narrow. Country, sector, workplace type, employment type, experience level, posted-within days, city radius and sort are applied by the site's own search, and each one is covered by a test that proves it narrows.
  • Events and partners included. Webinars and on-demand events, the partner directory with services and client size, customer case studies, news and quick demos come from the same run settings.
  • Built for schedules. Incremental mode returns only new and changed roles on recurring runs, and a refused run fails loudly instead of returning an empty dataset.

Use Cases

  • Recruiters and sourcing teams: monitor one or many employer careers pages and get alerted to fresh roles the moment they appear.
  • Job boards and aggregators: backfill a niche board with structured roles across Australia, Canada, the United Kingdom and New Zealand.
  • Market and salary researchers: collect pay ranges by sector, location and experience level at scale.
  • Sales and GTM teams: build employer lists by sector and region with websites and open-role counts for targeting.
  • HR content teams: track webinars, events and partner directory entries for content planning and partnerships research.

Data You Get

Sample shape: values are illustrative placeholders, not from a live record.

FieldExample
kind"job" (also "organisation", "resource")
id"10000001"
title"Sample Role Title"
urlLink to the role on the marketplace
organisationName / organisationSlug"Sample Employer" / "sample-employer"
organisationUrlLink to the employer careers page
employmentType / employmentTerm"Full-time" / "Permanent"
experienceLevel"mid_senior"
workplaceType / remote"hybrid" / true
salaryMin / salaryMax / salaryCurrency70000 / 90000 / "AUD"
salaryRate / salaryDisplay"Annum" / "AUD 70,000 - 90,000 Annum"
payHiddenfalse
location"Sample Suburb, New South Wales 2000"
locationCity / locationRegion / locationPostcode"Sample Suburb" / "New South Wales" / "2000"
countryCode"AU" (also "CA", "GB", "NZ")
sectorName"Hospitality & Catering"
teamName"Kitchen"
postedAt"2026-10-08T22:14:30Z"
companyOverviewEmployer overview text from the role payload
descriptionThe full role description
organisationLogoLink to the employer logo
employer website / about"https://www.sample-employer.example" / about text (with Add employer details)
jobsCount12 open roles on employer rows
type / excerpt / featuredImage"webinar" / summary text / image link on resource rows
changeType / changedFields"NEW" / [] (incremental mode)

How to Use

  1. Pick a mode: search (keywords and filters), organisation (employers), url (paste links) or resources (webinars, partners, case studies).
  2. Fill in the fields for that mode.
  3. Set Max items to control run size and cost, then click Start.
  4. Download the dataset as JSON, CSV or Excel, or read it through the API.

Search with filters:

{
"mode": "search",
"query": "registered nurse",
"countries": ["AU"],
"workplaceTypes": ["remote"],
"datePostedDays": "7",
"sortBy": "date_posted",
"maxItems": 50
}

Scrape employers with their open roles:

{
"mode": "organisation",
"organisationSlugs": ["el-jannah-stores", "4wd-supacentre-pjilq"],
"fetchOrgDetails": true,
"maxItems": 100
}

Pull webinars and events:

{
"mode": "resources",
"resourceTypes": ["webinars", "case_studies"],
"maxItems": 50
}

Paste links (job pages, employer careers pages or both):

{
"mode": "url",
"urls": [
"https://employmenthero.com/jobs/organisations/el-jannah-stores/",
"https://employmenthero.com/jobs/position/sample-employer-sample-role-abc12/"
]
}

Employer slugs come from careers page addresses: employmenthero.com/jobs/organisations/el-jannah-stores/ has the slug el-jannah-stores. Job links copied from the marketplace work as-is.

Run it from your code

Python:

from apify_client import ApifyClient
client = ApifyClient("<YOUR_APIFY_TOKEN>")
run = client.actor("abotapi/employmenthero-jobs-employers-scraper").call(run_input={
"mode": "search", "query": "chef", "countries": ["AU"], "maxItems": 50,
})
for job in client.dataset(run["defaultDatasetId"]).iterate_items():
print(job["title"], job["organisationName"], job["salaryDisplay"])

JavaScript:

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: '<YOUR_APIFY_TOKEN>' });
const run = await client.actor('abotapi/employmenthero-jobs-employers-scraper').call({
mode: 'search', query: 'chef', countries: ['AU'], maxItems: 50,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();

Or connect it to Make, Zapier, n8n, Google Sheets or webhooks from the Integrations tab.

How maxItems shapes a run

Each search, employer or resource type is a unit, and a run walks units in order and stops once maxItems delivered rows is reached. Rows are taken whole per page, so a run can return slightly more than maxItems. To collect everything a search can reach, set maxItems to 0.

Resume and recurring updates

  • Resume (resumeFromRunId) continues one interrupted run: paste its run or dataset ID and the actor skips everything already collected there, so you don't pay twice.
  • Incremental mode (incrementalMode) is for scheduled runs over the same scope. Each record is classified NEW, UPDATED (with changedFields), UNCHANGED (suppressed and not billed unless emitUnchanged is on), REAPPEARED or EXPIRED (only after a run that scanned the whole scope, and only with emitExpired). stateKey names or shares the stored state. Employer logo and attachment links change on every fetch and never mark a record UPDATED. With incremental mode off, output is exactly as before.

Send results into your apps (MCP connectors)

Optionally pipe the scraped results into the apps you already use, via Model Context Protocol (MCP) connectors. This is an extra delivery step after the scrape: the Apify dataset is never changed.

What gets written to the connector: a condensed, human-readable summary of each record, not the full JSON. Each item becomes one entry with a title and its key fields flattened to plain text. The complete record always stays in the Apify dataset.

  1. Authorize a connector once under Apify → Settings → Integrations (Notion, Linear, Airtable, or Apify).
  2. Select it in the "Pipe results into your apps" input field. (If the picker is empty, you haven't authorized a connector yet.)
  3. For Notion, also set notionParentPageUrl to the page where items should be created.

The connection is mediated by Apify's MCP proxy, so this actor never sees your third-party credentials. Leave the field empty to skip.

Input Parameters

ParameterTypeDefaultDescription
modestringsearchsearch, organisation, url, or resources.
querystring(none)Keywords for search mode.
locationsarray[]City names; each becomes a radius search via the site's location index.
locationRadiusKmstring25Radius around each location.
countriesmulti-selectAU, CA, GB, NZCountry filter with all 95 markets the site's search offers (Australia, Canada, United Kingdom, New Zealand by default; smaller markets may hold no roles today). Untick everything to search all countries everywhere.
sectorsarray[]Job sectors to keep.
workplaceTypesarray[]onsite, remote, hybrid.
employmentTypesarray[]full_time, part_time, casual.
experienceLevelsarray[]entry_level through executive.
datePostedDaysstring(none)Only roles posted within 1, 7 or 30 days.
sortBystringrelevancerelevance or date_posted (newest first).
organisationSlugsarray[]Employer slugs or employer page links (organisation mode).
resourceTypesarray["webinars"]webinars, resources, case_studies, partners, news, quick_demos (resources mode).
resourceSearchstring(none)Keyword filter for the resource library.
urlsarraysampleJob or employer page links (url mode).
fetchOrgDetailsbooleantrueRead each employer's careers page for website and about text.
maxItemsinteger20Stop after this many delivered rows (0 = no limit).
maxPagesinteger(none)Cap result pages per search; empty walks as far as maxItems requires.
proxyConfigurationobjectApify ProxyConnection settings.
resumeFromRunIdstring(none)Continue one interrupted run.
incrementalModebooleanfalseReturn only new and changed records on scheduled runs.
stateKeystring(none)Name or share an incremental-mode state.
emitUnchangedbooleanfalseAlso return (and bill) unchanged records.
emitExpiredbooleanfalseAlso return (and bill) expired records.
ignoreFieldsForChangesarray[]Extra fields that never mark a record UPDATED.
mcpConnectorsarray(none)Optional: send a summary of each record to apps you authorized under Integrations.
notionParentPageUrlstring(none)Notion connector only: page under which records are created.
maxNotifyListingsinteger50Cap on items written to each connector per run.

Output Example

Sample shape: values are illustrative placeholders, not from a live record.

{
"kind": "job",
"id": "10000001",
"jobId": "aa000000-0000-4000-8000-000000000001",
"friendlyId": "sample-employer-sample-role-abc12",
"url": "https://employmenthero.com/jobs/position/sample-employer-sample-role-abc12/",
"title": "Sample Role Title",
"organisationName": "Sample Employer",
"organisationSlug": "sample-employer",
"organisationUrl": "https://employmenthero.com/jobs/organisations/sample-employer/",
"employmentType": "Full-time",
"employmentTerm": "Permanent",
"experienceLevel": "mid_senior",
"workplaceType": "hybrid",
"remote": false,
"salaryMin": 70000,
"salaryMax": 90000,
"salaryCurrency": "AUD",
"salaryRate": "Annum",
"salaryDisplay": "AUD 70,000 - 90,000 Annum",
"payHidden": false,
"location": "Sample Suburb, New South Wales 2000",
"locationCity": "Sample Suburb",
"locationRegion": "New South Wales",
"locationPostcode": "2000",
"countryCode": "AU",
"sectorName": "Hospitality & Catering",
"sectorId": 16,
"teamName": "Kitchen",
"postedAt": "2026-10-08T22:14:30Z",
"eoi": false,
"organisationId": "aa000000-0000-4000-8000-000000000002",
"organisationLogo": "https://employmenthero.com/wp-content/uploads/sample-logo.png",
"isDemoJob": false,
"companyOverview": "Sample Employer overview text.",
"description": "<p>The full role description.</p>"
}

Plan Requirement

The default proxy setting works out of the box, and the actor rotates connections automatically when one is refused. For large or frequent runs, the residential proxy group gives more headroom; pick it under Connection. If your Apify plan does not include proxy access, the run fails with a clear message instead of returning an empty result; a paid plan with proxy access is required.

FAQ

How much does it cost?

You pay per record returned, with employer details billed only when you switch them on. The Pricing tab shows the current rates. Use Max items to cap the cost of any run.

This actor collects only publicly available job marketplace data: roles employers have chosen to publish, employer careers pages, and the site's public resource library. You are responsible for how you use it: follow Employment Hero's terms and the laws that apply to you, and get legal advice if you plan commercial redistribution.

Can I get only new or changed roles on a schedule?

Yes. Schedule the actor from the Schedules tab and turn on Incremental mode. Each run then returns only new and updated records, and unchanged ones are not billed.

Why did an employer return no rows?

Check the slug: it is the part after /jobs/organisations/ in the employer's careers page address. An employer with no open roles still returns its profile row, with jobsCount at zero.

Why did my run fail instead of returning an empty dataset?

If the site refuses every request, the run stops with a clear message so "no roles today" is never confused with "nothing could be read". Run it again in a few minutes. If only part of the search could be read, you still get what was found.

Can I use it with AI agents or MCP?

Yes. Call it from any Apify integration or MCP client, and use the connector field to push results into Notion, Linear or Airtable.

🔗 More scrapers you might like

Pair this actor with these related scrapers from the same team:

💼 IrishJobs.ie Scraper
Scrape job listings from IrishJobs.ie by keyword, location, job type, salary, recency, or...
💼 HH.ru Jobs Scraper
From $1/1K. Scrape HH.ru job listings with 50+ structured fields. Search by filters or...
💼 StepStone.de
Scrape StepStone.de jobs by keyword, location, filters, or URL. Extract 35+ fields...
💼 Totaljobs Scraper
Scrape UK job listings from Totaljobs.com by keyword, location, filters, or URL. Extract...
💼 Dice.com Scraper
Scrape tech job listings from Dice.com by keyword, filters, or URL. Extract job titles...
💼 Monster Jobs Scraper
Scrape Monster.com job listings from search and direct job URLs. Extract full...

👉 Browse all abotapi scrapers

💬 Support & custom scrapers

  • 🐞 Found a bug or a missing field? Open a ticket on the Issues tab. We usually reply within hours.
  • 🛠️ Need another site, extra fields or a private build? Email contact@abotapi.com or message Telegram @abotapi.
  • ⭐ Enjoying it? A quick review on the actor page helps other users find it.