Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 

Repository files navigation

SEEK Jobs Scraper — Scrape seek.com.au & seek.co.nz Jobs, Salaries & Companies (No API)

Run on Apify No API key No login Pay per result Export

▶️ 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.


What you get

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

Use cases

  • 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.

Quick start

You only need a free Apify account. Pick any method below.

1. Apify Console (no code)

  1. Open the SEEK Jobs Scraper on Apify.
  2. Click Try for free.
  3. Add one or more keywords (or leave empty to browse everything), set a location, pick AU or NZ, then click Start.
  4. Export the dataset to CSV, JSON or Excel.

2. Apify CLI

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
}'

3. API / cURL

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
  }'

4. apify-client (JavaScript & Python)

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/.

Input

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.

Example inputs

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.

Output

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"
}

Integrations & automation

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.

Export formats

Every dataset can be downloaded or fetched via API as CSV, JSON, JSONL, Excel (XLSX) or XML.

FAQ

Does SEEK have a public API?

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.

Do I need a SEEK account or login?

No. There is no SEEK account, login or API key required — only a free Apify account. The Actor reads public SEEK search results.

How do I scrape SEEK jobs by keyword and location?

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.

Can I scrape both Australia and New Zealand?

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.

How many jobs can I collect?

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.

Do I need a proxy?

Yes — SEEK requires a residential proxy in the target country, which is preconfigured by default so runs work out of the box.

Is this a seek.com.au API alternative?

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.

How do I export SEEK job listings to CSV or Excel?

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.

How do I benchmark advertised salaries by role on SEEK?

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.

Is it legal to scrape SEEK?

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.

Related actors

Browse all logiover scrapers on Apify Store.


📄 Documentation only — the Actor runs on the Apify platform. ▶️ Run it: https://apify.com/logiover/seek-jobs-scraper

Licensed under the MIT License · © 2026 logiover

About

Scrape SEEK jobs from seek.com.au & seek.co.nz by keyword and location — title, company, salary, classification, work type. No login, no API key. Runs on Apify.

Topics

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors