SEEK Jobs Scraper + Hiring Company Leads (AU & NZ) avatar

SEEK Jobs Scraper + Hiring Company Leads (AU & NZ)

Pricing

from $1.00 / 1,000 jobs

Go to Apify Store
SEEK Jobs Scraper + Hiring Company Leads (AU & NZ)

SEEK Jobs Scraper + Hiring Company Leads (AU & NZ)

Search SEEK Australia and New Zealand by keyword, location and filters. One row per job with parsed salaries, plus one row per hiring company with website, emails and phone numbers.

Pricing

from $1.00 / 1,000 jobs

Rating

0.0

(0)

Developer

Snappy

Snappy

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Categories

Share

Search SEEK Australia (seek.com.au) and SEEK New Zealand (seek.co.nz) the same way you would on the website, and get every matching job as a clean table. Salaries are split into minimum, maximum and pay period, and converted to an annual figure so you can compare hourly, daily and yearly ads.

It can also give you one row per hiring company: how many jobs they have open, what they're hiring for and where, their website, and (if you turn it on) the emails, phone numbers and social links from their website and job ads. Recruitment agencies are flagged, or you can leave them out.

Put it on a schedule with Only new jobs since my last run and each run returns only jobs you haven't seen before.

Why this one

  • Hiring companies as leads, not just job rows. Twenty ads from the same company become one row with their website, emails, phone numbers and socials. In a real test (payroll jobs in Melbourne, 17 Oct 2026), 14 of 19 companies came back with an email or phone number.
  • Contact details from the company's own website. Not only what's written in the ad: the tool finds their site (SEEK profile, the ad, or their name) and checks the homepage and contact page.
  • Leave out recruitment agencies so your list is companies hiring for themselves.
  • Pay once per lead. "Only companies I haven't had before" skips companies an earlier run already gave you.
  • Salaries you can compare. Hourly, daily and yearly ads converted to an annual figure, with super noted.
  • $1 per 1,000 jobs. No charge for empty searches or status rows.

Quick start: a lead list in one run

Paste this into the Input tab (JSON view) and click Start. Change the search to your own market.

{
"searches": ["payroll officer | All Melbourne VIC"],
"output": "companies",
"findCompanyContacts": true,
"skipRecruiters": true,
"datePosted": "14",
"maxJobsPerSearch": 200
}

You get one row per company hiring a payroll officer in Melbourne in the last two weeks, with their contact details. Turn on Only companies I haven't had before and schedule it weekly to get only new companies each time.

What you can use it for

WhoWhat for
B2B sales teamsA company that's hiring is growing or changing. Find businesses hiring for roles your product supports (for example payroll, IT support, fleet drivers) and contact them while it's relevant
Recruitment agenciesFind employers advertising directly, without an agency, and offer to help. Turn on "Leave out recruitment agencies"
Job boards and aggregatorsA daily feed of new jobs in your niche or region
Salary researchAdvertised salaries by role, classification and location, all converted to annual figures
Market and workforce researchHiring demand by classification, location, work type and remote/hybrid

How to use it

  1. Click Try for free.
  2. In Searches, add one search per line: the keywords, then a | and a location. For example:
    • accountant | Melbourne
    • electrician | All Brisbane QLD
    • registered nurse (no location means all of Australia)
    • Or paste the address of a SEEK results page. Its keywords, location and filters are used as they are.
  3. Choose What to return: Jobs, Jobs and hiring companies, or Hiring companies only.
  4. Optionally set filters: listed in the last N days, classification, work type, remote or hybrid, minimum salary.
  5. Click Start.

For a daily feed, go to Schedules, use the same input, and tick Only new jobs since my last run.

Input example

{
"searches": [
"payroll officer | All Melbourne VIC",
"https://au.seek.com/it-support-jobs/in-All-Sydney-NSW?daterange=7"
],
"output": "jobsAndCompanies",
"findCompanyContacts": true,
"skipRecruiters": true,
"maxJobsPerSearch": 200,
"datePosted": "7",
"workTypes": ["fulltime"]
}

What data you get

The Output has four tabs: Jobs, Salaries, Hiring companies and Run status.

Job rows

FieldWhat it isExample
jobId, title, jobUrlSEEK job ID, title and link94423725, Accounts Payable Officer
companyName, advertiserNameCompany name, and the advertiser name SEEK shows (they can differ)YWCA Australia
isRecruitmentAgencytrue if the advertiser looks like a recruitment or labour-hire agencyfalse
isPrivateAdvertisertrue when the ad says "Private Advertiser"false
location, suburb, state, postcode, areaWhere the job isSurry Hills, Sydney NSW, NSW, 2010, All Sydney NSW
workType, workArrangementFull time, part time, contract or casual. Remote/hybrid when the advertiser set itFull time
classification, subClassification, allClassificationsSEEK categoriesAccounting, Accounts Payable
salaryTextSalary exactly as advertised$70,000 + super + salary up to $18,550!
salaryMin, salaryMax, salaryPeriodParsed numbers and period (hour, day, week, month, year)70000, 70000, year
salaryAnnualMin, salaryAnnualMaxConverted to a yearly figure70000
superannuationplus super, included, or emptyplus super
listedAt, daysAgoWhen it was listed2026-09-04T07:21:09.000Z, 1
teaser, bulletPointsThe short description and selling points from the search results
isPromoted, logoUrlPaid placement, and the advertiser logo
seekCompanyProfileUrlThe company's SEEK profile page, when it has onehttps://au.seek.com/companies/ywca-australia-434885
isNewOnly with "Only new jobs since my last run"true

