JobStreet Scraper avatar

JobStreet Scraper

Pricing

from $0.99 / 1,000 results

Go to Apify Store
JobStreet Scraper

JobStreet Scraper

Scrape live job openings from Southeast Asia's #1 job portal. Extract job titles, companies, salaries, benefits, locations & apply URLs. Ideal for recruitment intelligence, competitive salary analysis, talent market research & training datasets. Clean, production-ready output.

Pricing

from $0.99 / 1,000 results

Rating

4.3

(8)

Developer

Shahid Irfan

Shahid Irfan

Maintained by Community

Actor stats

5

Bookmarked

160

Total users

22

Monthly active users

19 hours ago

Last modified

Share

What does JobStreet Jobs Scraper do?

JobStreet Jobs Scraper is a JobStreet scraper for collecting public job listings from Malaysia, Singapore, the Philippines, and Indonesia. Search with a keyword and optional location, or provide a JobStreet search results URL, then receive structured records with job titles, companies, salaries, locations, classifications, posting dates, descriptions, and direct job URLs.

The Actor is useful for recruitment research, hiring intelligence, salary benchmarking, job board data collection, skills analysis, and recurring monitoring of Southeast Asian employment markets. Results are saved to an Apify Dataset and can be downloaded or connected to other workflows.

Why use JobStreet Jobs Scraper?

  • Southeast Asia coverage - Choose the Malaysia, Singapore, Philippines, or Indonesia JobStreet site for keyword and location searches.
  • Flexible search inputs - Search by role, city, or region, or reuse a pre-filtered JobStreet results URL.
  • Job detail enrichment - Collect listing summaries plus full descriptions in both plain text and HTML when published by the source.
  • Recruitment-ready fields - Compare companies, salary labels, employment types, classifications, work arrangements, and posting dates.
  • Repeatable data collection - Run on demand or schedule recurring runs in Apify for hiring trend reports and job alerts.
  • Workflow-friendly exports - Use JSON, CSV, Excel, XML, the Apify API, webhooks, and connected tools for downstream analysis.

What data can you extract from JobStreet?

Each dataset item represents one JobStreet job listing. Fields may be omitted when the source listing does not publish the corresponding value.

FieldTypeDescription
idStringUnique JobStreet listing identifier
urlStringDirect URL to the job listing
titleStringJob title or position name
companyStringHiring company or advertiser name
locationStringPublished job location
salaryStringSalary range or salary label when available
workTypeStringEmployment type, such as full time or contract
classificationStringMain job industry classification
subClassificationStringMore specific job category
postedAt_isoStringJob posting date in ISO 8601 format
postedAt_displayStringHuman-readable posting date when available
teaserStringShort listing summary
bulletPointsArrayKey highlights or job attributes when available
workArrangementsArrayRemote, hybrid, on-site, or other work arrangement labels
description_textStringFull job description as plain text
description_htmlStringFull job description with source HTML formatting
isFeaturedBooleanWhether the listing is marked as featured
isPremiumBooleanWhether the listing is marked as premium
roleIdStringRole identifier when supplied by JobStreet
advertiserIdStringAdvertiser identifier when available
employerIdStringEmployer identifier when available
brandingLogoUrlStringCompany branding or logo URL when available
list_urlStringJobStreet search page used to find the listing
scrapedAtStringISO timestamp for the collection run
detail_statusStringStatus reported for the job detail record when available
isExpiredBooleanWhether JobStreet marks the listing as expired

How to scrape JobStreet data

  1. Open JobStreet Jobs Scraper in Apify Console.
  2. Enter a keyword and optional location, or paste a public JobStreet search results URL into startUrl.
  3. Select the country site and posting-date filter when using keyword or location search.
  4. Set results_wanted to the maximum number of records to save.
  5. Start the Actor and review the dataset preview when the run finishes.
  6. Download the results or connect the dataset to your recruitment, analytics, or alerting workflow.

When startUrl is provided, it takes precedence over keyword and location. Use a JobStreet search results URL, not an individual job detail URL. A country domain in the URL determines the country site for that run.

Input Parameters

ParameterTypeRequiredDefaultDescription
startUrlStringNo-Public JobStreet search results URL. Overrides keyword and location when provided.
keywordStringNodeveloperJob search term, such as data analyst, software engineer, or marketing manager.
locationStringNo""Optional typed location, such as Singapore, Kuala Lumpur, or Manila.
countryStringNomyJobStreet country site for keyword and location searches: my, sg, ph, or id.
posted_dateStringNo24hPosting-date filter for keyword and location searches: anytime, 24h, 7d, or 30d.
results_wantedIntegerNo20Maximum number of job records to save. The value must be at least 1.

Country values

ValueJobStreet site
myMalaysia, my.jobstreet.com
sgSingapore, sg.jobstreet.com
phPhilippines, ph.jobstreet.com
idIndonesia, id.jobstreet.com

The posted_date filter applies to keyword and location searches. If you provide a startUrl, keep any date filtering in that JobStreet URL instead.

Output Data

The Actor writes one JSON object per job to the default Apify Dataset. Description and metadata fields depend on what JobStreet publishes for each listing.

FieldTypeDescription
idStringJobStreet job ID
titleStringPosition title
companyStringEmployer or advertiser
locationStringJob location
salaryStringSalary information when visible
workTypeStringEmployment type
classificationStringJob classification
subClassificationStringJob sub-classification
postedAt_isoStringISO posting date
postedAt_displayStringDisplay posting date
teaserStringShort job summary
bulletPointsArrayListing highlights
workArrangementsArrayWork arrangement labels
description_textStringPlain-text description
description_htmlStringHTML description
isFeaturedBooleanFeatured listing flag
isPremiumBooleanPremium listing flag
brandingLogoUrlStringCompany branding or logo URL when available
urlStringDirect job URL
list_urlStringSearch page URL
scrapedAtStringISO collection timestamp
detail_statusStringJob detail status when available
isExpiredBooleanWhether the listing is marked as expired

