SEEK Jobs Scraper | Australia & New Zealand Job Listings
Pricing
from $1.00 / 1,000 jobs
SEEK Jobs Scraper | Australia & New Zealand Job Listings
Scrape SEEK Australia and New Zealand job listings by keyword and location: salary, work type, classification, posting date and link, with optional descriptions and SEEK filters. Export JSON, CSV or Excel. $1 per 1,000 jobs.
Pricing
from $1.00 / 1,000 jobs
Rating
0.0
(0)
Developer
Philip Kirkbride
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
13 hours ago
Last modified
Categories
Features
Share
SEEK Jobs Scraper
Collect job listings from SEEK Australia and SEEK New Zealand into one downloadable table. Each row is one job with its title, company, location, salary as advertised, work type, classification, posting date and link, plus an optional short description excerpt.
It suits recruiters and sourcing teams, job boards and alert services, and analysts tracking hiring in Australia or New Zealand. No SEEK account is needed.
What you get
- One row per job, deduplicated by SEEK job ID.
- Salary text exactly as advertised, plus numeric minimum and maximum when the ad gives a clear amount.
- Company, location, work type (full time, part time, contract), classification and posting date.
- Country tag (
AUorNZ) and the public job link. - Optional descriptions of up to 600 characters.
- Australian searches can use SEEK's own filters: classification, work arrangement, salary range, date range and sort order.
How to run it
- Enter keywords, for example
software engineerorregistered nurse. - Leave the location empty to search the whole country, or name a suburb, city, state or region.
- Pick the country (
AUorNZ) and how many jobs you want (default 50).
The Console form is filled in with software engineer, all of Australia, 50 jobs. That run takes a few seconds and costs about $0.055 (a $0.005 start plus 50 jobs at $0.001).
{"keywords": "software engineer", "country": "AU", "maxItems": 50, "includeDetails": false}
With descriptions and an Australian filter:
{"keywords": "data analyst", "location": "Melbourne VIC", "country": "AU", "maxItems": 100, "includeDetails": true, "daterange": "7"}
Cost
You pay $0.005 when the run starts and $0.001 for each job saved to the dataset. Descriptions carry no separate charge.
| Run | Jobs | Cost |
|---|---|---|
| Console default | 50 | $0.055 |
| One keyword, 200 jobs | 200 | $0.205 |
| Daily alert, 50 jobs | 50 | $0.055 per run |
Only delivered rows are charged, so a search with no matches costs just the start fee.
Input
| Field | Type | Default | What it does |
|---|---|---|---|
keywords | text | — | Job title, skill or company, as you would type it on SEEK. Leave it out to list every job for the location or filters. An input with no keywords, location or filter runs a 10-job sample search for software engineer, and the run message says so. |
location | text | empty | Suburb, city, state or region. Empty means the whole country. |
country | AU or NZ | AU | Which SEEK site to search. |
classification | text, AU only | empty | SEEK classification ID, for example 1200 for Accounting. |
workarrangement | text, AU only | empty | SEEK work-arrangement ID, for example 2 for Hybrid. |
salaryrange | text, AU only | empty | Annual salary range, for example 200000-999999. |
daterange | text, AU only | empty | 1 for the past day, 7 for the past week. |
sortmode | text, AU only | empty | Use ListedDate for newest first. |
maxItems | whole number, 1 to 5000 | 50 | How many jobs to save. A run returns at most about 2,200 jobs even if you ask for more. |
includeDetails | true/false | false | Add a short description to each row. Slower. |
A New Zealand search with any of the five Australian filters stops before collecting anything and names the filters to remove.
Output example
Every row has the same fields:
| Field | Meaning |
|---|---|
jobId | SEEK job ID. |
title | Job title as advertised. |
company | Advertiser name, which can be a person's registered business name. |
location | Suburb and state, as advertised. |
country | AU or NZ. |
salaryText | Salary exactly as advertised, or null. |
salaryMin, salaryMax | Numbers when the ad gives a clear amount. |
salaryCurrency | AUD, NZD or USD only when the ad names the currency. |
salaryPeriod | YEAR, HOUR, DAY, WEEK or MONTH when stated. |
employmentType | For example Full time or Contract. |
postedDate | Publication date and time (UTC). |
classification | SEEK classification, for example Information & Communication Technology. |
url | Public job page. |
descriptionExcerpt | Up to 600 plain-text characters, with includeDetails on. |
Example row:
{"jobId": "95747845", "title": "Software Engineer", "company": "MKA IT Services Pty Ltd", "location": "Sydney NSW", "country": "AU", "salaryText": "$87,000 – $130,000 per year", "salaryMin": 87000.0, "salaryMax": 130000.0, "salaryCurrency": null, "salaryPeriod": "YEAR", "employmentType": "Full time", "postedDate": "2026-11-08T23:50:06Z", "url": "https://www.seek.com.au/job/95747845", "descriptionExcerpt": null, "classification": "Information & Communication Technology"}
Export the dataset as JSON, CSV or Excel, or read it with the Apify API.
FAQ
Why is salaryCurrency empty when a salary is shown?
A $ sign alone does not say which dollar. The currency is filled only when the ad names it (for example AUD), so it is empty for most Australian ads.
Why is the salary missing?
Many ads do not disclose pay. Those rows keep every other field and leave the salary fields null.
Why is descriptionExcerpt cut off?
Excerpts are limited to 600 characters and may end mid-word. They are plain text, and they include any contact details the advertiser writes into the ad.
Why do I get fewer jobs than maxItems?
The search has fewer matches, or the run reached about 2,200 jobs, which is SEEK's own limit. A search with no matches finishes with zero rows.
Do the Australian filters work for New Zealand? No. New Zealand searches stop with an error that names the filters to remove.
Will I see the same job twice?
Within a run, jobs are deduplicated by jobId. An open job appears again on later runs; use jobId as your unique key.
How do I get only new jobs?
Run daily with daterange: "1" for the past day, and keep the jobId values you have already seen.
Can I run it on a schedule? Yes. Descriptions make runs slower: about 1.4 seconds per job, or roughly 400 jobs in the default 10-minute run.
Limitations
- SEEK Australia and SEEK New Zealand only.
- Up to about 2,200 jobs per run.
- If a run reaches its time limit it keeps the jobs collected so far, and the run message says why it stopped.
Pricing
Pay per event: $0.005 per run start and $0.001 per delivered job. The start charge is per GB of memory, rounded up; the default 512 MB run is one start.
Public job text, including advertiser-provided contacts and application instructions, is preserved in the description excerpt.