JobStreet Jobs Scraper - Southeast Asia Hiring Data avatar

JobStreet Jobs Scraper - Southeast Asia Hiring Data

Pricing

from $1.50 / 1,000 results

Go to Apify Store
JobStreet Jobs Scraper - Southeast Asia Hiring Data

JobStreet Jobs Scraper - Southeast Asia Hiring Data

Scrape JobStreet Malaysia, Singapore and Philippines jobs with company, location, salary, work type, full description, dates and hiring signals.

Pricing

from $1.50 / 1,000 results

Rating

0.0

(0)

Developer

Ben

Ben

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Share

Collect structured public job listings from JobStreet Malaysia, Singapore, and the Philippines. Paste one or more JobStreet search URLs after choosing a keyword, location, salary range, work arrangement, classification, or other website filters. The Actor exports clean job, employer, compensation, location, description, and application data to the Apify dataset.

Detail enrichment is enabled by default. In addition to the search-card fields, the Actor can open each public vacancy page and return the complete description, exact publication and expiry timestamps, employer verification status, public company registration information, screening questions, work arrangement, and company profile link. Results can be exported as JSON, CSV, Excel, XML, or RSS, accessed through the Apify API, or connected to Make, Zapier, n8n, webhooks, databases, and internal recruiting systems.

What can you use it for?

  • Monitor vacancies across Malaysia, Singapore, and the Philippines.
  • Build role-specific alerts for engineering, sales, operations, finance, healthcare, support, or other functions.
  • Track employer hiring activity and identify companies with active recruitment demand.
  • Compare salary ranges, locations, classifications, and work arrangements across markets.
  • Create public-vacancy prospect lists for recruiting and staffing workflows.
  • Archive descriptions and screening requirements before vacancies expire.
  • Feed a job-search product, labor-market dashboard, spreadsheet, CRM, or internal search index.
  • Measure changes in demand for a title or skill over time with scheduled Tasks.

Every result includes its source search, page, and rank. This makes it possible to combine several searches in one run while retaining provenance for analysis.

Supported JobStreet markets

The Actor accepts public search URLs from:

  • my.jobstreet.com for Malaysia;
  • sg.jobstreet.com for Singapore;
  • ph.jobstreet.com for the Philippines.

Use the filters on JobStreet first, then copy the resulting URL into searchUrls. URLs from unrelated domains are rejected instead of being fetched.

Input

Basic search export

{
"searchUrls": [
{"url": "https://my.jobstreet.com/python-jobs"}
],
"maxResultsPerSearch": 25,
"includeDetails": true
}

Monitor several markets

{
"searchUrls": [
{"url": "https://my.jobstreet.com/data-analyst-jobs"},
{"url": "https://sg.jobstreet.com/data-analyst-jobs"},
{"url": "https://ph.jobstreet.com/data-analyst-jobs"}
],
"maxResultsPerSearch": 50,
"maxPagesPerSearch": 10,
"includeDetails": true,
"maxConcurrency": 5
}

maxResultsPerSearch applies separately to each URL. Duplicate job IDs found in overlapping pages or searches are written once. The default is deliberately small so first runs, scheduled Tasks, and Apify quality checks finish quickly.

maxPagesPerSearch is a safety limit. The Actor stops sooner when it reaches the requested result count, finds no new jobs, or reaches the end of the available search results.

maxConcurrency controls how many public detail pages are enriched at once. The bounded default balances speed and source load.

Detail enrichment

Keep includeDetails enabled when you need employer intelligence or complete vacancy records. The detail request can add:

  • full clean job description;
  • verified-employer and verified-listing flags;
  • public company registration date and registration number when displayed;
  • employer profile URL and company tags;
  • structured city, state, country, and country code;
  • salary, work type, and on-site, hybrid, or remote arrangement;
  • exact listed and expiry timestamps;
  • public application phone number when supplied by the advertiser;
  • screening questions shown to applicants;
  • external-application and listing-status indicators;
  • employer logo and cover image URLs.

Disable detail enrichment for the fastest search-card export. If one detail page is unavailable, the Actor keeps the usable search result rather than dropping the job.

Output fields

Each row in the default dataset represents one unique public JobStreet vacancy. Common fields include:

