SEEK Job Scraper — Australia & New Zealand avatar

SEEK Job Scraper — Australia & New Zealand

Pricing

from $3.00 / 1,000 validated seek job returneds

Go to Apify Store
SEEK Job Scraper — Australia & New Zealand

SEEK Job Scraper — Australia & New Zealand

Search public SEEK Australia and New Zealand jobs. Returns normalized job listings with company, location, salary text, work type, descriptions, and source URLs for recruitment and market research.

Pricing

from $3.00 / 1,000 validated seek job returneds

Rating

0.0

(0)

Developer

Khadin Akbar

Khadin Akbar

Maintained by Community

Actor stats

0

Bookmarked

3

Total users

2

Monthly active users

6 days ago

Last modified

Share

What is SEEK Job Scraper — Australia & New Zealand?

SEEK Job Scraper is an Apify Actor for recruiters, job-market analysts, and HR teams who need public SEEK Australia and New Zealand job listings as structured data. Search by keyword and location, or paste a filtered SEEK results page, and get one validated record per job with title, company, location, salary text, classification, work type, listing age, the full public description, and the job URL. It is usable through Apify MCP, so an AI agent can pull current SEEK roles and summarise them on request.

Best fit and connected workflows

This Actor fits well when you want to:

  • monitor new roles for a skill or job title in one Australian or New Zealand city
  • track which companies are hiring in a classification such as healthcare, IT, or construction
  • compare advertised salary ranges across locations
  • feed fresh SEEK listings into a CRM, spreadsheet, job board, or alerting workflow
  • give an AI agent a bounded, structured view of today's SEEK market

Every record keeps the SEEK job ID and source URL, so scheduled runs can be de-duplicated and every row can be traced back to the original listing.

Practical scenario

Aroha runs a small recruitment agency in Auckland that places practice staff in medical clinics. Each morning she runs the Actor with keywords set to medical receptionist, country set to NZ, location set to Auckland, and sortBy set to date. The dataset lists every new role with the clinic name, suburb, pay text, and how long ago it was listed. She filters to roles listed in the last day, reads the descriptions for shift patterns, and contacts the clinics that match the candidates she already represents.

Input fields

FieldUse it for
keywordsRole or skill search text, such as software engineer or data analyst.
locationA SEEK place name, such as Melbourne VIC or Auckland.
countryAU for seek.com.au or NZ for seek.co.nz.
searchUrlsPublic SEEK results pages you already filtered on the site.
sortByrelevance or date for keyword searches.
maxResultsCap on validated job records written, from 1 to 200.
includeDetailsOpen each job page for the full description and detail fields.
proxyCountryResidential proxy country for the browser session: AU or NZ.

Focused JSON input example

{
"keywords": "medical receptionist",
"location": "Auckland",
"country": "NZ",
"sortBy": "date",
"maxResults": 25,
"includeDetails": true,
"proxyCountry": "NZ"
}

Output fields

FieldMeaning
jobIdSEEK job identifier, stable across runs.
title, company, locationRole title, advertiser, and listed location.
salaryTextPay text exactly as the listing shows it.
listedAtTextListing age as SEEK displays it, such as "2h ago".
teaserThe short summary from the search card.
classification, subClassificationSEEK job category and sub-category.
workTypeFull time, part time, contract, or casual when shown.
descriptionThe full public job description when includeDetails is on.
jobUrl, applyUrl, sourceUrlLinks to the listing and its apply page.
country, scrapedAtSEEK site searched and collection time.

Illustrative dataset record

