SEEK Jobs Scraper: Australia & New Zealand Jobs + Salary Alerts avatar

SEEK Jobs Scraper: Australia & New Zealand Jobs + Salary Alerts

Pricing

Pay per event

Go to Apify Store
SEEK Jobs Scraper: Australia & New Zealand Jobs + Salary Alerts

SEEK Jobs Scraper: Australia & New Zealand Jobs + Salary Alerts

Scrape SEEK.com.au and SEEK.co.nz job listings by keyword and location: title, company, salary (parsed to min/max/yearly), work type, remote/hybrid, classification, posting date and URL. Job alerts mode returns only new jobs. No login. $1 per 1,000 jobs.

Pricing

Pay per event

Rating

0.0

(0)

Developer

DataDesk

DataDesk

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Security

Limited permissions

Share

Scrape SEEK.com.au and SEEK.co.nz job listings by keyword and location: title, company, salary (parsed to min/max/yearly), work type, remote/hybrid, classification, posting date and URL. Job alerts mode returns only new jobs. No login. $1 per 1,000 jobs.

Scrape jobs from SEEK (seek.com.au and seek.co.nz) in seconds: no login, no browser, no proxy setup. Built for recruiters, staffing agencies, salary analysts and job seekers in Australia and New Zealand.

What you can do with it

  • Daily job alerts for a role and city (e.g. electricians in Brisbane)
  • Salary benchmarking by role, state and work type
  • Lead lists of companies hiring right now in AU/NZ
  • Job market dashboards in Google Sheets, Excel or BI tools

Why this scraper

  • Clean, normalized salary: the text as shown plus salaryMin, salaryMax, salaryCurrency, salaryPeriod and a yearly equivalent (salaryYearlyMin / salaryYearlyMax) so you can sort and compare.
  • Job alerts mode: turn on Only new jobs, schedule the Actor daily, and you get (and pay for) only jobs you have not received before.
  • Fast and cheap: reads the site's own search data instead of rendering pages. A default run finishes in a few seconds.
  • Pay only for results: $1.00 per 1,000 jobs + $0.005 per run. No results, no job charges. Your spending limit is respected exactly: we never deliver rows you did not pay for, and never charge for rows we did not deliver.
  • Deduplicated across keywords and pages.

Job alerts (only new jobs)

  1. Set your search and turn on Job alerts mode: only new jobs.
  2. Give it an Alert name (one per saved search).
  3. Create a Schedule (e.g. every morning) and connect an integration (email, Slack, Google Sheets, Make, Zapier, webhook). Each run returns only jobs posted since the previous run. Runs with no new jobs cost almost nothing.

Sources and coverage

SourceCoverageData
SEEKAustralia (seek.com.au)title, advertiser, location, salary, work type, classification, teaser, bullet points
SEEKNew Zealand (seek.co.nz)same fields

How to use it

  1. Click Try for free (or Start): the prefilled input runs a quick test.
  2. Fill in the input fields (see the examples below). Every field is optional.
  3. Click Start and wait a few seconds to minutes, depending on how many jobs you ask for.
  4. Open the Output tab and export as JSON, CSV, Excel, XML or HTML, or read the results via API.

Input examples

Nurses in Australia (default):

{"keywords": ["nurse"], "countries": ["au"], "maxJobsPerSearch": 20}

Sydney, full-time, last 7 days:

{"keywords": ["accountant"], "countries": ["au"], "location": "Sydney NSW", "workType": "full-time", "postedWithinDays": 7}

AU + NZ contract:

{"keywords": ["electrician"], "countries": ["au", "nz"], "workType": "contract"}

Daily alerts:

{"keywords": ["data analyst"], "onlyNewJobs": true, "alertsKey": "seek-da"}

Input fields

FieldTypeDescription
keywordsarrayJob titles or skills, e.g. nurse, data analyst, electrician. One search per keyword.
countriesarraySEEK sites to search: au (seek.com.au) and/or nz (seek.co.nz).
locationstringSuburb, city or state, e.g. "Sydney NSW", "Melbourne", "Auckland". Empty = whole country.
workTypestringOptional: only full-time, part-time, contract or casual jobs. Empty = all work types.
maxJobsPerSearchintegerCap per keyword (and per country). You only pay for jobs saved.
postedWithinDaysintegerOnly jobs posted in the last N days. 0 = any date.
onlyNewJobsbooleanRemember jobs from earlier runs and save only jobs you have not received before. Schedule the Actor daily to get a job alert feed. You pay only for new jobs.
alertsKeystringSeparate memory per alert (e.g. "sydney-nurses"). Use a different name for each saved search.

