SEEK & JobStreet Jobs Scraper | Fast & Reliable | $0.80/1K
Pricing
from $0.80 / 1,000 results
SEEK & JobStreet Jobs Scraper | Fast & Reliable | $0.80/1K
Scrape job listings from SEEK, JobStreet and JobsDB in 8 countries (AU, NZ, MY, SG, ID, PH, HK, TH) with one Actor. Parsed salaries, full descriptions and incremental monitoring included, no proxy needed.
Pricing
from $0.80 / 1,000 results
Rating
0.0
(0)
Developer
Yusuf Barış
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
3 days ago
Last modified
Categories
Share
What does SEEK & JobStreet Jobs Scraper do?
SEEK & JobStreet Jobs Scraper is a fast SEEK API alternative that extracts job listings from every site on the SEEK platform — SEEK (Australia, New Zealand), JobStreet (Malaysia, Singapore, Indonesia, Philippines) and JobsDB (Hong Kong, Thailand) — with one Actor, one input and one flat price.
No login and no proxy needed, so runs are quick and cheap. Salaries are parsed into numbers, full job descriptions are optional and free, and an incremental mode lets you monitor a search and receive only new jobs.
Supported sites
| Code | Site | Country | Currency |
|---|---|---|---|
AU | seek.com.au | Australia | AUD |
NZ | seek.co.nz | New Zealand | NZD |
MY | my.jobstreet.com | Malaysia | MYR |
SG | sg.jobstreet.com | Singapore | SGD |
ID | id.jobstreet.com | Indonesia | IDR |
PH | ph.jobstreet.com | Philippines | PHP |
HK | hk.jobsdb.com | Hong Kong | HKD |
TH | th.jobsdb.com | Thailand | THB |
Why use this scraper?
- 8 countries, 1 Actor – switch the
sitefield, or mix sites in one run by pasting start URLs from different domains. - Salary and description included –
salaryMin/salaryMax/currency/salaryPeriodare parsed for you and full descriptions cost nothing extra. No add-ons, no start fee. - Incremental monitoring – turn on
onlyNewand schedule the Actor to get only the listings you have not seen before. - Real filters – keywords, location, listing date, work type, work arrangement (on-site / hybrid / remote), industry and salary range.
- Large result sets – ask for hundreds or thousands of jobs per keyword; duplicates are removed automatically.
- Reliable – built-in retries, so runs finish cleanly even when a site is busy.
- Apify platform extras – schedules, API access, webhooks, integrations (Make, Zapier, Google Sheets, Slack…) and dataset export to JSON, CSV, Excel, XML or HTML.
Typical use cases: recruitment and talent-market research, salary benchmarking, competitor hiring signals, lead generation for staffing agencies, job aggregators and alerting, labour-market dashboards.
What data can you extract?
| Field | Type | Description |
|---|---|---|
id, jobUrl | string | Job id and link to the ad |
title, teaser, bulletPoints | string / array | Title, short summary and the highlights shown in search |
companyName, advertiserId, advertiserName, employerId, employerName, companyUrl | string | Advertiser / employer details |
classification, subclassification, classifications | string / array | Industry and sub-industry |
location, locations, countryCode | string / array | Where the job is |
listingDate | string (ISO) | When the ad was listed |
salaryLabel | string | Salary text exactly as shown |
salaryMin, salaryMax, currency, salaryPeriod | number / string | Parsed salary (hour, day, week, month or year) |
workTypes, workArrangements, isRemote | array / boolean | Full time / part time / contract / casual; on-site / hybrid / remote |
isFeatured, displayType, logoUrl, roleId | mixed | Ad presentation details |
description, descriptionHtml, expiresAt | string | Full ad text, HTML and closing date (when includeDescription is on) |
site, query, queryWhere, scrapedAt | string | Which site and search produced the row, and when |
How to scrape SEEK, JobStreet and JobsDB
- Open the Actor and choose the Site / country.
- Add one or more Keywords (each keyword is a separate search) and optionally a Location. Alternatively paste Start URLs — search pages or single job pages from any supported site.
- Set Max results (default 100) and any filters you need.
- Tick Include full description if you want the complete ad text.
- Click Start, then download the dataset as JSON, CSV or Excel — or fetch it through the API.
How much does it cost to scrape SEEK, JobStreet and JobsDB?
$0.80 per 1,000 results ($0.0008 per job) — pay only for jobs that are saved to the dataset.
- No start fee.
- Descriptions and parsed salaries are included, not billed separately.
- Runs are lightweight, so platform usage per run is minimal.
That is 2–3x cheaper than the most popular SEEK scrapers, most of which charge $2–$2.70 per 1,000 jobs once descriptions and salary data are added, plus start fees.
| This Actor | Typical alternatives | |
|---|---|---|
| Price per 1,000 jobs | $0.80 | $2.00 – $2.70 |
| Description | included | sometimes billed extra |
| Salary parsing | included | sometimes billed extra |
| Start fee | none | $0.01 – $0.08 |
| Countries | 8 in one Actor | usually one Actor per site |
Use Max results to cap your spend: 100 jobs cost $0.08.
Input
See the Input tab for every option. The ones worth knowing:
| Field | Notes |
|---|---|
site | AU, NZ, MY, SG, ID, PH, HK or TH – default AU. |
keywords | List of search terms, one search each. Empty = no keyword. |
where | Location as typed on the site, e.g. All Sydney NSW, Kuala Lumpur. |
startUrls | Search URLs (…/software-engineer-jobs/in-All-Sydney-NSW?daterange=7) or job URLs (…/job/12345678). The site is taken from the URL's domain. Filters in the URL win over the form. |
maxItems / maxItemsPerQuery | Total cap, and an optional cap per keyword / URL so one search cannot use the whole budget. |
sortBy, dateRange | Newest first; last 1 / 3 / 7 / 14 / 31 days. |
workType, workArrangement, classification | Full time, part time, contract, casual; on-site, hybrid, remote; 30 industries. |
salaryMin, salaryMax, salaryType | Range per year, month or hour (default: annual for AU/NZ, monthly elsewhere). |
includeDescription | Adds description, descriptionHtml, expiresAt. No extra charge. |
onlyNew, seenStoreName | Incremental mode, see below. |
Example input
{"site": "AU","keywords": ["data engineer", "analytics engineer"],"where": "All Sydney NSW","maxItems": 100,"sortBy": "date","dateRange": "7","workArrangement": ["hybrid", "remote"],"salaryMin": 120000,"includeDescription": true}
Output
You can download the dataset in various formats such as JSON, HTML, CSV, or Excel. Example (shortened):
{"id": "95122888","jobUrl": "https://my.jobstreet.com/job/95122888","title": "General manager","companyName": "Example Sdn Bhd","classification": "CEO & General Management","location": "Kuala Lumpur City Centre, Kuala Lumpur","countryCode": "MY","listingDate": "2026-10-11T02:14:09Z","salaryLabel": "RM 15,000 per month","salaryMin": 15000,"salaryMax": 15000,"currency": "MYR","salaryPeriod": "month","workTypes": ["Full time"],"workArrangements": ["On-site"],"isRemote": false,"description": "Responsibilities:\n\n• Lead the regional business …","expiresAt": "2026-11-10T15:59:59.999Z","site": "MY","query": "manager","queryWhere": "Kuala Lumpur","scrapedAt": "2026-10-11T14:53:52.048Z"}
Monitor new jobs on a schedule
Switch on Only new jobs and create a schedule (for example every 6 hours). The first run returns up to maxItems jobs and remembers their ids; every following run returns only listings it has not delivered before.
{"site": "SG","keywords": ["product manager"],"sortBy": "date","dateRange": "3","maxItems": 100,"onlyNew": true,"seenStoreName": "sg-product-manager-monitor"}
- Give each monitor its own
seenStoreNameso they do not share history. - Jobs are remembered per site and forgotten after 90 days without appearing in results.
- Connect the dataset to a webhook or integration to get a Slack message, email or Google Sheets row for each new batch.
Tips
- Date-sort monitors. For alerting, combine
onlyNewwithsortBy: dateand a shortdateRange– runs stay tiny and cheap. - Salary filtering. Many ads show no salary. A salary range removes ads whose stated salary clearly lies outside it, but keeps ads without a stated salary, since they may match.
- Large pulls. For very large result sets, prefer several focused keywords or locations over one huge search.
- Speed. Leave
includeDescriptionoff if you only need the listing data – runs finish faster.
FAQ
Do I need a proxy?
No. The Actor works out of the box. You can optionally choose an Apify Proxy in the input.
Can I scrape several countries in one run?
Yes: paste start URLs from different domains (for example one SEEK AU and one JobsDB HK search). Each URL is routed to its own site.
Why is salaryMin empty for some jobs?
Most advertisers do not publish a salary. When the label has no parseable amount (for example "Competitive package"), the numeric fields are null; salaryLabel is still returned when present. If the label gives an amount but no unit and the number is ambiguous (for example $850 + super), salaryPeriod is null.
What is isRemote?
true when the ad's work arrangement is Remote. Hybrid ads are false; see workArrangements.
Is it legal to scrape SEEK, JobStreet and JobsDB?
Our Actors are ethical and do not extract any private user data, such as email addresses, gender, or location. They only extract what the user has chosen to share publicly. We therefore believe that our Actors, when used for ethical purposes by Apify users, are safe. However, you should be aware that your results could contain personal data. Personal data is protected by the GDPR in the European Union and by other regulations around the world. You should not scrape personal data unless you have a legitimate reason to do so. If you're unsure whether your reason is legitimate, consult your lawyers. Review the target sites' terms of use for your use case. This Actor is not affiliated with SEEK, JobStreet or JobsDB.
Something is wrong or missing
Open an issue in the Issues tab and include the run link. Programmatic access is described in the API tab.