▶️ Run SEEK Jobs Scraper on Apify → This repository is documentation only. The scraper runs as a hosted Actor on the Apify platform — no servers, no API keys, no code to maintain.
Scrape job listings from SEEK, the #1 job board in Australia and New Zealand — millions of live vacancies across every industry. Search seek.com.au and seek.co.nz by keyword and location and get job title, company, salary label, industry classification, work type, work arrangement, posted date and the direct listing URL in clean structured JSON. It works like an unofficial SEEK jobs API for recruitment sourcing, salary benchmarking and job-market research — no login, no API key, no account, thousands of listings per run.
Pass a list of job queries and a location, pick AU or NZ, and each keyword runs as its own search — so one run can cover several roles and blow past SEEK's per-query ceiling.
One flat row per job listing, exportable to JSON, CSV, JSONL, Excel or XML:
| Field | Description |
|---|---|
jobId |
SEEK job listing ID |
title |
Job title as advertised |
company |
Advertising company / employer name |
location / area |
Location label and location hierarchy (region › suburb) |
salary |
Salary label exactly as shown on SEEK (when present) |
salaryMin / salaryMax |
Lower/upper salary figures parsed from the label (if a range) |
classification / subClassification |
SEEK's top-level and sub-level job category |
workType |
Full time / part time / contract / casual |
workArrangement |
On-site / hybrid / remote |
listingDate / listingDateDisplay |
Posted date (ISO 8601) and friendly display (e.g. "3d ago") |
teaser / bulletPoints |
Short description snippet and highlighted selling points |
logoUrl |
Employer logo URL |
url |
Direct link to the job on SEEK |
advertiserId |
SEEK advertiser ID |
isFeatured |
Whether this is a featured/promoted listing |
searchKeyword / searchLocation |
The keyword and location this job was found by |
country |
AU or NZ |
scrapedAt |
ISO 8601 scrape timestamp |
- Recruitment sourcing — find companies actively hiring in a city or classification and build outreach lists of live vacancies.
- Salary benchmarking — collect advertised salary labels by role and location for compensation analysis.
- Job-market research — measure hiring volume and in-demand roles across Australian and NZ industries over time.
- Power a job board or aggregator — ingest fresh, structured SEEK listings into your own site, app or ATS.
- Daily monitoring — schedule the Actor to track new postings for your target keywords and regions and diff against yesterday.
- Competitor hiring intel — filter by company to see which roles a competitor is scaling into.
- Staffing & RPO pipelines — feed live demand data into your placement workflow.
You only need a free Apify account. Pick any method below.
- Open the SEEK Jobs Scraper on Apify.
- Click Try for free.
- Add one or more
keywords(or leave empty to browse everything), set alocation, pickAUorNZ, then click Start. - Export the dataset to CSV, JSON or Excel.
npm install -g apify-cli
apify login
apify call logiover/seek-jobs-scraper --input '{
"keywords": ["software engineer", "data analyst"],
"location": "Sydney NSW",
"country": "AU",
"maxResults": 500
}'curl -X POST "https://api.apify.com/v2/acts/logiover~seek-jobs-scraper/run-sync-get-dataset-items?token=YOUR_APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"keywords": ["registered nurse", "aged care"],
"location": "Auckland",
"country": "NZ",
"maxResults": 1000
}'import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'YOUR_APIFY_TOKEN' });
const run = await client.actor('logiover/seek-jobs-scraper').call({
keywords: ['software engineer'],
location: 'Sydney NSW',
country: 'AU',
maxResults: 500,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);from apify_client import ApifyClient
client = ApifyClient("YOUR_APIFY_TOKEN")
run = client.actor("logiover/seek-jobs-scraper").call(run_input={
"keywords": ["software engineer"],
"location": "Sydney NSW",
"country": "AU",
"maxResults": 500,
})
items = client.dataset(run["defaultDatasetId"]).list_items().items
print(items)More detailed, copy-pasteable snippets live in examples/.
Nothing is strictly required — run it empty to browse a whole country, or narrow with keywords and a location.
| Field | Type | Description |
|---|---|---|
keywords |
array | One or more job queries (e.g. developer, registered nurse). Each runs as its own SEEK search. Leave empty to browse all jobs for the location. |
location |
string (dropdown) | City, state or region (Sydney NSW, Melbourne VIC, Auckland, …). Empty = nationwide. AU cities apply to Australia, NZ cities to New Zealand. |
country |
string (dropdown) | AU for seek.com.au or NZ for seek.co.nz. Default AU. |
maxResults |
integer | Total cap across all keyword searches in the run. Default 200. |
proxyConfiguration |
object | Apify Proxy settings. Residential + the target country is required by SEEK and preconfigured by default. |
Tech roles in Sydney, Australia:
{ "keywords": ["software engineer", "data analyst"], "location": "Sydney NSW", "country": "AU", "maxResults": 500 }Browse everything in a state (recruitment sourcing):
{ "keywords": [], "location": "Melbourne VIC", "country": "AU", "maxResults": 2000 }Tip — reaching more jobs: SEEK returns ~20 results per page and caps a single query near 1,000 results. To go deeper, split a broad search into several narrower keywords and locations in one run and raise
maxResults.
A realistic sample record (trimmed):
{
"jobId": "74812345",
"title": "Senior Software Engineer",
"company": "Atlassian",
"location": "Sydney NSW",
"area": "Sydney NSW › CBD, Inner West & Eastern Suburbs",
"salary": "$140,000 – $170,000 per year",
"salaryMin": 140000,
"salaryMax": 170000,
"classification": "Information & Communication Technology",
"subClassification": "Developers/Programmers",
"workType": "Full Time",
"workArrangement": "Hybrid",
"listingDate": "2026-07-04T02:11:00.000Z",
"listingDateDisplay": "2d ago",
"url": "https://www.seek.com.au/job/74812345",
"isFeatured": false,
"searchKeyword": "software engineer",
"country": "AU",
"scrapedAt": "2026-07-06T12:00:00.000Z"
}Running on Apify means the scraper drops straight into your workflow:
- Scheduler — track the AU/NZ job market daily or weekly for your target keywords and regions.
- Webhooks — POST new listings to your own endpoint or ATS on run completion.
- Google Sheets / Drive — auto-export each run to a live spreadsheet.
- Amazon S3 / storage — pipe the dataset to your warehouse or BI tools.
- Zapier, Make, n8n, Pipedream — build automated recruitment and market-research pipelines, or fire Slack alerts on fresh vacancies.
Every dataset can be downloaded or fetched via API as CSV, JSON, JSONL, Excel (XLSX) or XML.
SEEK does not offer an open public jobs API, so this Actor reads SEEK's public search results and returns structured job data instead — think of it as an unofficial SEEK jobs API, with no API key needed.
No. There is no SEEK account, login or API key required — only a free Apify account. The Actor reads public SEEK search results.
Add one or more keywords, set a location, pick AU or NZ, and run. Each listing comes back with title, company, salary, work type and a direct link.
Yes. Use the country input to choose seek.com.au (AU) or seek.co.nz (NZ). Run the Actor once per country to cover both.
SEEK returns ~20 results per page and caps a single query near 1,000 results. To collect more, combine several keywords and locations in one run and raise maxResults.
Yes — SEEK requires a residential proxy in the target country, which is preconfigured by default so runs work out of the box.
Yes. SEEK has no public jobs API, so this Actor works as a practical seek.com.au API alternative — it reads public search results and hands you a structured job dataset you can pull via the Apify API.
Run the Actor with your keywords and location, then download the dataset as CSV, JSON, JSONL, Excel or XML from the Apify Console, or fetch the JSON via the Apify API.
Search a role across a location; each row includes the salary label SEEK shows (plus parsed salaryMin/salaryMax when it's a range), so you can build a compensation benchmark dataset.
The Actor only collects publicly available job listing data. You are responsible for using the data in compliance with SEEK's terms and applicable laws.
- Indeed Jobs Scraper — global job listings from Indeed.
- Greenhouse Job Board Scraper — jobs straight from Greenhouse ATS boards.
- RemoteOK Remote Jobs Scraper — remote-first job listings.
Browse all logiover scrapers on Apify Store.
📄 Documentation only — the Actor runs on the Apify platform.
Licensed under the MIT License · © 2026 logiover