Output example

One row per item. Values below are example values from a real test run (long text shortened):

{
"source": "seek",
"country": "AU",
"jobId": "95698394",
"title": "Enrolled Nurse Advanced Skill",
"company": "Darling Downs Hospital & Health Service",
"advertiserId": "32285447",
"location": "Toowoomba, Toowoomba & Darling Downs QLD",
"locations": ["Toowoomba, Toowoomba & Darling Downs QLD"],
"classification": "Healthcare & Medical",
"subClassification": "Nursing - General Medical & Surgical",
"workType": "Full time",
"workArrangement": "On-site",
"isRemote": false,
"salary": "$82,578 - $87,626 per annum",
"salaryMin": 82578.0,
"salaryMax": 87626.0,
"salaryCurrency": "AUD",
"salaryPeriod": "year"
"…": "more fields below"
}

Fields a source does not publish are null.

Output fields

FieldDescription
sourceSite the job came from
countryCountry code
jobIdJob ID on the source site
titleJob title
companyEmployer name
advertiserIdAdvertiser / employer ID on the source site
locationLocation as shown
locationsAll job locations (with details on)
classificationJob category on the board
subClassificationJob sub-category on the board
workTypeWork type (full-time, part-time, contract, casual)
workArrangementWork arrangement (on-site, hybrid, remote)
isRemoteTrue for remote jobs
salarySalary as shown
salaryMinMinimum salary (number)
salaryMaxMaximum salary (number)
salaryCurrencyISO currency code
salaryPeriodhour, day, week, month or year
salaryYearlyMinMinimum salary converted to a yearly amount
salaryYearlyMaxMaximum salary converted to a yearly amount
teaserShort teaser text shown in search results
bulletPointsHighlight bullet points from the listing
postedAtPosting date (ISO 8601 UTC)
postedTextPosting date text as shown on the site
isFeaturedTrue if the listing is a featured/premium ad
urlJob page URL
keywordSearch keyword that found the job
scrapedAtWhen the job was scraped (ISO 8601 UTC)
isNewTrue when job alerts mode is on (job not seen in earlier runs)

The Output tab has a Jobs view.

Pricing

Pay-per-event: you pay only for results delivered, no monthly fee.

  • Job (job): $1.00 per 1,000 ($0.001 each)
  • Actor start: $0.005 per run
RunJobsCost
Quick test20$0.025
Small run100$0.105
Regular run1,000$1.005
Large run10,000$10.005

Rows that are not delivered are never charged. Apify's free plan includes monthly credit, and you can set a maximum cost per run in the run options.

Integrations and API

  • Export results as JSON, CSV, Excel, XML or HTML from the Output tab.
  • Schedule runs (daily, hourly) and send results to Google Sheets, Slack, Zapier, Make, n8n, Airbyte or webhooks.
  • Call it from code with the Apify API:
curl -X POST "https://api.apify.com/v2/acts/datadesk-io~seek-jobs-scraper/run-sync-get-dataset-items?token=YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{"keywords": ["nurse"], "countries": ["au"], "maxJobsPerSearch": 20}'
from apify_client import ApifyClient
client = ApifyClient("YOUR_TOKEN")
run = client.actor("datadesk-io/seek-jobs-scraper").call(run_input={'keywords': ['nurse'], 'countries': ['au'], 'maxJobsPerSearch': 20})
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(item.get('title'), item.get('company'), item.get('url'))

FAQ

Do I need an account or cookies? No. The Actor only reads public job listings.

Does it scrape personal data? No. It returns job ads and company names only, no candidate or recruiter profiles. Use the data in line with the site's terms and applicable laws (GDPR etc.).

Can I get full job descriptions? Rows include the summary/snippet the search shows. Open url for the full ad.

Something broke or you need a field? Open an issue on the Issues tab; we usually answer within a day.

How fresh is the data? Live: every run reads the source at that moment. Schedule it to keep a dataset up to date.

Why did I get fewer jobs than the maximum? The source had fewer matching jobs, or duplicates were removed. You only pay for jobs delivered.

Not affiliated with or endorsed by the job board. Trademarks belong to their owners.

Limitations

  • Salary only when the advertiser publishes it.
  • Full description not included (teaser + bullets are).
  • Up to the max per keyword × country.

Support

Found a bug, or need a new field, source or filter? Open an issue in the Issues tab; we usually answer within 24 hours. Custom data work: datadesk.io@proton.me.