JobStreet $1๐ฐ Companies | Reviews Scraper
Pricing
from $1.00 / 1,000 results
JobStreet $1๐ฐ Companies | Reviews Scraper
From $1/1K. Pull JobStreet company profiles and employee reviews across Malaysia, Singapore, Indonesia, and the Philippines. Search by company, industry, or URL. Returns rich company records with embedded reviews or flat review datasets, with optional open job listings included.
Pricing
from $1.00 / 1,000 results
Rating
0.0
(0)
Developer
AbotAPI
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
7 days ago
Last modified
Categories
Share
JobStreet Companies & Reviews Scraper (Malaysia, Singapore, Philippines, Indonesia)
Pull company profiles and employee reviews from JobStreet across all four Southeast Asian markets: Malaysia (my.jobstreet.com), Singapore (sg.jobstreet.com), the Philippines (ph.jobstreet.com), and Indonesia (id.jobstreet.com). Choose one of two output shapes: one rich record per company with the top reviews embedded, or one flat record per review for sentiment and NLP pipelines. No browser, fast, and inexpensive.
Source companies three ways: paste company URLs, search by company name, or browse a whole industry. You can also embed each company's currently open jobs.
Why this scraper
- Covers all four JobStreet country sites, with the country auto-detected from each pasted URL.
- Two output modes from one actor: company aggregates, or one row per review.
- Deep review data: title, pros, cons, full experience text, job title, employment status, work location, per-category star ratings, recommended flag, upvotes, and date.
- One request returns the company profile plus the first 30 reviews. Need more? The actor paginates automatically (verified to hundreds of reviews per company).
- Company aggregates include overall rating, review count, recommended percentage, salary perception, the full star distribution, per-category ratings, perks, awards, and an AI-written review summary when available.
- Optional open-jobs embedding: attach each company's live job listings (title, location, salary, work type, date, URL).
Data you get
Companies mode (one row per company)
Sample shape, values are illustrative placeholders, not from a live profile.
| Field | Example |
|---|---|
id | "000000000000000" |
name | "Sample Company" |
url | "https://my.jobstreet.com/companies/sample-company-000000000000000" |
region | "MY" |
industry | "Information & Communication Technology" |
ratingOverall | 4 |
reviewCount | 450 |
recommendedPercent | 86 |
salaryRating | 3 |
totalJobs | 75 |
ratingBreakdown | { "companyRating5StarCount": 100, "companyRating1StarCount": 10 } |
categoryRatings | [{ "description": "Work/Life balance", "rating": 4, "count": 120 }] |
perks | ["Medical coverage", "Annual bonus"] |
aiSummary | { "headline": "...", "summary": "...", "pros": "...", "cons": "...", "themes": ["..."] } |
topReviews | [ { review object }, ... ] |
topReviewCount | 5 |
jobs | [ { job object }, ... ] (when includeJobs=true) |
scrapedAt | "2026-01-01T00:00:00.000Z" |
Reviews mode (one row per review)
Sample shape, values are illustrative placeholders, not from a live review.
| Field | Example |
|---|---|
reviewId | "000000000000000" |
companyId | "000000000000000" |
companyName | "Sample Company" |
title | "Good place to start a career" |
pros | "Supportive team, on-time salary." |
cons | "Limited career progression." |
overallExperienceDetails | "Full review experience text appears here." |
jobTitle | "Software Engineer" |
employmentStatus | "1 to 2 years in the role, former employee" |
workLocation | "Kuala Lumpur" |
salarySummary | "Average" |
recommended | true |
overallRating | 4 |
ratings | [{ "category": "Work/Life balance", "rating": 4 }] |
upvotes | 3 |
createdAt | "1 January 2026" |
url | "https://my.jobstreet.com/companies/sample-company-000000000000000" |
scrapedAt | "2026-01-01T00:00:00.000Z" |
How to use
1. One company, with top reviews (companies mode)
{"mode": "companies","urls": ["https://my.jobstreet.com/companies/aeon-168552725744507"],"maxReviewsPerCompany": 10,"includeAISummary": true}
2. All reviews for a company (reviews mode)
{"mode": "reviews","urls": ["https://my.jobstreet.com/companies/aeon-168552725744507"],"maxReviewsPerCompany": 200,"reviewSort": "recent","maxItems": 200}
3. Browse companies by industry (Singapore)
{"mode": "companies","country": "SG","industry": "Banking & Financial Services","maxReviewsPerCompany": 5,"maxItems": 20}
4. Search companies by name, embed their open jobs
{"mode": "companies","country": "MY","keywords": "maybank","includeJobs": true,"maxJobsPerCompany": 50,"maxItems": 5}
5. Multiple countries in one run
{"mode": "companies","urls": ["https://my.jobstreet.com/companies/aeon-168552725744507","https://sg.jobstreet.com/companies/dbs-bank-168553715857256","https://ph.jobstreet.com/companies/anz-168542457657046","https://id.jobstreet.com/companies/bank-negara-indonesia-168551798610106"],"maxReviewsPerCompany": 3}
Input parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
mode | string | "companies" | companies (one row per company, top reviews embedded) or reviews (one row per review). |
country | string | "MY" | Market: MY, SG, PH, or ID. Auto-detected per URL when URLs are given. |
urls | array | [] | Company URLs. Highest priority. Overrides keywords and industry. |
keywords | string | (empty) | Company-name search. Combined with industry, narrows the industry to matching names. |
industry | string | ICT | Browse up to 30 companies in an industry. Leave blank for keyword or URL sourcing. |
maxReviewsPerCompany | integer | 5 | Reviews embedded (companies mode) or fanned out (reviews mode) per company. 0 uses the 30-review snapshot. |
reviewSort | string | "helpful" | helpful (most upvoted first) or recent (newest first). |
includeAISummary | boolean | true | Companies mode. Embed the AI-written review summary when the company has one. |
includeJobs | boolean | false | Companies mode. Embed the company's open jobs. |
maxJobsPerCompany | integer | 50 | Cap on embedded jobs per company. 0 means all open jobs. |
maxItems | integer | 0 | Total cap (companies or reviews depending on mode). 0 means unlimited. |
maxTimeSec | integer | 0 | Wall-clock cap in seconds. 0 means no limit. Partial results are flushed. |
proxyConfiguration | object | Apify datacenter | Proxy settings. See below. |
Output example (companies mode)
Sample shape, values are illustrative placeholders, not from a live profile.
{"id": "000000000000000","name": "Sample Company","url": "https://my.jobstreet.com/companies/sample-company-000000000000000","region": "MY","industry": "Information & Communication Technology","ratingOverall": 4,"reviewCount": 450,"recommendedPercent": 86,"salaryRating": 3,"totalJobs": 75,"categoryRatings": [{ "description": "Work/Life balance", "rating": 4, "count": 120 },{ "description": "Career development", "rating": 3, "count": 118 }],"perks": ["Medical coverage", "Annual bonus"],"topReviews": [{"reviewId": "000000000000000","title": "Good place to start a career","pros": "Supportive team, on-time salary.","cons": "Limited career progression.","jobTitle": "Software Engineer","overallRating": 4,"recommended": true,"createdAt": "1 January 2026"}],"topReviewCount": 1,"scrapedAt": "2026-01-01T00:00:00.000Z"}
Plan requirement and proxy
The actor defaults to Apify datacenter proxy, which is included on the free plan, and JobStreet serves its public company and review data fine through it. If your account cannot reach datacenter proxy, the actor automatically falls back to a direct connection so a run never fails just because of proxy access.
For heavy or production workloads, residential proxy gives more rotation and reliability. Set proxyConfiguration.apifyProxyGroups to ["RESIDENTIAL"] (available on Apify paid plans).