SEEK Jobs Scraper – Hidden Salaries, JobStreet & JobsDB
Pricing
from $1.50 / 1,000 job listings
SEEK Jobs Scraper – Hidden Salaries, JobStreet & JobsDB
Scrape SEEK (Australia, NZ), JobStreet (MY, SG, PH, ID) and JobsDB (HK, TH) jobs in one run. Reveals hidden salary ranges for free, plus applicant counts, screening questions and company profiles. Only-new-jobs monitoring with Slack alerts.
Pricing
from $1.50 / 1,000 job listings
Rating
0.0
(0)
Developer
Kiro Zhang
Maintained by CommunityActor stats
0
Bookmarked
1
Total users
0
Monthly active users
17 days ago
Last modified
Categories
Features
Share
What does SEEK, JobStreet & JobsDB Jobs Scraper do?
This Actor scrapes job listings from all eight SEEK-group job boards in one run:
| Board | Countries |
|---|---|
| SEEK | 🇦🇺 Australia, 🇳🇿 New Zealand |
| JobStreet | 🇲🇾 Malaysia, 🇸🇬 Singapore, 🇵🇭 Philippines, 🇮🇩 Indonesia |
| JobsDB | 🇭🇰 Hong Kong, 🇹🇭 Thailand |
For every job you get the title, company, location, salary (as text and as numbers), work type, work arrangement (remote/hybrid), classification, listing date, teaser and bullet points – plus the hidden salary range of ads that do not show a salary. Optionally add full job details: description, number of applicants, the employer's screening questions and the company profile (industry, size, website, rating, reviews, perks). Export to JSON, CSV or Excel, call it via API, schedule it daily, or plug it into Make, Zapier, n8n, Google Sheets or an AI agent.
Why use this jobs scraper?
- 💰 Hidden salaries revealed – free — in our sample of 5,000 recent ads (25 Oct 2026) 68% of SEEK Australia ads, 74% in Singapore and 81% of JobsDB Hong Kong ads hide the salary. The boards still know the advertiser's range and use it in their salary filter, so the Actor re-runs your search across salary bands and returns
salaryEstimateMin/salaryEstimateMaxfor each hidden-salary job. In our tests 100% of hidden salaries on newest-first searches got a range, and the range contained the real salary for every job whose salary was published. No extra charge. - 👥 Applicants, screening questions, company profile — with Include full job details each job also gets the applicant count ("More than 150 applicants"), the questions candidates must answer, and the company's industry, size, website, rating and perks – ideal for recruiters, sales prospecting and job seekers picking low-competition roles.
- 🌏 8 countries, one Actor — no need to maintain separate SEEK, JobStreet and JobsDB scrapers; results share one clean schema.
- 📈 Beyond the 550-result limit — the job boards stop paging after ~550 results per search. This Actor automatically splits large searches by classification and work type to collect up to 20,000 jobs per keyword.
- 📝 Full descriptions on demand — clean text and original HTML; you only pay for descriptions that are returned.
- ⚡ Fast and reliable — uses the boards' own JSON search, no browser, no proxy needed for normal use. 100 jobs per request.
- 🧹 Deduplicated — the same job returned by several keywords or splits is saved once.
Use cases
- Recruitment & staffing agencies — find new roles and hiring companies every morning.
- Job boards & aggregators — feed fresh APAC jobs into your site.
- Labour-market research — salaries, demand by classification, remote-work trends across countries.
- Sales / lead generation — companies that are hiring are companies that are growing.
- AI agents & RAG — give assistants live job data.
How to scrape SEEK, JobStreet and JobsDB
- Click Try for free / Start.
- Enter search keywords (e.g.
data analyst,registered nurse) — or leave empty to scrape all jobs matching the filters. - Pick one or more countries, and optionally a location, work type, classification and posted within.
- Set Max jobs per keyword and country.
- Turn on Include full job description if you need the job ad text.
- Run and download your data in JSON, CSV, Excel, XML or HTML.
Input example
{"searchTerms": ["data analyst", "accountant"],"countries": ["AU", "SG", "MY"],"location": "","workTypes": ["fulltime"],"postedWithinDays": "7","sortBy": "date","maxJobsPerSearch": 500,"includeDescription": true}
Output example
{"id": "94631714","title": "Business Data Insights Analyst","company": "Talent Corp","location": "Hawthorn East, Melbourne VIC","country": "AU","site": "www.seek.com.au","classification": "Information & Communication Technology","subClassification": "Business/Systems Analysts","workTypes": ["Full time"],"workArrangement": "Hybrid","salary": "$700 - $800 per day","currency": "AUD","salaryMin": 700,"salaryMax": 800,"salaryPeriod": "day","salaryHidden": false,"salaryEstimateMin": null,"salaryEstimateMax": null,"listedAt": "2026-09-15T01:26:05Z","teaser": "Strong experience across SQL, Power BI and AI...","bulletPoints": ["6 month contract + extensions", "Flexible working arrangements"],"isFeatured": false,"url": "https://www.seek.com.au/job/94631714","description": "About the role ...","expiresAt": "2026-10-15T12:59:59Z","advertiserVerified": true,"applicantCount": 219,"applicantCountLabel": "More than 150 applicants","screeningQuestions": ["Which of the following statements best describes your right to work in Australia?", "What's your expected annual base salary?"],"companyIndustry": "Consulting & Strategy","companySize": "101-1,000 employees","companyWebsite": "https://www.example.com.au/","companyRating": 3.8,"companyReviewCount": 52}
A job that hides its salary comes back like this:
{"title": "Analyst Programmer","country": "HK","salary": null,"salaryHidden": true,"salaryEstimateMin": 25000,"salaryEstimateMax": 50000,"salaryEstimatePeriod": "month","salaryCurrency": "HKD"}
Data fields
| Field | Description |
|---|---|
id, url | Job ID and link to the ad |
title, company, advertiserId | Job title and hiring company / advertiser |
location, locations, country, site | Where the job is and which board it came from |
classification, subClassification | Industry and sub-category |
workTypes, workArrangement | Full time / part time / contract / casual; on-site / hybrid / remote |
salary, currency | Salary text when the advertiser shows it |
salaryMin, salaryMax, salaryPeriod, salaryCurrency | The shown salary as numbers (year, month, day, hour) |
salaryHidden, salaryEstimateMin, salaryEstimateMax, salaryEstimatePeriod | Hidden salary range revealed from the board's salary filter (annual for AU/NZ, monthly elsewhere; salaryEstimateMax: null = "and above") |
region, employerId | State / region and the employer's ID |
listedAt, listedAgo | Listing date |
teaser, bulletPoints | Short summary shown in search results |
isFeatured, adType, logoUrl | Ad type and branding |
description, descriptionHtml, expiresAt, advertiserVerified, advertiserRegisteredAt | With Include full job details |
applicantCount, applicantCountLabel | Number of applicants so far (when the board shows it) |
screeningQuestions | Questions the employer asks applicants |
companyIndustry, companySize, companyWebsite, companyRating, companyReviewCount, companyPerks | Company profile (when the employer has one) |
Monitoring mode: only new jobs, closed postings, Slack alerts
All optional and charged at the same price per job – in monitoring mode you simply pay only for jobs you have not received before.
- Only new jobs – turn on Only new jobs and give the search a Tracking name. The first run saves a baseline; every later run returns only postings that were not returned before. Schedule it daily and you have a job alert feed. Monitoring sorts by date so new postings are found first.
- Closed postings – when a search returns all its matching jobs within your job limit,
OUTPUT.watch.closedlists postings that were there on the previous run and are gone now, with how many days they were online. - Hiring by company –
OUTPUT.watch.topCompanieslists new and closed jobs per company for each run: a simple hiring signal for recruiters and sales teams. - Slack or webhook alerts – paste a Slack Incoming Webhook URL (or any https webhook for Make, Zapier, n8n, Teams) and get one message with the new jobs after each run.
- Shareable report link – with Only new jobs on, turn on Shareable report link to keep an HTML report with new and closed jobs and 7/30-day trends at one fixed URL (
OUTPUT.reportUrl).
Without Only new jobs the Actor works exactly as before.
How much does it cost?
Simple pay-per-result pricing:
- Job listing: $1.50 per 1,000 jobs
- Full job details (optional, only when returned – description, applicants, screening questions, company profile): +$1 per 1,000 jobs
- Hidden salary ranges: free
- Run start: $0.002 per run (from 24 October 2026)
Example: 1,000 jobs with descriptions ≈ $2.50. Platform usage is included. Set Maximum cost per run to cap spending — the scraper stops cleanly at the limit. Apify's free monthly credits cover thousands of jobs.
Tips
- Schedule a daily run with Posted within: Last 24 hours and Sort by: Newest first to get only new jobs.
- Location text works like on the website:
Sydney NSW,Melbourne VIC,Auckland,Kuala Lumpur,Makati City,Jakarta Raya,Central and Western District,Bangkok. - Leave keywords empty and choose a classification to export a whole category (e.g. all ICT jobs in Singapore).
- Hidden salary ranges work best with Sort by: Newest first (every hidden salary gets a range in our tests); with relevance sorting very old ads in huge searches may not get one.
FAQ
Is it legal to scrape job listings? This Actor collects publicly available job advertisements. It does not collect personal data about job seekers and does not log in. You are responsible for complying with applicable laws and the websites' terms when using the data.
Why do I get fewer jobs than the site's total count? Totals shown by the boards are estimates, and duplicates across splits are removed. Use broader keywords or fewer filters to get more.
Need another job board or a custom feed? Open an issue in the Issues tab — we check it regularly.