JobStreet & JobsDB Scraper - Asia Jobs (MY, SG, PH, ID, HK, TH)
Pricing
from $1.00 / 1,000 job scrapeds
JobStreet & JobsDB Scraper - Asia Jobs (MY, SG, PH, ID, HK, TH)
Scrape jobs from JobStreet (Malaysia, Singapore, Philippines, Indonesia) and JobsDB (Hong Kong, Thailand) in one Actor: title, company, location, parsed salary, classification, work type, bullet points and optional full descriptions. Only-new-jobs mode for alerts.
Pricing
from $1.00 / 1,000 job scrapeds
Rating
0.0
(0)
Developer
rj
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Features
Share
Scrape job listings from all six SEEK Asia job boards in one run: JobStreet Malaysia, Singapore, Philippines and Indonesia, and JobsDB Hong Kong and Thailand. Pick one or more countries, type keywords and get clean JSON with title, company, location, classification, work type, work arrangement, bullet points and a parsed salary (min, max, currency, period). Other Store Actors cover JobStreet and JobsDB separately and often add a start fee. This one covers all six markets, charges no start fee, has an "only new jobs" mode for alerts, and outputs flat camelCase fields like our other job scrapers (the salary fields match our Reed Jobs Scraper). It calls the sites' own JSON search API, so it needs no browser, login or cookies.
What data can you get?
| Field | Example |
|---|---|
title | Audit Senior / Semi-Senior / Audit Assistant |
companyName, advertiserId, companyUrl | HSL & Co, 60215747, https://my.jobstreet.com/companies/hsl-n-co-168555965511559 |
location, country, countryCode | Kuala Lumpur, Malaysia, MY |
workType, employmentType, workArrangement, isRemote | Full time, FULL_TIME, On-site, false |
classification, subClassification (+ IDs) | Accounting, Audit - External |
salaryLabel | RM 3,200 – RM 4,500 per month |
salaryMin, salaryMax, salaryCurrency, salaryPeriod | 3200, 4500, MYR, month |
bulletPoints, teaser | "Career advancement", "Fresh graduates are encouraged to apply..." |
listedAt, listedAtText | 2026-11-05T11:54:39.000Z, 30m ago |
isPremium, badges, logoUrl, roleId | false, ["Be an early applicant"] |
url, id, jobId, site | https://my.jobstreet.com/job/95724675, jobstreet:my:95724675 |
With Include full job description: descriptionText, descriptionHtml, expiresAt, isExternalApply, area, companyIndustry, companySize, companyWebsite | |
detailsStatus | not-requested, ok or failed, so you can always tell why a description is missing |
searchKeywords, scrapedAt | software engineer, 2026-11-05T12:00:00.000Z |
No recruiter names, emails or phone numbers are collected.
Use cases
- Job alerts: schedule a daily run with "Only new jobs" and send new listings to Slack, email or Google Sheets.
- Salary benchmarking across Malaysia, Singapore, the Philippines, Indonesia, Hong Kong and Thailand with parsed salary numbers and ISO currencies.
- Recruitment and lead generation: see which companies are hiring, for what and where.
- Labour-market research: compare demand for a role across six Asian markets in one dataset.
- Job boards and aggregators: feed Asian jobs alongside our SEEK (AU/NZ), Reed (UK) and Dice (US) scrapers, with the same flat, camelCase style.
How to use it
- Pick one or more Countries.
- Add Keywords (each keyword is a separate search in each country) and, optionally, a Location and filters.
- Set Max jobs per search and click Start. Turn on Include full job description if you need the description text.
Input examples
Software engineer jobs in Malaysia (the default):
{ "country": ["MY"], "keywords": ["software engineer"], "maxItems": 15 }
Accountant jobs in Kuala Lumpur:
{ "country": ["MY"], "keywords": ["accountant"], "location": "Kuala Lumpur", "maxItems": 20 }
Remote virtual assistant jobs in the Philippines:
{ "country": ["PH"], "keywords": ["virtual assistant"], "workArrangements": ["remote"], "maxItems": 20 }
The same search in all six markets, with descriptions, listed in the last 7 days:
{"country": ["MY", "SG", "PH", "ID", "HK", "TH"],"keywords": ["data analyst"],"dateRange": "7","maxItems": 50,"fetchDetails": true}
Daily alert for new ICT jobs in Singapore (schedule it and keep the same stateKey):
{"country": ["SG"],"classifications": ["information-communication-technology"],"onlyNew": true,"stateKey": "sg-ict-alert","maxItems": 0}
Output example
A real item (description shortened):
{"id": "jobstreet:my:95724675","jobId": "95724675","url": "https://my.jobstreet.com/job/95724675","title": "Audit Senior / Semi-Senior / Audit Assistant","companyName": "HSL & Co","advertiserId": "60215747","advertiserName": "HSL & CO","companyUrl": "https://my.jobstreet.com/companies/hsl-n-co-168555965511559","location": "Kuala Lumpur","area": null,"countryCode": "MY","country": "Malaysia","workType": "Full time","workTypes": ["Full time"],"employmentType": "FULL_TIME","workArrangement": "On-site","isRemote": false,"classification": "Accounting","classificationId": "1200","subClassification": "Audit - External","subClassificationId": "6144","salaryLabel": "RM 3,200 – RM 4,500 per month","salaryMin": 3200,"salaryMax": 4500,"salaryCurrency": "MYR","salaryPeriod": "month","bulletPoints": ["Education support (enrolment, study leave and education bond)", "Career advancement", "Opportunity to access IPO work"],"teaser": "Fresh graduates are encourage to apply for audit assistant. At least 1-2 years of related working experiences for audit semi-seniors.","listedAt": "2026-11-05T11:54:39.000Z","listedAtText": "30m ago","isPremium": false,"badges": ["Be an early applicant"],"roleId": "Audit-Semi-Senior","logoUrl": "https://bx-branding-gateway.cloud.seek.com.au/aadf8671-a12e-4881-97ae-046b7c309834.1/jdpLogo","detailsStatus": "ok","descriptionText": "Requirements:\n• Possess relevant accounting qualification or currently pursuing professional accounting examinations.\n• ...","descriptionHtml": "<p><strong>Requirements:</strong></p><ul><li><p>Possess relevant accounting qualification ...</p></li></ul>","expiresAt": "2026-12-05T12:59:59.999Z","isExternalApply": false,"companyIndustry": "Accounting & Auditing","companySize": "11-50 employees","companyWebsite": "https://hslgroup.com.my","searchKeywords": "accountant","site": "my.jobstreet.com","scrapedAt": "2026-11-05T12:25:37.801Z"}
The dataset has three views: Overview, Salaries and Descriptions. A RUN_SUMMARY record in the key-value store lists each search's status, counts and the number of requests.
Pricing
Pay per event, no start fee:
| Event | Price | When |
|---|---|---|
job | $0.001 | Each job saved to the dataset |
job-details | $0.0005 | Each job whose full description was fetched (only with "Include full job description") |
Examples:
- 1,000 jobs, listing data only: $1.00
- 1,000 jobs with full descriptions: $1.50
- A daily alert that finds 20 new jobs: $0.02 per day
You never pay for jobs already seen in incremental mode, duplicates across searches in one run, or failed searches. Set Maximum cost per run and the Actor stops cleanly when it is reached.
Tips and limits
- Location is free text matched by the site (e.g. "Kuala Lumpur", "Makati City", "Bangkok"). The log shows which location was matched. It applies to every chosen country, so use it with one country at a time.
- Salary is parsed from the advertiser's label. Many ads hide the salary; then
salaryLabelis null or has no numbers ("World Class Benefits") and the numeric fields are null. The period is only set when the label says it ("per month", "p.a."); it is never guessed from the amount. On JobStreet Philippines a bare "$" is US dollars, as the site itself reports. - Descriptions cost one extra request per job, so runs with descriptions are slower (about 2 jobs per second).
- Labels are in English on all six sites (Indonesian and Thai job titles stay as the advertiser wrote them).
- The sites can change their private API at any time. If the search API ever answers for the wrong market, the search fails with a clear message instead of returning wrong jobs.
- Incremental state lives in a named key-value store in your account. Deleting it resets the monitor.
FAQ
Do I need an account, cookies or a proxy? No account and no cookies. A proxy is off by default because the JSON API works without one. If a run is blocked (the status says "HTTP 403/429"), turn on Apify Proxy.
Can I use residential proxies? No. Under pay-per-event the Actor's owner pays proxy traffic, so the Actor only uses Apify datacenter proxy or your own proxy URLs. If you pick the RESIDENTIAL group, it logs a warning and uses datacenter proxy instead.
How many jobs can I get per search?
All of them. Unlike seek.com.au, the Asian sites don't cap search results at 550. Use maxItems: 0 for no limit.
Why does a job have detailsStatus: "failed"?
The description request failed after 3 retries. The job is still output with its listing data, and the run summary counts these.
Is it legal? The Actor collects job ads that employers publish to attract applicants. It reads public data only, at a polite request rate, and doesn't collect recruiter contact details. The sites' terms of use restrict automated access to parts of the sites. You are responsible for making sure your use complies with those terms and with the data-protection laws that apply to you (e.g. Malaysia's PDPA, Singapore's PDPA, the Philippine Data Privacy Act), especially if you store or republish the data.
Integrations
-
API: start runs and fetch results with the Apify API or the JavaScript and Python clients:
curl -X POST "https://api.apify.com/v2/acts/rjmacarthy~jobstreet-jobsdb-scraper/run-sync-get-dataset-items?token=YOUR_TOKEN" \-H "Content-Type: application/json" \-d '{"country":["SG"],"keywords":["data engineer"],"maxItems":50}' -
Make, Zapier and n8n: send new jobs to Google Sheets, Airtable, Slack, email or your CRM without code.
-
Webhooks: trigger your pipeline when a run finishes.
-
MCP / AI agents: use the Actor as a tool through the Apify MCP server.
Changelog
- 0.1 (Nov 2026): first release. Six markets (MY, SG, PH, ID, HK, TH), keyword/location/classification/work type/work arrangement/date filters, parsed salaries, optional full descriptions, only-new-jobs mode.
Ready-to-run examples
- Scrape software engineer jobs in Singapore from JobStreet
- Scrape accountant jobs in Kuala Lumpur from JobStreet Malaysia
More scrapers by the same developer
- Computrabajo Scraper - LatAm Jobs (MX, CO, AR, PE, CL...)
- Internshala Scraper - Internships & Jobs in India
- Apna Jobs Scraper - India Jobs by Keyword, City & Category
- Arbeitsagentur Jobs Scraper - German Jobbörse (Public API)
- ATS Jobs Scraper: Greenhouse, Lever, Ashby & Workday
- Cutshort Jobs Scraper - India Startup & Tech Jobs
Browse all my Actors on my Apify Store profile.
Support
Found a bug or need a field? Open an issue on the Actor's Issues tab and include the run ID.