JobStreet Job Listings Scraper avatar

JobStreet Job Listings Scraper

Pricing

from $0.60 / 1,000 item processeds

Go to Apify Store
JobStreet Job Listings Scraper

JobStreet Job Listings Scraper

Export public JobStreet job listings by keyword, country, and optional location into structured records for recruitment research and market analysis.

Pricing

from $0.60 / 1,000 item processeds

Rating

0.0

(0)

Developer

Hanna Nosova

Hanna Nosova

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

7 days ago

Last modified

Share

Export public JobStreet job listings from supported Southeast Asian JobStreet marketplaces. Search by keyword, choose a marketplace, and download structured records for recruitment research, salary analysis, and hiring-market monitoring.

Input recipes

{
"query": "software engineer",
"country": "ID",
"maxItems": 25
}
InputDescription
queryJob title or keywords to search.
countryMarketplace: MY, SG, ID, or PH.
locationOptional location refinement.
maxItemsNumber of listings to export (1–100).

What you get

Each result represents one public JobStreet listing. Search results currently provide title, employer, location, salary label, classification, work type, teaser text, dates, and source context. Fields unavailable in the public search response are returned as null or an empty list rather than guessed.

{
"jobId": "94228905",
"title": "Software Engineer Project Manager",
"company": "HiThink Technology Indonesia",
"location": "South Jakarta, Jakarta",
"salaryText": "Rp 13.500.000 – Rp 20.000.000 per month",
"salaryCurrency": "IDR",
"canonicalUrl": "https://id.jobstreet.com/job/94228905"
}

Output fields

GroupFields
Identity and employerjobId, seekJobId, title, canonicalUrl, company, companyUrl, advertiserId
Location and salarylocation, locationCountry, locationState, locationSuburb, locationPostcode, salaryText, salaryMin, salaryMax, salaryCurrency, salaryType
Job classificationemploymentType, workArrangement, category, subCategory, roleId, teaser, bulletPoints
Description and company detailsdescription, descriptionHtml, descriptionMarkdown, descriptionLength, contentQuality, companyIndustry, companySize, companyWebsite, phoneNumber, screeningQuestions, applyUrl
Dates and sourcepostedDate, validThrough, contentHash, isSponsored, sourceUrl, sourceCountry, sourceDomain, searchQuery, searchUrl, scrapedAt, fetchedAt, detailFetched, extractedEmails
Tracking compatibilitychangeType, trackedHash, firstSeenAt, lastSeenAt, previousSeenAt, expiredAt, stateKey, isRepost, repostOfId, repostDetectedAt

Pricing and limits

The Actor charges a small start fee and per exported listing. See the live Pricing tab for current tiered rates. Each run returns 1–100 listings; source availability and disclosed fields vary by listing.

Who is it for?

  • Recruiters and talent teams building role- and location-specific prospecting lists.
  • Market researchers comparing public hiring demand, employers, and disclosed compensation.
  • Analysts and developers feeding structured JobStreet records into dashboards, databases, or agents.
  • Job-market monitors tracking public listings repeatedly through stable job IDs and source URLs.

Use cases

  • Build a list of relevant openings for recruitment research.
  • Compare advertised salary ranges across locations and job categories.
  • Monitor public hiring demand for a keyword or role.

Limits

Results reflect the fields publicly returned by JobStreet at request time. Salary and employer details vary by listing. The actor does not access login-only data and never fabricates unavailable detail fields.

Tips for useful searches

  • Use role-focused terms such as software engineer, accountant, or customer service.
  • Start with 10–25 listings to review a new query, then raise maxItems when it returns relevant roles.
  • Select the country where the hiring market is relevant; results are not inferred from your location.
  • Keep salaryText alongside normalized salary values because listings may use different pay periods or disclose no pay.
  • Save jobId, canonicalUrl, and scrapedAt when comparing repeated exports over time.

Working with the data

GoalSuggested fields
Find new openingstitle, company, location, postedDate, canonicalUrl
Compare compensationsalaryText, salaryMin, salaryMax, salaryCurrency, salaryType
Segment hiring demandcategory, subCategory, employmentType, workArrangement
Keep a research trailjobId, sourceUrl, searchQuery, scrapedAt, contentHash

FAQ

Which marketplaces are supported? Malaysia, Singapore, Indonesia, and the Philippines.

Why are some fields empty? JobStreet does not disclose every salary, employer, or listing-detail field in every public search response.

Can I use this in an agent workflow? Yes. Submit the same JSON input through the Apify API or the Actor's MCP integration.

Does it access private job data? No. It exports only public listing data available at request time.

API usage

Node.js

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor('fetch_cat/jobstreet-job-listings-scraper').call({
query: 'software engineer', country: 'ID', maxItems: 25,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);

Python

from apify_client import ApifyClient
client = ApifyClient("YOUR_APIFY_TOKEN")
run = client.actor("fetch_cat/jobstreet-job-listings-scraper").call(
run_input={"query": "software engineer", "country": "ID", "maxItems": 25}
)
print(list(client.dataset(run["defaultDatasetId"]).iterate_items()))

cURL

curl -X POST 'https://api.apify.com/v2/acts/fetch_cat~jobstreet-job-listings-scraper/runs?token=YOUR_APIFY_TOKEN' \
-H 'content-type: application/json' \
-d '{"query":"software engineer","country":"ID","maxItems":25}'

MCP and agent workflows

Use the same structured input with the Apify MCP server. Add it to Claude Code with:

$claude mcp add --transport http apify https://mcp.apify.com?tools=fetch_cat/jobstreet-job-listings-scraper

Or add this server configuration to an MCP-compatible client:

{
"mcpServers": {
"apify": {
"type": "http",
"url": "https://mcp.apify.com?tools=fetch_cat/jobstreet-job-listings-scraper"
}
}
}

Example prompts:

  • "Find 20 public software engineer openings on JobStreet Malaysia and summarize the employers and locations."
  • "Export public accounting jobs in Singapore and group listings by disclosed salary range."
  • "Compare titles, work arrangements, and employers in this JobStreet result dataset."

An agent can run a country-specific search, then filter the returned default-dataset rows by title, location, employer, or disclosed salary.

Examples

The Actor currently provides Input recipes above. After publication, Publisher will add verified, ready-to-run examples for Indonesia software-engineering and Malaysia accounting searches; this README will then link only to real public example pages.

Support

If a supported marketplace returns no listings for a known public query, include the input and run URL when contacting support so the route can be checked.