{
"jobId": "95044187",
"title": "Medical Receptionist",
"company": "Harbourview Family Clinic",
"location": "Auckland CBD, Auckland",
"salaryText": "$30 – $34 per hour",
"listedAtText": "2h ago",
"teaser": "Evening shift receptionist for a busy family practice.",
"classification": "Medical Administration (Healthcare & Medical)",
"subClassification": "Medical Administration",
"workType": "Part time",
"jobUrl": "https://www.seek.co.nz/job/95044187",
"sourceUrl": "https://www.seek.co.nz/job/95044187",
"description": "About the role: greet patients, manage appointments and phone enquiries, and process payments during evening clinic hours.",
"applyUrl": "https://www.seek.co.nz/job/95044187/apply",
"country": "NZ",
"scrapedAt": "2026-10-01T03:12:44Z"
}

The values above are illustrative; real rows contain the public listing as published on SEEK.

How it works

The Actor builds a SEEK search from your keywords, location, country, and sort order, or opens the SEEK results pages you supply. It reads the job cards in a browser session on a residential proxy in the selected country and paginates until maxResults validated jobs are collected. With includeDetails on, it opens each job page for the full description and apply link. Each row is validated before it is written, and duplicate job IDs are skipped.

The default dataset holds the job rows. The key-value store holds OUTPUT and RUN_SUMMARY records with the run outcome, such as COMPLETE, PARTIAL, or VALID_EMPTY.

Pricing

This Actor uses Pay per event plus Apify platform usage.

  • apify-actor-start: charged when the run starts.
  • job-found: charged for each validated SEEK job written to the dataset.

maxResults caps the number of job events in a run, and turning includeDetails off makes runs faster when you only need search-card fields. Check the live Pricing tab for current event prices.

Use with AI agents (MCP)

The Actor is available through Apify MCP as khadinakbar/seek-job-scraper. A typical agent request:

Find the 20 newest data analyst jobs in Sydney on SEEK, then group them by company and tell me which ones list a salary. Read the dataset for job rows and the OUTPUT record for the run outcome.

The agent can use salaryText and listedAtText for filtering, classification for grouping, and jobUrl plus scrapedAt as provenance. maxResults keeps the result size and cost bounded.

Run with the Apify API

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor('khadinakbar/seek-job-scraper').call({
keywords: 'data analyst',
location: 'Sydney NSW',
country: 'AU',
sortBy: 'date',
maxResults: 20,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
for (const job of items) {
console.log(job.title, job.company, job.salaryText);
}
from apify_client import ApifyClient
import os
client = ApifyClient(os.environ["APIFY_TOKEN"])
run = client.actor("khadinakbar/seek-job-scraper").call(
run_input={"searchUrls": ["https://www.seek.com.au/jobs?keywords=nurse&where=Brisbane"], "maxResults": 30}
)
for job in client.dataset(run["defaultDatasetId"]).iterate_items():
print(job["title"], job["location"], job["jobUrl"])

Best results and outcome guidance

Start with a specific role and city and a modest maxResults. Use searchUrls when you need SEEK filters the input fields do not cover, such as salary bands or work type; set the filters on the SEEK site and paste the results URL. Match proxyCountry to the SEEK site you search. For daily monitoring, sort by date and de-duplicate on jobId. A PARTIAL outcome means the rows already written are valid and the run summary shows where collection stopped.

Continue the workflow

Design note

I designed the Actor to keep salaryText and listedAtText exactly as SEEK shows them instead of guessing numeric ranges or dates. SEEK advertisers write pay in many formats, and keeping the original text means nothing is lost; you can parse it the way your analysis needs.

FAQ

Does it cover New Zealand?

Yes. Set country to NZ (and proxyCountry to NZ) to search seek.co.nz.

Can I reuse filters I set on the SEEK website?

Yes. Paste the filtered SEEK results URL into searchUrls.

How do I get only new jobs?

Set sortBy to date, run on a schedule, and de-duplicate on jobId.

Where is the run outcome stored?

In the OUTPUT and RUN_SUMMARY records of the run's key-value store.

Responsible use

Use this Actor for publicly visible SEEK job listings. Respect applicable law and SEEK's site terms, keep collection to what your workflow needs, and cite the job URL and collection time when you share results.