OrbTop

Asia Job Listings Scraper — JobStreet & JobsDB (SEEK)

JOBSLEAD GENERATION

Independent tool. Trademarks referenced on this page are the property of their respective owners and are used only to identify the public website this tool reads. No affiliation or endorsement.

Asia Job Listings Scraper — JobStreet & JobsDB (SEEK)

Scrape job postings from JobStreet and JobsDB, the SEEK Asia network covering Malaysia, Singapore, the Philippines, Indonesia, Hong Kong and Thailand. Returns titles, companies, salaries, locations, classifications and full job descriptions across all six country properties in one normalised dataset.


Asia Job Listings Scraper Features

  • Covers all six SEEK Asia properties in one run — Malaysia, Singapore, the Philippines and Indonesia's JobStreet, plus Hong Kong and Thailand's JobsDB
  • Filters by keyword and location per run, or leave both blank for the unfiltered listing index
  • Parses raw salary text into structured min/max/currency/period — no regex required on your end
  • Returns full HTML job descriptions and company review ratings, with a toggle to skip that step for faster, lighter runs
  • Flags listings the source platform marks as expiring soon, so you know which records are about to disappear

Who Uses JobStreet and JobsDB Data?

  • Recruitment agencies — track competitor postings and salary ranges across Southeast Asian markets in one feed
  • Salary benchmarking vendors — build compensation datasets from real, currently-live postings instead of surveys
  • Market-entry researchers — see which companies are hiring, where, and for what roles before entering a new country
  • HR tech platforms — feed structured job data into aggregators, alert systems or matching tools
  • Job boards and aggregators — mirror SEEK Asia listings into your own index without building six separate scrapers

How Asia Job Listings Scraper Works

  1. Pick which of the six country properties to crawl (or leave the default — all of them) and an optional keyword or location filter.
  2. The scraper pages through each country's listing index and normalises every record into a single schema, with a country field so you can tell them apart.
  3. For each listing, it optionally fetches the full job description and the advertiser's company review rating — this is on by default and can be switched off if you just want the listing-level fields.
  4. Results land in your dataset as they're found, so you can start using early records before a large run finishes.

Input

{
  "countries": ["my", "sg"],
  "keywords": "software engineer",
  "location": "Kuala Lumpur",
  "includeFullDetails": true,
  "maxItems": 100
}
Field Type Default Description
countries array all six Country properties to crawl: my, sg, ph, id, hk, th. Leave empty to crawl all six.
keywords string (none) Job title or keyword search. Leave empty to crawl the unfiltered listing index.
location string (none) Free-text location/area filter within the chosen countries.
includeFullDetails boolean true Fetch each listing's detail page for the full description and company review rating. Disable for a faster, lighter run with listing-only fields.
maxItems integer 10 Maximum number of records to scrape, across all selected countries combined.

Asia Job Listings Scraper Output Fields

{
  "job_id": "93868260",
  "country": "my",
  "source_domain": "my.jobstreet.com",
  "title": "Graduate Engineer / Junior Project Engineer",
  "company_name": "NEXGEN AI CAPITALS",
  "company_id": "63700845",
  "company_review_rating": null,
  "location": "Setia Alam, Selangor",
  "area": "Selangor",
  "classification": "Engineering",
  "sub_classification": "Project Engineering",
  "work_type": "Full time",
  "work_arrangement": "On-site",
  "salary_text": "RM 3,000 – RM 3,500 per month",
  "salary_min": 3000,
  "salary_max": 3500,
  "salary_currency": "MYR",
  "salary_period": "month",
  "teaser": "Seeking a fresh Engineering graduate to support project coordination, site activities, technical documentation and engineering works.",
  "description_html": "<p>We are looking for a motivated Graduate Project Engineer...</p>",
  "bullet_points": [],
  "listing_date": "2026-08-10T03:58:00Z",
  "is_expiring_soon": false,
  "job_url": "https://my.jobstreet.com/job/93868260",
  "scraped_at": "2026-08-10T05:53:24.083Z"
}
Field Type Description
job_id string SEEK-native job listing ID
country string Country property this listing was crawled from (my, sg, ph, id, hk, th)
source_domain string Source domain (e.g. my.jobstreet.com, hk.jobsdb.com)
title string Job title
company_name string Hiring company or advertiser name
company_id string SEEK-native advertiser/employer ID
company_review_rating number Aggregate company review rating out of 5, when the advertiser has a public company profile (null otherwise)
location string Full job location label
area string Broader region/state containing the job location
classification string Top-level job classification/category
sub_classification string Job sub-classification
work_type string Full time / part time / contract / casual
work_arrangement string On-site / hybrid / remote
salary_text string Raw salary label as published (e.g. "RM 3,500 – RM 4,100 per month")
salary_min number Parsed minimum salary, in salary_currency units per salary_period
salary_max number Parsed maximum salary, in salary_currency units per salary_period
salary_currency string ISO currency code for the country property (MYR, SGD, PHP, IDR, HKD, THB)
salary_period string Pay period: hour, day, week, month or year
teaser string Short listing preview text
description_html string Full job description as HTML, from the listing detail page (populated when includeFullDetails is enabled)
bullet_points array Highlight bullet points from the listing, when the advertiser included them
listing_date datetime ISO-8601 timestamp the listing was posted
is_expiring_soon boolean True if the source platform flags this listing as expiring soon
job_url string Canonical URL for this job listing
scraped_at datetime ISO-8601 timestamp when this record was scraped

FAQ

How do I scrape JobStreet or JobsDB job listings?

Asia Job Listings Scraper needs no account or API key. Pick the countries you want — or leave the default, which is all six — add an optional keyword or location filter, and run it. You get back structured records, not raw HTML.

What countries does this cover?

All six SEEK Asia properties: Malaysia and Singapore's JobStreet, the Philippines and Indonesia's JobStreet, and Hong Kong and Thailand's JobsDB. One schema, one country field, no need to run six separate scrapers.

Can I filter by job title or location?

Yes. Set keywords for a title/skill search and location for a free-text area filter — both apply across every country you selected. Leave them blank to pull the unfiltered listing index.

Does the output include the full job description?

Yes, by default. Each listing's detail page is fetched for the full HTML description and, when available, the advertiser's company review rating. Turn includeFullDetails off if you only need the listing-level fields and want a faster run.

How much does Asia Job Listings Scraper cost to run?

Pricing is per record returned. Check the Pricing tab on the Actor page for the current rate — there's no separate charge for the detail-page enrichment.


Need More Features?

Need custom fields, a different filter, or another SEEK market? File an issue or get in touch.

Why Use Asia Job Listings Scraper?

  • Full network coverage — one actor for all six SEEK Asia country properties, not six separate single-country scrapers.
  • Structured salary data — raw labels like "Rp 4.000.000 – Rp 6.000.000 per month" come back parsed into min, max, currency and period, so you're not writing per-country regex.
  • Optional deep enrichment — full descriptions and company ratings when you want them, listing-only speed when you don't.