SEEK is where most Australian job ads live. If you want those listings in a spreadsheet, a database or an n8n workflow (for salary benchmarking, lead lists of companies that are hiring, or a daily feed of new jobs in one city), copying them by hand doesn't scale.

This tutorial uses Seek AU Job Scraper, an Apify actor I built that reads SEEK's own JSON search API. It needs no browser and no proxy, so a run takes seconds. The full examples are on GitHub: auto-actor/seek-au-job-scraper.

Input

{"keywords": "carpenter", "where": "Brisbane", "maxItems": 50} 

keywords and where work the way they do on seek.com.au; maxItems caps the number of jobs.

Python

"""Run Seek AU Job Scraper on Apify and print the results. pip install apify-client export APIFY_TOKEN=... # Apify Console -> Settings -> Integrations python example.py """ import os from apify_client import ApifyClient client = ApifyClient(os.environ["APIFY_TOKEN"]) run = client.actor("daedal_quintuplet/seek-au-job-scraper").call( run_input={ "keywords": "carpenter", "where": "Brisbane", "maxItems": 50 } ) jobs = client.dataset(run["defaultDatasetId"]).iterate_items() for job in jobs: print(job["title"], "|", job["company"], "|", job.get("salary") or "no salary listed", "|", job["url"]) 

Node.js

// Run Seek AU Job Scraper on Apify and print the results. // // npm install apify-client // APIFY_TOKEN=... node example.js (token: Apify Console -> Settings -> Integrations) const { ApifyClient } = require('apify-client'); async function main() { const client = new ApifyClient({ token: process.env.APIFY_TOKEN }); const run = await client.actor('daedal_quintuplet/seek-au-job-scraper').call({ "keywords": "carpenter", "where": "Brisbane", "maxItems": 50 }); const { items } = await client.dataset(run.defaultDatasetId).listItems(); for (const job of items) { console.log(job.title, '|', job.company, '|', job.salary || 'no salary listed', '|', job.url); } } main().catch((err) => { console.error(err); process.exit(1); }); 

No code: one HTTP request

Works from n8n, Make, Zapier or curl:

curl -X POST "https://api.apify.com/v2/acts/daedal_quintuplet~seek-au-job-scraper/run-sync-get-dataset-items?token=$APIFY_TOKEN" \ -H "Content-Type: application/json" \ -d '{"keywords": "carpenter", "where": "Brisbane", "maxItems": 50}' 

What you get

One row per job:

Field Meaning
id SEEK job id
title Job title
company Advertiser
locations One or more locations
salary Salary text as shown on SEEK, when the ad states one
workTypes Full time, Part time, Contract/Temp, Casual/Vacation
classifications SEEK classification
listingDate When the ad was listed (ISO 8601)
teaser First lines of the ad
bulletPoints Up to three selling points, often empty
isFeatured Paid placement flag
url Link to the ad

Only the fields SEEK returns in search results are included, not the full ad text.

Price

$0.001 per job ($1 per 1,000), paid per result, with no monthly fee. Apify's free plan includes $5 of usage a month, which is enough to try it.

Links: Store page · GitHub examples