Vexaloom Labs

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.

FieldTypeRequiredDescription
modestringrequiredWhat to fetch from JobStreet / JobsDB.
keywordsstringoptionalOne job title or keyword per line (mode=searchJobs). Each keyword is searched separately and results are deduplicated.
locationsstringoptionalOptional cities or regions, one per line; combined with each keyword (mode=searchJobs).
Show all input fields
FieldTypeRequiredDescription
modestringrequiredWhat to fetch from JobStreet / JobsDB.
keywordsstringoptionalOne job title or keyword per line (mode=searchJobs). Each keyword is searched separately and results are deduplicated.
locationsstringoptionalOptional cities or regions, one per line; combined with each keyword (mode=searchJobs).
countrystringoptionalMarket to search. Covers JobStreet Malaysia, Singapore, Indonesia and the Philippines, plus JobsDB Thailand and Hong Kong.
classificationstringoptionalOptional job category filter (mode=searchJobs).
subClassificationstringoptionalOptional sub-category filter; can be combined with a classification (mode=searchJobs).
workTypestringoptionalEmployment type filter (mode=searchJobs).
workArrangementstringoptionalOn-site, hybrid or remote (mode=searchJobs).
dateRangestringoptionalOnly jobs listed in the last N days (mode=searchJobs).
listedAfterstringoptionalDrop jobs listed before this date (YYYY-MM-DD).
listedBeforestringoptionalDrop jobs listed after this date (YYYY-MM-DD).
salaryMinintegeroptionalDrop 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.
salaryMaxintegeroptionalDrop jobs whose advertised salary is entirely above this amount, in the unit chosen by Salary type.
salaryTypestringoptionalUnit for the salary minimum / maximum filters.
sortBystringoptionalResult order (mode=searchJobs).
startUrlsstringoptionalJob, search or company URLs, one per line (mode=byUrls). Each URL's own market is used; a search URL keeps its page number.
companiesstringoptionalCompany URLs, profile or organisation ids, or names, one per line (mode=companyJobs / companyProfiles). Several companies are interleaved so maxItems covers each one.
includeDetailsbooleanoptionalFetch the full description, salary, applicant demand and company snapshot for each job (job modes).
descriptionFormatstringoptionalHow job descriptions are returned.
includeApplicantInsightsbooleanoptionalAdd applicant count, application volume and resume / cover-letter percentages when the source exposes them.
includeCompanyProfilebooleanoptionalAdd company rating, industry, size, website and description to each job when available.
includeReviewsbooleanoptionalFetch employee reviews for each company (mode=companyProfiles, or company URLs in byUrls).
maxReviewsPerCompanyintegeroptionalReview cap per company.
includeCompanySalariesbooleanoptionalFetch salary ranges by role for each company.
includeOpenJobsbooleanoptionalAttach the company's current open jobs (mode=companyProfiles).
maxOpenJobsintegeroptionalCap on attached open jobs per company.
rolesstringoptionalRole titles or queries to benchmark, one per line (mode=salaryBenchmarks).
includeRegionalSalariesbooleanoptionalAdd state / city salary breakdowns for each role.
includeRoleDetailsbooleanoptionalAdd role summary, tasks, skills, growth, review statistics and similar roles.
includeKeywordsstringoptionalKeep only jobs whose title, company or description contains at least one term, one per line (case-insensitive).
excludeKeywordsstringoptionalDrop jobs whose title, company or description contains any term, one per line.
minApplicantsintegeroptionalDrop jobs with fewer applicants than this. Requires job details.
maxApplicantsintegeroptionalDrop jobs with more applicants than this. Requires job details.
languagestringoptionalInterface language. Only English is available in every market; other options are used where the market supports them.
compactbooleanoptionalKeep only core job fields (identity, company, salary, dates, URL) for lightweight feeds.
maxItemsintegeroptionalHard cap on records returned. Applies across all keywords, locations and pages.
maxPagesintegeroptionalPage cap for each keyword/location (100 jobs per page).
incrementalModebooleanoptionalEmit only new or changed jobs, using saved state between runs (job modes).
stateKeystringoptionalName for the saved incremental state. Use the same key on each scheduled run.
emitUnchangedbooleanoptionalWhen incremental mode is on, also emit jobs whose content has not changed.
emitExpiredbooleanoptionalWhen 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.

FieldTypeRequiredDescription
jobsstringoptionalDataset 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; false and 0 are 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; false and 0 are preserved.
  • Dates are ISO 8601 in UTC; postedDate is a YYYY-MM-DD date.
  • 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.
  • byUrls accepts 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 maxItems covers 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 stateKey for 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.

Open the step-by-step Python guide →

Source build zMLcGwfJFPYiCPd46. Documentation is regenerated from the default published build; private drafts are not included.