With Include full job descriptions you also get description (the full ad as plain text), phoneNumber (if the advertiser listed one), adEmails, adPhones and adWebsites (contact details written in the ad), applyType (quick apply on SEEK or external), isVerifiedAdvertiser and expiresAt.

The salary conversion uses 38 hours × 52 weeks for hourly rates, 260 working days for daily rates, 52 for weekly and 12 for monthly. When an ad doesn't say the period, it's worked out from the amount and salaryPeriodGuessed is true.

Hiring company rows

One row per company across all your searches (jobs from "Private Advertiser" can't be linked to a company, so they're left out).

FieldWhat it is
companyNameThe company
openJobs, jobTitles, locations, states, classifications, workTypesWhat they're hiring for in this run's results
newestListingDate, salaryAnnualRangeTheir most recent ad and the range of advertised salaries
isRecruitmentAgencytrue if any of their ads look like an agency's
website, websiteSourceTheir website, and where it came from: their SEEK company profile, their SEEK company page, a web address in the job ad, the domain of an email in the ad, or (with contact finding on) an address made from the company name whose homepage shows that name
industry, companySize, seekRating, seekReviewCountFrom their SEEK company profile, when they have one
emails, phones, socials, contactPageUrlWith Find company emails and phone numbers on: found on their homepage and contact page, plus any in their job ads. The company's own-domain emails come first
jobAdEmails, jobAdPhonesThe contact details that were written in their job ads (often the hiring manager or recruiter)
contactStatusfound, no website found, none found on website, website unreachable (...), or not requested
seekCompanyProfileUrl, jobUrlsLinks back to SEEK

Example from a real run (search payroll officer | All Melbourne VIC, 17 Oct 2026, trimmed):

{
"type": "company",
"companyName": "Liquip Victoria",
"website": "http://www.liquipvictoria.com.au/",
"websiteSource": "SEEK company profile",
"emails": ["sales@liquipvictoria.com.au"],
"phones": ["(03) 9311 7822"],
"socials": { "facebook": "https://facebook.com/liquipvictoria", "linkedin": "https://linkedin.com/company/6375544" },
"jobTitles": ["Finance Officer"],
"contactStatus": "found",
"openJobs": 1,
"isRecruitmentAgency": false,
"seekRating": 2.5
}

In that run, 14 of the 19 hiring companies came back with an email or phone number.

Run status

One free row per search saying what happened, for example: "Delivered 300 jobs. SEEK shows 1,433 for this search. Stopped at your limit of 300." Searches with no results, links that can't be used, and searches SEEK refused each get their own row, and you aren't charged for jobs from them. There's one more row for the hiring companies. A run summary is saved as OUTPUT in the key-value store.

Pricing

You pay per result, nothing for empty searches or status rows.

EventPrice
Job$1.00 per 1,000 jobs
Full job description (only if you turn it on)$0.50 per 1,000 jobs
Hiring company row$0.002 per company
Contact details found for a company (only if you turn it on, and only when at least one email or phone number is found)$0.008 per company

So a company lead with contact details costs $0.01, and one where nothing was found costs $0.002. Some real examples:

RunCost
1,000 jobs$1.00
1,000 jobs with full descriptions$1.50
20 jobs plus their 19 hiring companies, 14 with contacts (the test above)about $0.17
100 hiring companies only, with contacts found for 70$0.76
If you set a maximum cost per run, the run stops cleanly at that limit and the status row says so.

Good to know

  • SEEK lists at most 500 jobs per search. If you ask for more and haven't picked a classification, the search is split by classification automatically. If you have picked one, narrow the search with a location or date filter, or split it into several lines.
  • Locations work like the SEEK search box. "All Sydney NSW" covers the whole Sydney region, while "Sydney NSW" on its own means the Sydney CBD and the area around it.
  • Recruitment agency detection is based on the advertiser's name (agency brands and words like "Recruitment", "Staffing" and "Labour Hire"). SEEK doesn't label agencies, so a few will slip through either way.
  • Only new jobs remembers job IDs per search and filter combination, for about four months. Changing a search or its filters starts fresh. Only companies I haven't had before works the same way for companies, so a daily lead feed doesn't charge you twice for the same company.
  • Contact details come only from public pages: the company's own website and the job ad. Nothing behind a login is accessed. Use them in line with Australia's Spam Act and privacy rules (or New Zealand's), which apply to how you contact people.
  • This tool isn't affiliated with or endorsed by SEEK.

Getting the data out

Download results as Excel, CSV or JSON from the Output tab, or send them on automatically: Google Sheets, Slack, Zapier, Make and webhooks are all in the Integrations tab, and every run is available through the Apify API.

Questions or problems

Open an issue on the Issues tab and include the run link. I reply within one business day.