JobStreet Southeast Asia Job Search by Keyword & Country
Search JobStreet across Singapore, Malaysia, the Philippines, Indonesia and Thailand by keyword or country, with salary, job type and a direct apply link on every job.
Input schema
Input fields, types, required flags, descriptions, defaults, and prefills come from the published definition. Prefill examples are distinct from defaults.
| Field | Type | Required | Description |
|---|---|---|---|
mode | string | required | What to fetch from JobStreet / JobsDB. |
keywords | string | optional | One job title or keyword per line (mode=searchJobs). Each keyword is searched separately and results are deduplicated. |
locations | string | optional | Optional cities or regions, one per line; combined with each keyword (mode=searchJobs). |
Show all input fields
| Field | Type | Required | Description |
|---|---|---|---|
mode | string | required | What to fetch from JobStreet / JobsDB. |
keywords | string | optional | One job title or keyword per line (mode=searchJobs). Each keyword is searched separately and results are deduplicated. |
locations | string | optional | Optional cities or regions, one per line; combined with each keyword (mode=searchJobs). |
country | string | optional | Market to search. Covers JobStreet Malaysia, Singapore, Indonesia and the Philippines, plus JobsDB Thailand and Hong Kong. |
classification | string | optional | Optional job category filter (mode=searchJobs). |
subClassification | string | optional | Optional sub-category filter; can be combined with a classification (mode=searchJobs). |
workType | string | optional | Employment type filter (mode=searchJobs). |
workArrangement | string | optional | On-site, hybrid or remote (mode=searchJobs). |
dateRange | string | optional | Only jobs listed in the last N days (mode=searchJobs). |
listedAfter | string | optional | Drop jobs listed before this date (YYYY-MM-DD). |
listedBefore | string | optional | Drop jobs listed after this date (YYYY-MM-DD). |
salaryMin | integer | optional | Drop jobs whose advertised salary is entirely below this amount, in the unit chosen by Salary type. Jobs with no salary are dropped when this is set. |
salaryMax | integer | optional | Drop jobs whose advertised salary is entirely above this amount, in the unit chosen by Salary type. |
salaryType | string | optional | Unit for the salary minimum / maximum filters. |
sortBy | string | optional | Result order (mode=searchJobs). |
startUrls | string | optional | Job, search or company URLs, one per line (mode=byUrls). Each URL's own market is used; a search URL keeps its page number. |
companies | string | optional | Company URLs, profile or organisation ids, or names, one per line (mode=companyJobs / companyProfiles). Several companies are interleaved so maxItems covers each one. |
includeDetails | boolean | optional | Fetch the full description, salary, applicant demand and company snapshot for each job (job modes). |
descriptionFormat | string | optional | How job descriptions are returned. |
includeApplicantInsights | boolean | optional | Add applicant count, application volume and resume / cover-letter percentages when the source exposes them. |
includeCompanyProfile | boolean | optional | Add company rating, industry, size, website and description to each job when available. |
includeReviews | boolean | optional | Fetch employee reviews for each company (mode=companyProfiles, or company URLs in byUrls). |
maxReviewsPerCompany | integer | optional | Review cap per company. |
includeCompanySalaries | boolean | optional | Fetch salary ranges by role for each company. |
includeOpenJobs | boolean | optional | Attach the company's current open jobs (mode=companyProfiles). |
maxOpenJobs | integer | optional | Cap on attached open jobs per company. |
roles | string | optional | Role titles or queries to benchmark, one per line (mode=salaryBenchmarks). |
includeRegionalSalaries | boolean | optional | Add state / city salary breakdowns for each role. |
includeRoleDetails | boolean | optional | Add role summary, tasks, skills, growth, review statistics and similar roles. |
includeKeywords | string | optional | Keep only jobs whose title, company or description contains at least one term, one per line (case-insensitive). |
excludeKeywords | string | optional | Drop jobs whose title, company or description contains any term, one per line. |
minApplicants | integer | optional | Drop jobs with fewer applicants than this. Requires job details. |
maxApplicants | integer | optional | Drop jobs with more applicants than this. Requires job details. |
language | string | optional | Interface language. Only English is available in every market; other options are used where the market supports them. |
compact | boolean | optional | Keep only core job fields (identity, company, salary, dates, URL) for lightweight feeds. |
maxItems | integer | optional | Hard cap on records returned. Applies across all keywords, locations and pages. |
maxPages | integer | optional | Page cap for each keyword/location (100 jobs per page). |
incrementalMode | boolean | optional | Emit only new or changed jobs, using saved state between runs (job modes). |
stateKey | string | optional | Name for the saved incremental state. Use the same key on each scheduled run. |
emitUnchanged | boolean | optional | When incremental mode is on, also emit jobs whose content has not changed. |
emitExpired | boolean | optional | When incremental mode is on, emit jobs that were seen before but have disappeared. |
Download the published input schema
View complete JSON
{
"description": "Search six Southeast Asian job markets, scrape job URLs, company profiles, reviews and salary benchmarks.",
"properties": {
"classification": {
"description": "Optional job category filter (mode=searchJobs).",
"editor": "select",
"enum": [
"1200",
"6251",
"6304",
"1203",
"1204",
"7019",
"6163",
"1206",
"6076",
"6263",
"6123",
"1209",
"6205",
"1210",
"1211",
"1212",
"6317",
"6281",
"1214",
"1216",
"6092",
"6008",
"6058",
"1220",
"6043",
"6362",
"1223",
"6261",
"6246",
"1225"
],
"enumTitles": [
"Accounting",
"Administration & Office Support",
"Advertising, Arts & Media",
"Banking & Financial Services",
"Call Centre & Customer Service",
"CEO & General Management",
"Community Services & Development",
"Construction",
"Consulting & Strategy",
"Design & Architecture",
"Education & Training",
"Engineering",
"Farming, Animals & Conservation",
"Government & Defence",
"Healthcare & Medical",
"Hospitality & Tourism",
"Human Resources & Recruitment",
"Information & Communication Technology",
"Insurance & Superannuation",
"Legal",
"Manufacturing, Transport & Logistics",
"Marketing & Communications",
"Mining, Resources & Energy",
"Real Estate & Property",
"Retail & Consumer Products",
"Sales",
"Science & Technology",
"Self Employment",
"Sport & Recreation",
"Trades & Services"
],
"title": "Classification",
"type": "string"
},
"compact": {
"default": false,
"description": "Keep only core job fields (identity, company, salary, dates, URL) for lightweight feeds.",
"prefill": false,
"title": "Compact output",
"type": "boolean"
},
"companies": {
"description": "Company URLs, profile or organisation ids, or names, one per line (mode=companyJobs / companyProfiles). Several companies are interleaved so maxItems covers each one.",
"editor": "textarea",
"title": "Companies",
"type": "string"
},
"country": {
"default": "sg",
"description": "Market to search. Covers JobStreet Malaysia, Singapore, Indonesia and the Philippines, plus JobsDB Thailand and Hong Kong.",
"editor": "select",
"enum": [
"my",
"sg",
"id",
"ph",
"th",
"hk"
],
"enumTitles": [
"Malaysia (JobStreet)",
"Singapore (JobStreet)",
"Indonesia (JobStreet)",
"Philippines (JobStreet)",
"Thailand (JobsDB)",
"Hong Kong (JobsDB)"
],
"prefill": "sg",
"title": "Country",
"type": "string"
},
"dateRange": {
"description": "Only jobs listed in the last N days (mode=searchJobs).",
"editor": "select",
"enum": [
"1",
"3",
"7",
"14",
"31"
],
"enumTitles": [
"Last 24 hours",
"Last 3 days",
"Last 7 days",
"Last 14 days",
"Last 30 days"
],
"title": "Listed within",
"type": "string"
},
"descriptionFormat": {
"default": "text",
"description": "How job descriptions are returned.",
"editor": "select",
"enum": [
"text",
"html",
"both"
],
"enumTitles": [
"Plain text",
"HTML",
"Both"
],
"prefill": "text",
"title": "Description format",
"type": "string"
},
"emitExpired": {
"default": false,
"description": "When incremental mode is on, emit jobs that were seen before but have disappeared.",
"prefill": false,
"title": "Emit expired jobs",
"type": "boolean"
},
"emitUnchanged": {
"default": false,
"description": "When incremental mode is on, also emit jobs whose content has not changed.",
"prefill": false,
"title": "Emit unchanged jobs",
"type": "boolean"
},
"excludeKeywords": {
"description": "Drop jobs whose title, company or description contains any term, one per line.",
"editor": "textarea",
"title": "Exclude keywords",
"type": "string"
},
"includeApplicantInsights": {
"default": true,
"description": "Add applicant count, application volume and resume / cover-letter percentages when the source exposes them.",
"prefill": true,
"title": "Include applicant insights",
"type": "boolean"
},
"includeCompanyProfile": {
"default": true,
"description": "Add company rating, industry, size, website and description to each job when available.",
"prefill": true,
"title": "Include company snapshot",
"type": "boolean"
},
"includeCompanySalaries": {
"default": false,
"description": "Fetch salary ranges by role for each company.",
"prefill": false,
"title": "Include company salary ranges",
"type": "boolean"
},
"includeDetails": {
"default": true,
"description": "Fetch the full description, salary, applicant demand and company snapshot for each job (job modes).",
"prefill": true,
"sectionCaption": "Job details",
"title": "Include full job details",
"type": "boolean"
},
"includeKeywords": {
"description": "Keep only jobs whose title, company or description contains at least one term, one per line (case-insensitive).",
"editor": "textarea",
"sectionCaption": "Client-side filters",
"title": "Must include keywords",
"type": "string"
},
"includeOpenJobs": {
"default": true,
"description": "Attach the company's current open jobs (mode=companyProfiles).",
"prefill": true,
"title": "Include open jobs",
"type": "boolean"
},
"includeRegionalSalaries": {
"default": false,
"description": "Add state / city salary breakdowns for each role.",
"prefill": false,
"title": "Include regional salaries",
"type": "boolean"
},
"includeReviews": {
"default": false,
"description": "Fetch employee reviews for each company (mode=companyProfiles, or company URLs in byUrls).",
"prefill": false,
"title": "Include company reviews",
"type": "boolean"
},
"includeRoleDetails": {
"default": false,
"description": "Add role summary, tasks, skills, growth, review statistics and similar roles.",
"prefill": false,
"title": "Include role details",
"type": "boolean"
},
"incrementalMode": {
"default": false,
"description": "Emit only new or changed jobs, using saved state between runs (job modes).",
"prefill": false,
"title": "Incremental mode",
"type": "boolean"
},
"keywords": {
"description": "One job title or keyword per line (mode=searchJobs). Each keyword is searched separately and results are deduplicated.",
"editor": "textarea",
"sectionCaption": "Search",
"title": "Keywords",
"type": "string"
},
"language": {
"default": "en",
"description": "Interface language. Only English is available in every market; other options are used where the market supports them.",
"editor": "select",
"enum": [
"en",
"id",
"th",
"zh"
],
"enumTitles": [
"English",
"Bahasa Indonesia",
"Thai",
"Traditional Chinese"
],
"prefill": "en",
"title": "Language",
"type": "string"
},
"listedAfter": {
"description": "Drop jobs listed before this date (YYYY-MM-DD).",
"editor": "textfield",
"title": "Listed after",
"type": "string"
},
"listedBefore": {
"description": "Drop jobs listed after this date (YYYY-MM-DD).",
"editor": "textfield",
"title": "Listed before",
"type": "string"
},
"locations": {
"description": "Optional cities or regions, one per line; combined with each keyword (mode=searchJobs).",
"editor": "textarea",
"title": "Locations",
"type": "string"
},
"maxApplicants": {
"description": "Drop jobs with more applicants than this. Requires job details.",
"maximum": 10000000,
"minimum": 0,
"title": "Maximum applicants",
"type": "integer"
},
"maxItems": {
"default": 50,
"description": "Hard cap on records returned. Applies across all keywords, locations and pages.",
"maximum": 5000,
"minimum": 1,
"prefill": 3,
"sectionCaption": "Limits and incremental runs",
"title": "Max items",
"type": "integer"
},
"maxOpenJobs": {
"default": 20,
"description": "Cap on attached open jobs per company.",
"maximum": 100,
"minimum": 1,
"prefill": 20,
"title": "Max open jobs per company",
"type": "integer"
},
"maxPages": {
"default": 10,
"description": "Page cap for each keyword/location (100 jobs per page).",
"maximum": 100,
"minimum": 1,
"prefill": 1,
"title": "Max pages per query",
"type": "integer"
},
"maxReviewsPerCompany": {
"default": 10,
"description": "Review cap per company.",
"maximum": 100,
"minimum": 1,
"prefill": 10,
"title": "Max reviews per company",
"type": "integer"
},
"minApplicants": {
"description": "Drop jobs with fewer applicants than this. Requires job details.",
"maximum": 10000000,
"minimum": 0,
"title": "Minimum applicants",
"type": "integer"
},
"mode": {
"default": "searchJobs",
"description": "What to fetch from JobStreet / JobsDB.",
"editor": "select",
"enum": [
"searchJobs",
"byUrls",
"companyJobs",
"companyProfiles",
"salaryBenchmarks"
],
"enumTitles": [
"Search jobs by keyword and filters",
"Scrape specific job, search or company URLs",
"Open jobs from companies",
"Company profiles, reviews and salary ranges",
"Role salary benchmarks"
],
"prefill": "searchJobs",
"title": "Mode",
"type": "string"
},
"roles": {
"description": "Role titles or queries to benchmark, one per line (mode=salaryBenchmarks).",
"editor": "textarea",
"sectionCaption": "Salary benchmarks",
"title": "Role titles",
"type": "string"
},
"salaryMax": {
"description": "Drop jobs whose advertised salary is entirely above this amount, in the unit chosen by Salary type.",
"maximum": 100000000,
"minimum": 0,
"title": "Salary maximum",
"type": "integer"
},
"salaryMin": {
"description": "Drop jobs whose advertised salary is entirely below this amount, in the unit chosen by Salary type. Jobs with no salary are dropped when this is set.",
"maximum": 100000000,
"minimum": 0,
"title": "Salary minimum",
"type": "integer"
},
"salaryType": {
"default": "monthly",
"description": "Unit for the salary minimum / maximum filters.",
"editor": "select",
"enum": [
"monthly",
"annual",
"hourly"
],
"enumTitles": [
"Monthly",
"Annual",
"Hourly"
],
"prefill": "monthly",
"title": "Salary type",
"type": "string"
},
"sortBy": {
"default": "relevance",
"description": "Result order (mode=searchJobs).",
"editor": "select",
"enum": [
"relevance",
"date"
],
"enumTitles": [
"Relevance",
"Newest first"
],
"prefill": "relevance",
"title": "Sort by",
"type": "string"
},
"startUrls": {
"description": "Job, search or company URLs, one per line (mode=byUrls). Each URL's own market is used; a search URL keeps its page number.",
"editor": "textarea",
"sectionCaption": "URLs and companies",
"title": "Start URLs",
"type": "string"
},
"stateKey": {
"description": "Name for the saved incremental state. Use the same key on each scheduled run.",
"editor": "textfield",
"title": "State key",
"type": "string"
},
"subClassification": {
"description": "Optional sub-category filter; can be combined with a classification (mode=searchJobs).",
"editor": "select",
"enum": [
"6140",
"1303",
"6141",
"6143",
"6142",
"6144",
"6145",
"6146",
"6147",
"6148",
"6149",
"6150",
"6151",
"6152",
"6153",
"6154",
"6155",
"6156",
"6157",
"1468",
"6158",
"6159",
"6160",
"6161",
"6162",
"6252",
"6253",
"6254",
"6255",
"6256",
"6257",
"6258",
"6259",
"6260",
"6305",
"6306",
"6307",
"6308",
"6309",
"6310",
"6311",
"6312",
"6313",
"6314",
"6315",
"6316",
"6174",
"6175",
"6177",
"6178",
"6176",
"1352",
"6179",
"6180",
"6181",
"1392",
"1404",
"6182",
"6183",
"6184",
"6185",
"6186",
"6187",
"6084",
"6085",
"6086",
"6087",
"6088",
"6089",
"6090",
"6091",
"7020",
"7021",
"7022",
"7023",
"7024",
"6164",
"6165",
"6166",
"6167",
"6168",
"6169",
"6170",
"6171",
"6172",
"6173",
"6113",
"1387",
"6114",
"6115",
"6116",
"6117",
"6118",
"6119",
"6120",
"6121",
"6122",
"6077",
"6078",
"6079",
"6080",
"6081",
"6082",
"6083",
"6265",
"6264",
"6267",
"6268",
"6266",
"6269",
"6270",
"6271",
"6272",
"6273",
"6274",
"6124",
"6125",
"6126",
"6127",
"6128",
"6129",
"6130",
"6132",
"6133",
"6134",
"6135",
"6136",
"6131",
"6137",
"6138",
"6139",
"6022",
"6023",
"6024",
"6026",
"6027",
"6028",
"6025",
"6029",
"6030",
"6031",
"6032",
"6033",
"6034",
"6035",
"6036",
"6038",
"6037",
"6039",
"6040",
"6041",
"6042",
"6206",
"6207",
"6208",
"6209",
"6210",
"6211",
"6212",
"6213",
"6214",
"1314",
"1322",
"1378",
"1409",
"1410",
"1411",
"1450",
"6359",
"6360",
"6361",
"6329",
"6330",
"1353",
"1372",
"6331",
"1386",
"6332",
"6333",
"6334",
"6335",
"6336",
"6337",
"6338",
"6339",
"6340",
"6341",
"6342",
"6343",
"6344",
"6345",
"6346",
"6347",
"6348",
"6349",
"1467",
"6350",
"1470",
"6352",
"6351",
"6370",
"6353",
"6354",
"6355",
"1315",
"1332",
"6052",
"6053",
"1405",
"1415",
"6054",
"6055",
"6056",
"1537",
"1542",
"1549",
"6057",
"6318",
"6319",
"6320",
"6321",
"6322",
"6323",
"6324",
"6325",
"6326",
"6327",
"6328",
"6282",
"6283",
"6284",
"6285",
"6286",
"6287",
"6288",
"6289",
"6290",
"6291",
"6292",
"6293",
"6294",
"6295",
"6296",
"6297",
"6298",
"6299",
"6300",
"6301",
"6302",
"6303",
"6275",
"6276",
"6277",
"1350",
"6278",
"6279",
"1499",
"1524",
"1544",
"1553",
"6280",
"6188",
"6190",
"6191",
"6189",
"6192",
"6193",
"6194",
"6195",
"6196",
"6197",
"6198",
"1429",
"6199",
"1431",
"6200",
"6201",
"6202",
"6203",
"6204",
"6095",
"6093",
"6094",
"6096",
"6097",
"6098",
"6099",
"6101",
"6102",
"6104",
"6105",
"6103",
"6100",
"6109",
"6106",
"6110",
"6111",
"6107",
"6108",
"6112",
"6009",
"6010",
"6011",
"6012",
"6013",
"6017",
"6014",
"6015",
"6016",
"6018",
"6019",
"6020",
"6021",
"6059",
"6060",
"6061",
"6062",
"6063",
"6064",
"6066",
"6065",
"6073",
"6067",
"6068",
"6069",
"6071",
"6070",
"6072",
"6074",
"6075",
"6371",
"6001",
"6002",
"6003",
"6004",
"6005",
"6006",
"1546",
"6007",
"6044",
"6045",
"6046",
"6047",
"6048",
"6049",
"6050",
"6051",
"6363",
"6364",
"6366",
"6365",
"6367",
"6368",
"6369",
"6215",
"6216",
"6217",
"6218",
"6219",
"6220",
"6221",
"6222",
"6223",
"6224",
"6225",
"6262",
"6247",
"6248",
"6249",
"6250",
"1313",
"1328",
"6226",
"6227",
"6228",
"1345",
"6229",
"6230",
"6231",
"6232",
"1406",
"6233",
"6234",
"6235",
"6236",
"6237",
"6238",
"6240",
"6239",
"6241",
"6242",
"6243",
"6244",
"6245"
],
"enumTitles": [
"Accounts Officers/Clerks (Accounting)",
"Accounts Payable (Accounting)",
"Accounts Receivable/Credit Control (Accounting)",
"Analysis & Reporting (Accounting)",
"Assistant Accountants (Accounting)",
"Audit - External (Accounting)",
"Audit - Internal (Accounting)",
"Bookkeeping & Small Practice Accounting (Accounting)",
"Business Services & Corporate Advisory (Accounting)",
"Company Secretaries (Accounting)",
"Compliance & Risk (Accounting)",
"Cost Accounting (Accounting)",
"Financial Accounting & Reporting (Accounting)",
"Financial Managers & Controllers (Accounting)",
"Forensic Accounting & Investigation (Accounting)",
"Insolvency & Corporate Recovery (Accounting)",
"Inventory & Fixed Assets (Accounting)",
"Management (Accounting)",
"Management Accounting & Budgeting (Accounting)",
"Payroll (Accounting)",
"Strategy & Planning (Accounting)",
"Systems Accounting & IT Audit (Accounting)",
"Taxation (Accounting)",
"Treasury (Accounting)",
"Other (Accounting)",
"Administrative Assistants (Administration & Office Support)",
"Client & Sales Administration (Administration & Office Support)",
"Contracts Administration (Administration & Office Support)",
"Data Entry & Word Processing (Administration & Office Support)",
"Office Management (Administration & Office Support)",
"PA, EA & Secretarial (Administration & Office Support)",
"Receptionists (Administration & Office Support)",
"Records Management & Document Control (Administration & Office Support)",
"Other (Administration & Office Support)",
"Agency Account Management (Advertising, Arts & Media)",
"Art Direction (Advertising, Arts & Media)",
"Editing & Publishing (Advertising, Arts & Media)",
"Event Management (Advertising, Arts & Media)",
"Journalism & Writing (Advertising, Arts & Media)",
"Management (Advertising, Arts & Media)",
"Media Strategy, Planning & Buying (Advertising, Arts & Media)",
"Performing Arts (Advertising, Arts & Media)",
"Photography (Advertising, Arts & Media)",
"Programming & Production (Advertising, Arts & Media)",
"Promotions (Advertising, Arts & Media)",
"Other (Advertising, Arts & Media)",
"Account & Relationship Management (Banking & Financial Services)",
"Analysis & Reporting (Banking & Financial Services)",
"Banking - Business (Banking & Financial Services)",
"Banking - Corporate & Institutional (Banking & Financial Services)",
"Banking - Retail/Branch (Banking & Financial Services)",
"Client Services (Banking & Financial Services)",
"Compliance & Risk (Banking & Financial Services)",
"Corporate Finance & Investment Banking (Banking & Financial Services)",
"Credit (Banking & Financial Services)",
"Financial Planning (Banking & Financial Services)",
"Funds Management (Banking & Financial Services)",
"Management (Banking & Financial Services)",
"Mortgages (Banking & Financial Services)",
"Settlements (Banking & Financial Services)",
"Stockbroking & Trading (Banking & Financial Services)",
"Treasury (Banking & Financial Services)",
"Other (Banking & Financial Services)",
"Collections (Call Centre & Customer Service)",
"Customer Service - Call Centre (Call Centre & Customer Service)",
"Customer Service - Customer Facing (Call Centre & Customer Service)",
"Management & Support (Call Centre & Customer Service)",
"Sales - Inbound (Call Centre & Customer Service)",
"Sales - Outbound (Call Centre & Customer Service)",
"Supervisors/Team Leaders (Call Centre & Customer Service)",
"Other (Call Centre & Customer Service)",
"Board Appointments (CEO & General Management)",
"CEO (CEO & General Management)",
"COO & MD (CEO & General Management)",
"General/Business Unit Manager (CEO & General Management)",
"Other (CEO & General Management)",
"Aged & Disability Support (Community Services & Development)",
"Child Welfare, Youth & Family Services (Community Services & Development)",
"Community Development (Community Services & Development)",
"Employment Services (Community Services & Development)",
"Fundraising (Community Services & Development)",
"Housing & Homelessness Services (Community Services & Development)",
"Indigenous & Multicultural Services (Community Services & Development)",
"Management (Community Services & Development)",
"Volunteer Coordination & Support (Community Services & Development)",
"Other (Community Services & Development)",
"Contracts Management (Construction)",
"Estimating (Construction)",
"Foreperson/Supervisors (Construction)",
"Health, Safety & Environment (Construction)",
"Management (Construction)",
"Planning & Scheduling (Construction)",
"Plant & Machinery Operators (Construction)",
"Project Management (Construction)",
"Quality Assurance & Control (Construction)",
"Surveying (Construction)",
"Other (Construction)",
"Analysts (Consulting & Strategy)",
"Corporate Development (Consulting & Strategy)",
"Environment & Sustainability Consulting (Consulting & Strategy)",
"Management & Change Consulting (Consulting & Strategy)",
"Policy (Consulting & Strategy)",
"Strategy & Planning (Consulting & Strategy)",
"Other (Consulting & Strategy)",
"Architectural Drafting (Design & Architecture)",
"Architecture (Design & Architecture)",
"Fashion & Textile Design (Design & Architecture)",
"Graphic Design (Design & Architecture)",
"Illustration & Animation (Design & Architecture)",
"Industrial Design (Design & Architecture)",
"Interior Design (Design & Architecture)",
"Landscape Architecture (Design & Architecture)",
"Urban Design & Planning (Design & Architecture)",
"Web & Interaction Design (Design & Architecture)",
"Other (Design & Architecture)",
"Childcare & Outside School Hours Care (Education & Training)",
"Library Services & Information Management (Education & Training)",
"Management - Schools (Education & Training)",
"Management - Universities (Education & Training)",
"Management - Vocational (Education & Training)",
"Research & Fellowships (Education & Training)",
"Student Services (Education & Training)",
"Teaching - Early Childhood (Education & Training)",
"Teaching - Primary (Education & Training)",
"Teaching - Secondary (Education & Training)",
"Teaching - Tertiary (Education & Training)",
"Teaching - Vocational (Education & Training)",
"Teaching Aides & Special Needs (Education & Training)",
"Tutoring (Education & Training)",
"Workplace Training & Assessment (Education & Training)",
"Other (Education & Training)",
"Aerospace Engineering (Engineering)",
"Automotive Engineering (Engineering)",
"Building Services Engineering (Engineering)",
"Chemical Engineering (Engineering)",
"Civil/Structural Engineering (Engineering)",
"Electrical/Electronic Engineering (Engineering)",
"Engineering Drafting (Engineering)",
"Environmental Engineering (Engineering)",
"Field Engineering (Engineering)",
"Industrial Engineering (Engineering)",
"Maintenance (Engineering)",
"Management (Engineering)",
"Materials Handling Engineering (Engineering)",
"Mechanical Engineering (Engineering)",
"Process Engineering (Engineering)",
"Project Engineering (Engineering)",
"Project Management (Engineering)",
"Supervisors (Engineering)",
"Systems Engineering (Engineering)",
"Water & Waste Engineering (Engineering)",
"Other (Engineering)",
"Agronomy & Farm Services (Farming, Animals & Conservation)",
"Conservation, Parks & Wildlife (Farming, Animals & Conservation)",
"Farm Labour (Farming, Animals & Conservation)",
"Farm Management (Farming, Animals & Conservation)",
"Fishing & Aquaculture (Farming, Animals & Conservation)",
"Horticulture (Farming, Animals & Conservation)",
"Veterinary Services & Animal Welfare (Farming, Animals & Conservation)",
"Winery & Viticulture (Farming, Animals & Conservation)",
"Other (Farming, Animals & Conservation)",
"Air Force (Government & Defence)",
"Army (Government & Defence)",
"Emergency Services (Government & Defence)",
"Government - Federal (Government & Defence)",
"Government - Local (Government & Defence)",
"Government - State (Government & Defence)",
"Navy (Government & Defence)",
"Police & Corrections (Government & Defence)",
"Policy, Planning & Regulation (Government & Defence)",
"Other (Government & Defence)",
"Ambulance/Paramedics (Healthcare & Medical)",
"Chiropractic & Osteopathic (Healthcare & Medical)",
"Clinical/Medical Research (Healthcare & Medical)",
"Dental (Healthcare & Medical)",
"Dieticians (Healthcare & Medical)",
"Environmental Services (Healthcare & Medical)",
"General Practitioners (Healthcare & Medical)",
"Management (Healthcare & Medical)",
"Medical Administration (Healthcare & Medical)",
"Medical Imaging (Healthcare & Medical)",
"Medical Specialists (Healthcare & Medical)",
"Natural Therapies & Alternative Medicine (Healthcare & Medical)",
"Nursing - A&E, Critical Care & ICU (Healthcare & Medical)",
"Nursing - Aged Care (Healthcare & Medical)",
"Nursing - Community, Maternal & Child Health (Healthcare & Medical)",
"Nursing - Educators & Facilitators (Healthcare & Medical)",
"Nursing - General Medical & Surgical (Healthcare & Medical)",
"Nursing - High Acuity (Healthcare & Medical)",
"Nursing - Management (Healthcare & Medical)",
"Nursing - Midwifery, Neo-Natal, SCN & NICU (Healthcare & Medical)",
"Nursing - Paediatric & PICU (Healthcare & Medical)",
"Nursing - Psych, Forensic & Correctional Health (Healthcare & Medical)",
"Nursing - Theatre & Recovery (Healthcare & Medical)",
"Optical (Healthcare & Medical)",
"Pathology (Healthcare & Medical)",
"Pharmaceuticals & Medical Devices (Healthcare & Medical)",
"Pharmacy (Healthcare & Medical)",
"Physiotherapy, OT & Rehabilitation (Healthcare & Medical)",
"Psychology, Counselling & Social Work (Healthcare & Medical)",
"Residents & Registrars (Healthcare & Medical)",
"Sales (Healthcare & Medical)",
"Speech Therapy (Healthcare & Medical)",
"Other (Healthcare & Medical)",
"Airlines (Hospitality & Tourism)",
"Bar & Beverage Staff (Hospitality & Tourism)",
"Chefs/Cooks (Hospitality & Tourism)",
"Front Office & Guest Services (Hospitality & Tourism)",
"Gaming (Hospitality & Tourism)",
"Housekeeping (Hospitality & Tourism)",
"Kitchen & Sandwich Hands (Hospitality & Tourism)",
"Management (Hospitality & Tourism)",
"Reservations (Hospitality & Tourism)",
"Tour Guides (Hospitality & Tourism)",
"Travel Agents/Consultants (Hospitality & Tourism)",
"Waiting Staff (Hospitality & Tourism)",
"Other (Hospitality & Tourism)",
"Consulting & Generalist HR (Human Resources & Recruitment)",
"Industrial & Employee Relations (Human Resources & Recruitment)",
"Management - Agency (Human Resources & Recruitment)",
"Management - Internal (Human Resources & Recruitment)",
"Occupational Health & Safety (Human Resources & Recruitment)",
"Organisational Development (Human Resources & Recruitment)",
"Recruitment - Agency (Human Resources & Recruitment)",
"Recruitment - Internal (Human Resources & Recruitment)",
"Remuneration & Benefits (Human Resources & Recruitment)",
"Training & Development (Human Resources & Recruitment)",
"Other (Human Resources & Recruitment)",
"Architects (Information & Communication Technology)",
"Business/Systems Analysts (Information & Communication Technology)",
"Computer Operators (Information & Communication Technology)",
"Consultants (Information & Communication Technology)",
"Database Development & Administration (Information & Communication Technology)",
"Developers/Programmers (Information & Communication Technology)",
"Engineering - Hardware (Information & Communication Technology)",
"Engineering - Network (Information & Communication Technology)",
"Engineering - Software (Information & Communication Technology)",
"Help Desk & IT Support (Information & Communication Technology)",
"Management (Information & Communication Technology)",
"Networks & Systems Administration (Information & Communication Technology)",
"Product Management & Development (Information & Communication Technology)",
"Programme & Project Management (Information & Communication Technology)",
"Sales - Pre & Post (Information & Communication Technology)",
"Security (Information & Communication Technology)",
"Team Leaders (Information & Communication Technology)",
"Technical Writing (Information & Communication Technology)",
"Telecommunications (Information & Communication Technology)",
"Testing & Quality Assurance (Information & Communication Technology)",
"Web Development & Production (Information & Communication Technology)",
"Other (Information & Communication Technology)",
"Actuarial (Insurance & Superannuation)",
"Assessment (Insurance & Superannuation)",
"Brokerage (Insurance & Superannuation)",
"Claims (Insurance & Superannuation)",
"Fund Administration (Insurance & Superannuation)",
"Management (Insurance & Superannuation)",
"Risk Consulting (Insurance & Superannuation)",
"Superannuation (Insurance & Superannuation)",
"Underwriting (Insurance & Superannuation)",
"Workers' Compensation (Insurance & Superannuation)",
"Other (Insurance & Superannuation)",
"Banking & Finance Law (Legal)",
"Construction Law (Legal)",
"Corporate & Commercial Law (Legal)",
"Criminal & Civil Law (Legal)",
"Environment & Planning Law (Legal)",
"Family Law (Legal)",
"Generalists - In-house (Legal)",
"Generalists - Law Firm (Legal)",
"Industrial Relations & Employment Law (Legal)",
"Insurance & Superannuation Law (Legal)",
"Intellectual Property Law (Legal)",
"Law Clerks & Paralegals (Legal)",
"Legal Practice Management (Legal)",
"Legal Secretaries (Legal)",
"Litigation & Dispute Resolution (Legal)",
"Personal Injury Law (Legal)",
"Property Law (Legal)",
"Tax Law (Legal)",
"Other (Legal)",
"Analysis & Reporting (Manufacturing, Transport & Logistics)",
"Assembly & Process Work (Manufacturing, Transport & Logistics)",
"Aviation Services (Manufacturing, Transport & Logistics)",
"Couriers, Drivers & Postal Services (Manufacturing, Transport & Logistics)",
"Fleet Management (Manufacturing, Transport & Logistics)",
"Freight/Cargo Forwarding (Manufacturing, Transport & Logistics)",
"Import/Export & Customs (Manufacturing, Transport & Logistics)",
"Machine Operators (Manufacturing, Transport & Logistics)",
"Management (Manufacturing, Transport & Logistics)",
"Pattern Makers & Garment Technicians (Manufacturing, Transport & Logistics)",
"Pickers & Packers (Manufacturing, Transport & Logistics)",
"Production, Planning & Scheduling (Manufacturing, Transport & Logistics)",
"Public Transport & Taxi Services (Manufacturing, Transport & Logistics)",
"Purchasing, Procurement & Inventory (Manufacturing, Transport & Logistics)",
"Quality Assurance & Control (Manufacturing, Transport & Logistics)",
"Rail & Maritime Transport (Manufacturing, Transport & Logistics)",
"Road Transport (Manufacturing, Transport & Logistics)",
"Team Leaders/Supervisors (Manufacturing, Transport & Logistics)",
"Warehousing, Storage & Distribution (Manufacturing, Transport & Logistics)",
"Other (Manufacturing, Transport & Logistics)",
"Brand Management (Marketing & Communications)",
"Digital & Search Marketing (Marketing & Communications)",
"Direct Marketing & CRM (Marketing & Communications)",
"Event Management (Marketing & Communications)",
"Internal Communications (Marketing & Communications)",
"Management (Marketing & Communications)",
"Market Research & Analysis (Marketing & Communications)",
"Marketing Assistants/Coordinators (Marketing & Communications)",
"Marketing Communications (Marketing & Communications)",
"Product Management & Development (Marketing & Communications)",
"Public Relations & Corporate Affairs (Marketing & Communications)",
"Trade Marketing (Marketing & Communications)",
"Other (Marketing & Communications)",
"Analysis & Reporting (Mining, Resources & Energy)",
"Health, Safety & Environment (Mining, Resources & Energy)",
"Management (Mining, Resources & Energy)",
"Mining - Drill & Blast (Mining, Resources & Energy)",
"Mining - Engineering & Maintenance (Mining, Resources & Energy)",
"Mining - Exploration & Geoscience (Mining, Resources & Energy)",
"Mining - Operations (Mining, Resources & Energy)",
"Mining - Processing (Mining, Resources & Energy)",
"Natural Resources & Water (Mining, Resources & Energy)",
"Oil & Gas - Drilling (Mining, Resources & Energy)",
"Oil & Gas - Engineering & Maintenance (Mining, Resources & Energy)",
"Oil & Gas - Exploration & Geoscience (Mining, Resources & Energy)",
"Oil & Gas - Operations (Mining, Resources & Energy)",
"Oil & Gas - Production & Refinement (Mining, Resources & Energy)",
"Power Generation & Distribution (Mining, Resources & Energy)",
"Surveying (Mining, Resources & Energy)",
"Other (Mining, Resources & Energy)",
"Administration (Real Estate & Property)",
"Analysts (Real Estate & Property)",
"Body Corporate & Facilities Management (Real Estate & Property)",
"Commercial Sales, Leasing & Property Mgmt (Real Estate & Property)",
"Residential Leasing & Property Management (Real Estate & Property)",
"Residential Sales (Real Estate & Property)",
"Retail & Property Development (Real Estate & Property)",
"Valuation (Real Estate & Property)",
"Other (Real Estate & Property)",
"Buying (Retail & Consumer Products)",
"Management - Area/Multi-site (Retail & Consumer Products)",
"Management - Department/Assistant (Retail & Consumer Products)",
"Management - Store (Retail & Consumer Products)",
"Merchandisers (Retail & Consumer Products)",
"Planning (Retail & Consumer Products)",
"Retail Assistants (Retail & Consumer Products)",
"Other (Retail & Consumer Products)",
"Account & Relationship Management (Sales)",
"Analysis & Reporting (Sales)",
"Management (Sales)",
"New Business Development (Sales)",
"Sales Coordinators (Sales)",
"Sales Representatives/Consultants (Sales)",
"Other (Sales)",
"Biological & Biomedical Sciences (Science & Technology)",
"Biotechnology & Genetics (Science & Technology)",
"Chemistry & Physics (Science & Technology)",
"Environmental, Earth & Geosciences (Science & Technology)",
"Food Technology & Safety (Science & Technology)",
"Laboratory & Technical Services (Science & Technology)",
"Materials Sciences (Science & Technology)",
"Mathematics, Statistics & Information Sciences (Science & Technology)",
"Modelling & Simulation (Science & Technology)",
"Quality Assurance & Control (Science & Technology)",
"Other (Science & Technology)",
"Self Employment (Self Employment)",
"Coaching & Instruction (Sport & Recreation)",
"Fitness & Personal Training (Sport & Recreation)",
"Management (Sport & Recreation)",
"Other (Sport & Recreation)",
"Air Conditioning & Refrigeration (Trades & Services)",
"Automotive Trades (Trades & Services)",
"Bakers & Pastry Chefs (Trades & Services)",
"Building Trades (Trades & Services)",
"Butchers (Trades & Services)",
"Carpentry & Cabinet Making (Trades & Services)",
"Cleaning Services (Trades & Services)",
"Electricians (Trades & Services)",
"Fitters, Turners & Machinists (Trades & Services)",
"Floristry (Trades & Services)",
"Gardening & Landscaping (Trades & Services)",
"Hair & Beauty Services (Trades & Services)",
"Labourers (Trades & Services)",
"Locksmiths (Trades & Services)",
"Maintenance & Handyperson Services (Trades & Services)",
"Nannies & Babysitters (Trades & Services)",
"Painters & Sign Writers (Trades & Services)",
"Plumbers (Trades & Services)",
"Printing & Publishing Services (Trades & Services)",
"Security Services (Trades & Services)",
"Tailors & Dressmakers (Trades & Services)",
"Technicians (Trades & Services)",
"Welders & Boilermakers (Trades & Services)",
"Other (Trades & Services)"
],
"title": "Sub-classification",
"type": "string"
},
"workArrangement": {
"description": "On-site, hybrid or remote (mode=searchJobs).",
"editor": "select",
"enum": [
"1",
"2",
"3"
],
"enumTitles": [
"On-site",
"Hybrid",
"Remote"
],
"title": "Work arrangement",
"type": "string"
},
"workType": {
"description": "Employment type filter (mode=searchJobs).",
"editor": "select",
"enum": [
"242",
"243",
"244",
"245"
],
"enumTitles": [
"Full time",
"Part time",
"Contract / Temp",
"Casual / Vacation"
],
"title": "Work type",
"type": "string"
}
},
"required": [
"mode"
],
"schemaVersion": 1,
"title": "JobStreet / JobsDB Scraper Input",
"type": "object"
}
Output schema
Published result links and storage locations. This schema is not an exhaustive contract for every field in a dataset record.
| Field | Type | Required | Description |
|---|---|---|---|
jobs | string | optional | Dataset containing job, company and salary benchmark records. |
Download the published output schema
View complete JSON
{
"actorOutputSchemaVersion": 1,
"description": "Job ads, company profiles, employee reviews and role salary benchmarks from JobStreet and JobsDB across six Southeast Asian markets.",
"properties": {
"jobs": {
"description": "Dataset containing job, company and salary benchmark records.",
"template": "{{links.apiDefaultDatasetUrl}}/items",
"title": "JobStreet records",
"type": "string"
}
},
"title": "JobStreet & JobsDB Scraper Output"
}
Dataset schema
Published dataset views and any declared field definitions. A view can select only a subset of the returned record fields.
Download the published dataset schema
View complete JSON
{
"actorSpecification": 1,
"views": {
"overview": {
"display": {
"component": "table",
"properties": {}
},
"title": "Records",
"transformation": {
"fields": [
"recordType",
"jobId",
"title",
"name",
"company",
"location",
"country",
"salary",
"salaryMin",
"salaryMax",
"salaryCurrency",
"workArrangement",
"applicantCount",
"listedAt",
"jobUrl"
]
}
}
}
}
Key-value schema
Published key-value store definitions, when provided by this build.
This definition is not present in the default published build. See the published README for available documentation.
Published README
Read the full published documentation
JobStreet & JobsDB Scraper: Jobs, Companies, Salaries
Scrape JobStreet and JobsDB across six Southeast Asian markets — Malaysia, Singapore, Indonesia, the Philippines, Thailand and Hong Kong. Get full job ads with parsed salary ranges and applicant demand, company profiles with employee reviews, and role salary benchmarks, all without a login.
What this actor does
- Five modes: keyword search, scrape job / search / company URLs, company jobs, company profiles, and role salary benchmarks.
- Full job ads: description text or HTML, bullet points, screening questions, work type, work arrangement, classification, expiry date and apply link.
- Structured salaries: parsed minimum, maximum, currency and period from the posted salary label, plus a strict salary filter.
- Applicant demand: applicant count, application volume and resume / cover-letter percentages when the employer publishes them.
- Company intelligence: rating, review count, industry, size, website, perks, employee reviews, open jobs and salary ranges by role.
- Incremental runs: emit only new or changed jobs between scheduled runs, with NEW / UPDATED / REAPPEARED / EXPIRED change types.
- Clean output: fields the source does not show are omitted;
falseand0are kept.
Services (modes)
| Mode | What it returns |
|---|---|
searchJobs |
Job records from one or more keywords and locations, with server-side category, work type, arrangement, date and sort filters plus strict client-side salary, keyword and applicant filters. |
byUrls |
Job records from job URLs, job records from search URLs, and company records from company URLs. Each URL's own market is used. |
companyJobs |
Open job records for one or more companies, found by company URL, numeric id or name. |
companyProfiles |
One company record per company, with optional reviews, salary ranges by role and current open jobs. |
salaryBenchmarks |
One record per role with typical monthly salary, growth, job satisfaction and classification, plus optional role details and state / city salary breakdowns. |
How it works
The actor reads the same public listings the JobStreet and JobsDB sites show, using each market's own host, language and currency. Full job descriptions, company profiles, reviews and salary benchmarks come from the sites' public listing data rather than rendered pages, so results are consistent and fast. No account, cookie or proxy setup is required. Vietnam is not included because JobStreet Vietnam now redirects to Jora; Thailand is served by JobsDB at th.jobsdb.com.
Input
| Field | Type | Default | Description |
|---|---|---|---|
mode |
string | searchJobs |
One of the five modes above. |
keywords |
string | – | Job titles or keywords, one per line (mode=searchJobs). A small default search is used when empty. |
locations |
string | – | Cities or regions, one per line; combined with each keyword (mode=searchJobs). |
country |
string | sg |
my, sg, id, ph, th or hk. |
classification |
string | – | Job category id (mode=searchJobs). |
subClassification |
string | – | Sub-category id; can be combined with classification (mode=searchJobs). |
workType |
string | – | 242 full time, 243 part time, 244 contract/temp, 245 casual/vacation. |
workArrangement |
string | – | 1 on-site, 2 hybrid, 3 remote. |
dateRange |
string | – | 1, 3, 7, 14 or 31 days. |
listedAfter |
string | – | Keep jobs listed on or after YYYY-MM-DD. |
listedBefore |
string | – | Keep jobs listed on or before YYYY-MM-DD. |
salaryMin |
integer | – | Drop jobs whose salary is entirely below this amount. |
salaryMax |
integer | – | Drop jobs whose salary is entirely above this amount. |
salaryType |
string | monthly |
monthly, annual or hourly; the unit for the salary bounds. |
sortBy |
string | relevance |
relevance or date. |
startUrls |
string | – | Job, search or company URLs, one per line (mode=byUrls). |
companies |
string | – | Company URLs, numeric ids or names, one per line (mode=companyJobs / companyProfiles). |
includeDetails |
boolean | true |
Fetch the full description, salary, applicant demand and company snapshot. |
descriptionFormat |
string | text |
text, html or both. |
includeApplicantInsights |
boolean | true |
Add applicant count, volume and resume / cover-letter percentages. |
includeCompanyProfile |
boolean | true |
Add the company rating, industry, size, website and description to each job. |
includeReviews |
boolean | false |
Fetch employee reviews (mode=companyProfiles). |
maxReviewsPerCompany |
integer | 10 |
Review cap per company (1–100). |
includeCompanySalaries |
boolean | false |
Fetch company salary ranges by role. |
includeOpenJobs |
boolean | true |
Attach current open jobs (mode=companyProfiles). |
maxOpenJobs |
integer | 20 |
Open-jobs cap per company (1–100). |
roles |
string | – | Role titles or queries to benchmark, one per line (mode=salaryBenchmarks). A default accounting role is used when empty. |
includeRegionalSalaries |
boolean | false |
Add state and city salary breakdowns. |
includeRoleDetails |
boolean | false |
Add role summary, tasks, skills, growth, review statistics and similar roles. |
includeKeywords |
string | – | Keep jobs whose title, company or description contains at least one term, one per line. |
excludeKeywords |
string | – | Drop jobs whose title, company or description contains any term, one per line. |
minApplicants |
integer | – | Drop jobs below this applicant count (requires details). |
maxApplicants |
integer | – | Drop jobs above this applicant count (requires details). |
language |
string | en |
en, id, th or zh; used where the market supports it. |
compact |
boolean | false |
Keep only core job fields for lightweight feeds. |
maxItems |
integer | 50 |
Hard cap on records (1–5000). |
maxPages |
integer | 10 |
Page cap per keyword/location (100 jobs per page). |
incrementalMode |
boolean | false |
Emit only new or changed jobs (job modes). |
stateKey |
string | – | Name for saved incremental state; reuse it on each scheduled run. |
emitUnchanged |
boolean | false |
Also emit jobs whose content has not changed. |
emitExpired |
boolean | false |
Emit jobs that were seen before but have disappeared. |
Output per job (recordType="job")
Identity and links: jobId, title, jobUrl, applyUrl, recordType, scrapedAt.
Company: company, companyId, companyUrl, companyLogoUrl, advertiserName, advertiserId, advertiserVerified, companyRating, companyReviewCount, companyIndustry, companySize, companyWebsite, companyDescription, companyPerks.
Location: location, locationCountry, locationCountryCode, locationState, locationRegion, locationSuburb, locationPostcode, country.
Classification and work: classification, classificationId, subClassification, subClassificationId, roleId, normalizedRoleTitle, jobType, workTypes, workArrangement, badges.
Dates and content: postedDate, listedAt, listedAtDisplay, expiresAt, isExpired, teaser, descriptionText, descriptionHtml, bulletPoints, screeningQuestions.
Salary: salary (the posted label, only when it is a real salary), salaryMin, salaryMax, salaryCurrency, salaryPeriod.
Demand and status: applicantCount, applicantCountLabel, applicantVolumeLabel, resumePercentage, coverLetterPercentage, isLinkOut, isSponsored, adType.
Incremental mode adds changeType, firstSeenAt and lastSeenAt.
Output per company (recordType="company")
companyId, name, url, logoUrl, coverImageUrl, isClaimed, country, countryCode, industry, size, website, description, specialities, rating, reviewCount, recommendedPercent, ratingBreakdown, categoryRatings, perks, awards, aiSummary, reviewLocations, openJobsCount, openJobs, reviewTotal, reviews, salaryRanges, salaryUpdatedAt, recordType, scrapedAt.
Output per salary benchmark (recordType="salaryBenchmark")
roleId, alias, title, url, salaryMin, salaryMax, salaryMedian, salaryCurrency, salaryPeriod, growth, growthPercent, growthYears, jobSatisfaction, classifications, imageUrl, country, summary, tasksAndDuties, skills, reviewStats, similarRoles, locations, salaryLocation, recordType, scrapedAt.
Examples
Search accounting jobs in Kuala Lumpur
{
"mode": "searchJobs",
"keywords": "accountant\nfinance executive",
"locations": "Kuala Lumpur",
"country": "my",
"classification": "1200",
"dateRange": "7",
"salaryMin": 3000,
"salaryMax": 6000,
"salaryType": "monthly",
"includeDetails": true,
"maxItems": 100
}
Scrape pasted job and company URLs
{
"mode": "byUrls",
"startUrls": "https://sg.jobstreet.com/job/95541255\nhttps://my.jobstreet.com/companies/mosca-168555693395725",
"includeReviews": true,
"maxReviewsPerCompany": 10,
"maxItems": 20
}
Company profiles with reviews and open jobs
{
"mode": "companyProfiles",
"companies": "Marina Bay Sands\nhttps://sg.jobstreet.com/companies/marina-bay-sands-168557908899025",
"country": "sg",
"includeReviews": true,
"maxReviewsPerCompany": 30,
"includeCompanySalaries": true,
"includeOpenJobs": true,
"maxOpenJobs": 25
}
Role salary benchmarks with regional detail
{
"mode": "salaryBenchmarks",
"roles": "data analyst\naccountant",
"country": "my",
"includeRoleDetails": true,
"includeRegionalSalaries": true,
"maxItems": 10
}
Use cases
- Recruitment market research: compare demand, salaries and work arrangements across six Southeast Asian markets.
- Compensation benchmarking: collect posted salary ranges and official role salary guides in local currencies.
- Job feed aggregation: power a regional job board with full descriptions, expiry dates and apply links.
- Talent sourcing: find companies hiring for a role and pull their profile, reviews and open jobs.
- Competitive intelligence: track which employers are hiring, how often roles are refreshed and what they pay.
- AI and MCP pipelines: use compact output for lightweight, structured job feeds.
Usage cost
The actor does not add a separate per-item fee of its own; you pay for the Apify platform compute your run uses. A search run with full details costs roughly one listing request plus one detail request per returned job, so maxItems is the main cost control. A small scheduled run with 3–50 jobs is inexpensive; large runs with thousands of jobs and company reviews cost more. Use compact and includeDetails=false for high-volume monitoring.
FAQ
Which countries are covered? Malaysia, Singapore, Indonesia, the Philippines (JobStreet) plus Thailand and Hong Kong (JobsDB). Vietnam is no longer a JobStreet market and redirects to Jora, so it is not offered.
Do I need a JobStreet account or cookies? No. The actor reads public listings and public company data without a login, cookie or proxy.
Why is salary missing on some jobs? Many employers do not publish a salary. When the posted label contains no real salary — for example "Weekends Off, Remote" — the salary fields are omitted rather than guessed.
How does the salary filter work when the site's own filter is inexact? The actor parses each job's salary and keeps only jobs whose advertised range overlaps your minimum and maximum. Jobs without a published salary are excluded when a salary bound is set. Salary values are converted between monthly, annual and hourly for the comparison.
Can one run search several markets?
Each run uses one country, or the market of each URL in byUrls. Run once per market if you need a combined dataset.
How complete are company reviews and salary ranges? They are returned when the employer has claimed a company profile and has published reviews or salary data. Jobs without a profile still return the job fields; the company enrichment is simply omitted.
What is the difference between companyJobs and companyProfiles?
companyJobs returns individual open jobs for the companies you supply. companyProfiles returns one record per company with optional reviews, salary ranges and a list of open jobs.
How does incremental mode decide a job changed?
It compares title, company, location, salary, description, applicant count and expiry between runs. New jobs are NEW, changed jobs UPDATED, returning jobs REAPPEARED, and disappeared jobs EXPIRED when enabled. Around 50,000 job ids are remembered per state key.
Is this affiliated with JobStreet or JobsDB? No. This actor reads public listings and is not affiliated with, endorsed by, or sponsored by JobStreet, JobsDB or SEEK.
Notes
- Empty fields are omitted at every level;
falseand0are preserved. - Dates are ISO 8601 in UTC;
postedDateis aYYYY-MM-DDdate. - Salary amounts are emitted in the market's currency unless the label names another currency.
- Company URLs and job URLs always point at the canonical market host.
- Private-advertiser jobs keep the site's "Private Advertiser" company label; company profile fields are omitted when no profile exists.
byUrlsaccepts job links, search links and company links, including legacy JobStreet and JobsDB domains; a page number in a search link is honoured.- A company list with several companies is interleaved, so
maxItemscovers every company instead of stopping at the first one. - The default daily run is one small Singapore search with three jobs and full details.
Limitations
- Company coverage is conditional. Not every employer has a claimed profile, rating, reviews or salary ranges. Fields are omitted when absent.
- Salary labels vary. The parser handles ranges, single figures,
k, "Up to", monthly/annual/hourly periods, and Malaysian, Singaporean, Indonesian, Philippine, Thai and Hong Kong formats. Unusual or malformed labels may be omitted. - Search results change constantly. The same query can return a different order or new jobs between runs; use incremental mode and a stable
stateKeyfor scheduled monitoring. - Listing depth follows the site's own result count. Pages are 100 jobs each and stop at the source's total; very broad queries can return many pages.
- No HTML fallback. The actor relies on the public listing data the sites expose; if a market changes that data, the affected fields are omitted and the run status reports the failure.
- No built-in notifications. Use Apify schedules and integrations to act on new or changed jobs.
- Review data is employer-published. Reviews can be old, sparse or absent for smaller companies.
Python quickstart
Use a schema-derived input and the Python standard library to start a run. An Apify account and token are required for execution.
Source build zMLcGwfJFPYiCPd46. Documentation is regenerated from the default published build; private drafts are not included.