FieldDescription
job_idStable JobStreet job identifier
titleVacancy title
companyPublic hiring or recruiting company
company_idSource employer identifier
company_verifiedWhether JobStreet marks the employer as verified
company_registration_datePublic registration timestamp when shown
company_tagsPublic employer metadata such as registration number
company_profile_urlJobStreet employer profile or search page
location, city, statePublic workplace location fields
country, country_codeNormalized market information
salaryPublic compensation text
work_typeFull-time, part-time, contract, or other source value
work_arrangementOn-site, hybrid, or remote label when available
classification, subclassificationJobStreet role taxonomy
descriptionClean complete public vacancy description
bullet_points, teaserSearch-card highlights and summary
screening_questionsPublic questions shown in the application flow
listed_at, expires_atExact source timestamps when available
is_external_applicationWhether the application leaves JobStreet
lead_scoreTransparent record-completeness score from 0 to 100
urlCanonical public job page
search_url, source_page, search_rankSearch provenance
source_total_resultsTotal count reported by the search page
scraped_atUTC collection timestamp

Fields are empty when JobStreet or the advertiser does not publish the value. The Actor does not infer salaries, contact details, or employer claims.

Example result

{
"job_id": "92696446",
"title": "Junior Programmer",
"company": "TalentSpark Recruitment Agency",
"company_verified": true,
"location": "Bangsar, Kuala Lumpur",
"country": "Malaysia",
"work_type": "Full time",
"work_arrangement": "On-site",
"salary": "RM 4,000 - RM 6,000 per month",
"classification": "Information & Communication Technology",
"subclassification": "Developers/Programmers",
"status": "Active",
"lead_score": 90,
"url": "https://my.jobstreet.com/job/92696446"
}

This example shows the shape of a public listing used during validation. Job availability, dates, and values change continuously.

Pricing

The Actor uses transparent pay-per-event pricing:

  • a small Actor-start event covers run initialization;
  • each unique job written to the default dataset is one result event at $0.0015;
  • detail enrichment is included in the result price;
  • jobs discarded as duplicates are not charged twice.

At this rate, 1,000 unique jobs cost $1.50 plus the small start event. The Apify Console displays the current pricing before a run starts.

Scheduling and automation

Create a saved Task for each role and market, then schedule it daily or weekly. Use job_id as the stable key in your destination and compare each dataset with the prior run to identify newly listed jobs.

A practical workflow is:

  1. Save one filtered JobStreet URL in a Task.
  2. Run the Task on a proportionate schedule.
  3. Retrieve the default dataset through the Apify API or an integration.
  4. Upsert rows by job_id.
  5. Notify users only about identifiers not seen in the previous snapshot.

For employer research, group records by company, classification, location, salary, or work_arrangement. For expiry workflows, filter by expires_at before sending alerts.

Extraction and reliability

JobStreet publishes its current search and vacancy state in the initial page response. The Actor reads that structured state using Chrome-compatible HTTP behavior, rather than depending on browser coordinates or fragile visual selectors. Search pagination, detail concurrency, retries, URL count, and result count are bounded.

The run fails explicitly when no usable public jobs can be extracted. This prevents a blocked or changed page from appearing healthy with an empty dataset. The default input is small enough for routine Apify quality checks while still returning representative data.

Responsible use

The Actor reads public vacancy and employer information at runtime. It does not log in, submit applications, access candidate accounts, or collect private applicant profiles. It is not affiliated with or endorsed by JobStreet or SEEK.

Use the output for legitimate job discovery, recruiting, market research, and business analysis. Follow applicable terms, database rights, privacy rules, employment laws, and marketing requirements. Do not use the data for unlawful discrimination, unwanted bulk outreach, or republishing full descriptions as a competing job board. Keep collection schedules proportionate to the workflow.

FAQ

Does it require a JobStreet account or API key?

No. It reads public search and vacancy pages.

Can it use JobStreet filters?

Yes. Apply filters on JobStreet and paste the resulting search URL.

Can I scrape Malaysia, Singapore, and the Philippines together?

Yes. Add one URL for each market. The result cap applies separately to each URL.

Does it return complete job descriptions?

Yes, when includeDetails is enabled and the public detail page exposes a description.

Why is a salary or phone number empty?

Many advertisers do not publish those fields. The Actor preserves source truth rather than estimating missing data.

What happens if a detail page fails?

The search-card record remains available with the fields already collected.

How do I report a problem?

Open an issue on the Actor page with the run ID, a small reproducible input, and the expected result. Do not include credentials or private information. If the Actor saves you time, please leave a Store review; reviews help other users evaluate it and help prioritize maintenance.

Keywords: JobStreet scraper, JobStreet API, Malaysia jobs scraper, Singapore jobs scraper, Philippines jobs data, Southeast Asia jobs, hiring intelligence, job alerts, employer hiring signals, recruitment research, salary data, public vacancy export.