Usage Examples

Collect up to 20 developer jobs from the default Malaysia JobStreet site:

{
"keyword": "developer",
"results_wanted": 20
}

Find recent data analyst roles in Singapore:

{
"keyword": "data analyst",
"location": "Singapore",
"country": "sg",
"posted_date": "7d",
"results_wanted": 50
}

Pre-filtered JobStreet search URL

Reuse a JobStreet results page with its existing keyword, location, classification, work arrangement, or other search settings:

{
"startUrl": "https://my.jobstreet.com/data-analyst-jobs/in-Kuala-Lumpur",
"results_wanted": 100
}

Sample Output

The following is an example of one dataset item. Some listings may not include salary, work arrangement, company branding, or other optional fields.

{
"id": "91234567",
"url": "https://sg.jobstreet.com/job/91234567",
"title": "Senior Data Analyst",
"company": "Harbor Digital Pte. Ltd.",
"location": "Singapore",
"salary": "$6,000 - $8,000 per month",
"workType": "Full time",
"classification": "Information & Communication Technology",
"subClassification": "Business/Systems Analysts",
"postedAt_iso": "2026-07-31T02:15:00.000Z",
"postedAt_display": "2 days ago",
"teaser": "Use data to improve product and commercial decisions across Southeast Asia.",
"bulletPoints": [
"Competitive salary",
"Hybrid work arrangement"
],
"workArrangements": [
"Hybrid"
],
"description_text": "The Senior Data Analyst will build reports, analyze business performance, and partner with product teams to support better decisions.",
"description_html": "\u003Cp\u003EThe Senior Data Analyst will build reports, analyze business performance, and partner with product teams to support better decisions.\u003C/p\u003E",
"isFeatured": false,
"isPremium": false,
"brandingLogoUrl": "https://example.com/company-logo.png",
"list_url": "https://sg.jobstreet.com/data-analyst-jobs",
"scrapedAt": "2026-08-02T09:30:00.000Z",
"detail_status": "ACTIVE",
"isExpired": false
}

Tips for Best Results

  • Test with a small limit - Start with 10 to 20 records before scheduling a larger collection.
  • Use specific keywords - Add a seniority level, skill, or role name to reduce unrelated results.
  • Narrow the location - Use a city or region when you need a focused local dataset.
  • Choose the correct country - Set country to match the JobStreet site you want to search.
  • Use a full search URL for complex filters - JobStreet URLs can preserve filters that are not represented by the simple keyword and location inputs.
  • Expect source-dependent fields - Salary, descriptions, classifications, and work arrangements can be missing when the employer does not publish them.
  • Review the dataset before automation - Check a test run before sending records to alerts, dashboards, or a job board.
  • Report layout changes - Public job pages can change over time. Use the Actor's Issues tab to report missing or unexpected data.

Integrations and Export Formats

  • Apify Dataset - Preview records in Apify Console and retrieve them through the Apify API.
  • Google Sheets - Export job rows for recruiter review, filtering, and reporting.
  • Airtable - Build a searchable hiring database with company, location, salary, and posting-date fields.
  • Webhooks - Trigger downstream actions after a run completes.
  • Make or Zapier - Send new job records to notifications, CRM systems, or internal tools.
  • JSON, CSV, Excel, and XML - Download the dataset in formats suited to applications, spreadsheets, and data pipelines.

Frequently Asked Questions

Which JobStreet countries are supported?

Malaysia, Singapore, the Philippines, and Indonesia are supported through the my, sg, ph, and id country values.

Can I search JobStreet by keyword and location?

Yes. Set keyword and optionally set location, country, and posted_date to collect a focused search result set.

Can I use an existing JobStreet search URL?

Yes. Provide a public JobStreet search results page in startUrl. It overrides the keyword and location inputs, and the country domain is used for the run.

Can I extract full JobStreet descriptions?

Yes. The dataset includes description_text and description_html when a listing publishes description content. Empty source fields are not guaranteed to be available for every job.

Can I export JobStreet data to CSV or Excel?

Yes. Apify Dataset results can be downloaded as CSV, Excel, JSON, XML, and other supported formats.

Can I schedule recurring JobStreet searches?

Yes. Create an Apify schedule to run the Actor hourly, daily, weekly, or at another interval supported by your workflow.

How many listings can I collect?

The results_wanted input controls the maximum number of records saved for a run. Start with a smaller value to validate a search before increasing it.

Why is a field missing from a job record?

A field can be missing when the employer or JobStreet does not publish that information, or when the listing has changed or expired. Compare several records before treating a missing field as a run failure.

The Actor is intended for responsible collection of publicly available job information. You are responsible for complying with JobStreet's terms, applicable laws, privacy requirements, and any restrictions on storing or redistributing job data.

  • Jora Jobs Scraper - Collect comparable job listings across regions that include Malaysia, Singapore, and Indonesia.
  • Foundit Jobs Scraper - Collect structured job listings, salaries, skills, and descriptions for recruitment research.

Support

For issues, missing fields, or feature requests, use the Issues tab on the Actor page in Apify Console. Include the input JSON and a short description of the unexpected result when reporting a problem.

This Actor is intended for legitimate collection and analysis of publicly available JobStreet job information. Users are responsible for respecting JobStreet's terms of service, applicable privacy and data protection rules, intellectual property rights, and any limits on using or redistributing collected data.