Seek Jobs Scraper: Australia, NZ, JobStreet & JobsDB
Pricing
from $0.50 / 1,000 delivered jobs
Seek Jobs Scraper: Australia, NZ, JobStreet & JobsDB
Scrape Seek Australia (seek.com.au) and NZ, JobStreet Malaysia, Singapore, Indonesia and Philippines, and JobsDB Hong Kong and Thailand jobs in one run: title, apply URL, and company, work type and salary as min/max with currency and period where published. $0.50 per 1,000 jobs + $0.001 per run.
Pricing
from $0.50 / 1,000 delivered jobs
Rating
0.0
(0)
Developer
David Brooks
Maintained by CommunityActor stats
0
Bookmarked
1
Total users
0
Monthly active users
11 hours ago
Last modified
Categories
Share
Scrape Seek, JobStreet and JobsDB jobs in one run — all eight SEEK-platform boards, Seek AU/NZ, JobStreet MY/SG/ID/PH, JobsDB HK/TH — at $0.50 per 1,000 jobs.
Seek Jobs Scraper extracts job listings from Seek Australia (seek.com.au), Seek New Zealand, JobStreet Malaysia, Singapore, Indonesia and the Philippines, and JobsDB Hong Kong and Thailand — one input, one output schema, one price. Every row carries the title, market country, job URL and apply URL; company, location, work type, classification, posted date, teaser and parsed salary (min, max, currency, period) are filled wherever the listing publishes them; add the full HTML description on request. Search by keywords, location, posted-within window, classification and work type, sorted by relevance or date.
What you get
- Eight markets in one run: pass
countries: ["AU","MY","SG"]and get one normalized dataset - Salary parsed into
salaryMin,salaryMax,salaryCurrency(AUD/NZD/MYR/SGD/IDR/PHP/HKD/THB) andsalaryPeriod— marketing text like "Weekly pay cycle" is never mistaken for a number - Work type and remote/hybrid/on-site arrangement normalized across markets
- Optional full job description (HTML and plain text)
- Stable
sourceIdper job for deduplication across runs;schemaVersionso keys never change under you
Sample row:
{"sourceId": "seek:AU:94508431","sourceUrl": "https://www.seek.com.au/job/94508431","source": "seek","title": "Junior Engineer","company": "Bright Engineering Consultants Pty Ltd","location": "Doncaster East, Melbourne VIC","country": "AU","remote": "onsite","workType": "full-time","category": "Engineering","subcategory": "Process Engineering","salaryText": "$75,000 – $90,000 per year","salaryMin": 75000,"salaryMax": 90000,"salaryCurrency": "AUD","salaryPeriod": "year","postedAt": "2026-09-10T08:07:17.000Z","applyUrl": "https://www.seek.com.au/job/94508431/apply"}
Input
| Field | Description |
|---|---|
query | Keywords, e.g. "data engineer" |
country / countries | One market, or several of AU, NZ, MY, SG, ID, PH, HK, TH (default AU) |
location | Free-text location filter |
sortBy | relevance (default) or date |
since / datePostedDays | Only jobs listed since an ISO date, or in the last N days (max 31) |
classificationId / workType | SEEK classification and work-type ids (optional filters) |
includeDescription | Fetch the full description per job (slower, same price) |
maxItems | Hard cap on delivered jobs (default 50) |
maxCostUsd | Hard stop on spend, enforced before each request |
Pricing
Pay per event. You are charged only for delivered, validated results — never for empty pages, blocked requests, or duplicates. maxCostUsd is a hard stop enforced before each request.
| Event | Price | Unit |
|---|---|---|
run-start | $0.001 | per run |
job | $0.0005 | per delivered job — $0.50 per 1,000 |
- 1,000 jobs across three markets ≈ $0.50
- A daily 200-job monitor ≈ $3.03/month
Why this actor
- All eight SEEK-platform markets in one run — Seek AU/NZ, JobStreet MY/SG/ID/PH and JobsDB HK/TH — with one input and one output schema, so a cross-market dataset needs no merging
- One flat $0.50 per 1,000 jobs plus a $0.001 run-start fee, and the full description at no extra event price
- Salary is parsed per market (IDR uses dots as thousands separators; AU/NZ/SG/HK all use a bare $) instead of passed through as text
- Uses the site's JSON search API, so no browser, no residential proxy, and no Cloudflare timeouts — list-only runs finish in seconds
- Charged only for validated rows: a blocked or empty run bills nothing at all, and a blocked run fails with a typed error instead of a silent empty dataset
Known limits
- SEEK returns at most 100 jobs per page and caps deep pagination per query; split broad queries by location, classification, or posted-within window to get everything
salaryTextis empty on most listings (employers choose not to publish);salaryMin/salaryMaxare null thenremotereadsunknown, andworkType,company,categoryandteaserare null, on listings that leave that field out- Full descriptions require one extra request per job (about 3 jobs/second)
- Job postings only; no candidate or applicant data is ever collected
- Full descriptions come from the site's GraphQL endpoint, which JobStreet's robots.txt lists as disallowed; the actor keeps that route to a few requests per second and only uses it when you ask for descriptions
Use from an AI agent (MCP)
Add the actor as an MCP tool in Claude Desktop / Cursor via the Apify MCP server:
{ "mcpServers": { "seek-jobs": { "url": "https://mcp.apify.com?actors=<your-username>/seek-jobs", "headers": { "Authorization": "Bearer <APIFY_TOKEN>" } } } }
The tool accepts exactly the input fields above and returns the same rows.
Use from n8n / Make
Use the Apify node → "Run actor" with actor <your-username>/seek-jobs and a JSON input such as
{"query":"nurse","countries":["AU","NZ"],"datePostedDays":1,"maxItems":500} on a daily schedule, then "Get dataset items".
FAQ
Why do I get fewer rows than the site's total?
The site caps deep pagination per query. Use datePostedDays, location or classificationId to slice a broad query into several runs.
Do I need a proxy?
Not a residential one. The JSON search API answers from datacenter IPs today, and the default input uses datacenter Apify Proxy with session rotation. If that changes the actor fails loudly with a typed block error, and you can switch the proxy group in the input.
Legal and data posture
This actor collects publicly listed job advertisements (employer postings) only. It never logs in, never uses accounts or cookies from accounts, and does not collect personal data about candidates. Request rates are kept modest and 429 responses are honored with backoff. Data is delivered to the requesting user for their own use; we do not build or resell a corpus.
Support
Open an issue on the Issues tab; first response within 6 hours on business days. Every run writes a RUN_SUMMARY record to the key-value store with items delivered, events charged, and the stop reason.