The Jobstreet API produces 73 fields per record. Below is the complete field list, what each group contains, and which values may come back empty. The sales pitch waits until the end.
Coverage includes Malaysia, Singapore, Indonesia and the Philippines.
These are the results our own Jobstreet Actor returns, along with its cost and limits.
Every field
Every row contains 73 fields, organized into these groups:
- company — company, companyUrl, companyIndustry, companySize, companyWebsite, companyDescription, companyLogo, companyCoverImageUrl, companyPerks, companySearchUrl, companyReviewRating, companyReviewCount
- location — location, locationCountry, locationState, locationSuburb, locationPostcode
- salary — salaryText, salaryMin, salaryMax, salaryCurrency, salaryType
- description — description, descriptionHtml, descriptionMarkdown, descriptionLength
- job — jobId, jobScore, jobScoreReasons
- is — isVerifiedAdvertiser, isSponsored, isRepost
- contact — contactName, contactEmail, contactPhone
- source — sourceUrl, sourceCountry, sourceDomain
- extracted — extractedEmails, extractedPhones, extractedUrls
- category — category, categoryId
- sub — subCategory, subCategoryId
- content — contentQuality, contentHash
- apply — applyEmail, applyUrl
- applicant — applicantCount, applicantVolumeLabel
- search — searchQuery, searchUrl
- repost — repostOfId, repostDetectedAt
Here is an actual record from a run, trimmed to its leading fields:
{
"jobId": "0b30f9455ac6d9078bd29ea2a74fc7f7af82cb623420ee0cbb4b7feaf5d9f5be",
"seekJobId": "94051545",
"title": "Software Engineer",
"canonicalUrl": "https://my.jobstreet.com/job/94051545",
"company": "techstreet",
"companyUrl": null,
"advertiserId": "63825126",
"location": "Petaling Jaya, Selangor",
"locationCountry": "MY",
"locationState": null,
"locationSuburb": null,
"locationPostcode": null,
"salaryText": "RM 5,000 - RM 7,000 per month",
"salaryMin": 5000
}
Filters that narrow a run
The input supports 53 options, including query, country, location, startUrls, maxResults, maxPages, sortMode, dateRange, workType, workArrangement, classification, subClassification, salaryMin, salaryMax, includeKeywords, excludeKeywords, keywordMatchTitle, keywordMatchCompany, keywordMatchDescription, keywordMatchCategory, and more. Because the filters run server-side, you pay for the records you requested instead of collecting extra records and filtering them afterwards.
The available markets are Malaysia, Singapore, Indonesia and the Philippines. The country option accepts MY, SG, ID, PH and defaults to MY. Each run is limited to one market before any records are produced, so data outside that market is neither fetched nor billed.
What it costs
Pricing is per event, with no subscription:
- $0.01 per actor start
- $0.002 per result
Here are the figures from a measured run, not an estimate:
- 25 records in 28.0 seconds
- cost: $0.00155 — about $0.06 per 1,000 records
What people use it for
- Benchmarking. Pricing and salary fields support comparisons across the entire result set instead of requiring someone to eyeball a page of listings.
- Reputation monitoring. Ratings and review text reveal changes over time that one page view cannot show.
- Lead lists. Company-level fields help narrow the data to the relevant segment before anyone opens a CRM.
- Change detection. Timestamps make it possible to diff runs and act on new information instead of re-reading the full set.
- Geographic analysis. Location fields allow market-by-market comparisons without another data source.
Limits
- An empty value means the source displayed nothing. The Actor never infers fields or fills them with data from elsewhere.
- The schema tracks Jobstreet's markup. A redesign can add, rename or remove fields.
- Anything Jobstreet places behind a login is deliberately absent from every field below.
Operational details
Fields are not always populated, and missing values are never guessed. When the source leaves a field blank, the field comes back blank. An empty value therefore means Jobstreet did not display one, not that extraction failed.
For market selection, country accepts MY, SG, ID, PH and defaults to MY. A single run covers one market. Covering multiple markets requires multiple runs, each billed only for the records it returns.
The maxResults, maxPages, dateRange, workType filters run server-side. That affects cost as well as convenience: records excluded by those filters are never produced and therefore never billed.
Every run reads Jobstreet when it executes, with no cached copy in between. Two runs a week apart produce two snapshots, enabling change detection.
To fetch only changed records, use incrementalMode. Without it, another run returns the entire set, leaving deduplication to your side.
There is no public bulk export or API. The field list above comes from parsing pages, not from a documented schema.
Try it
If these fields match your requirements, the Jobstreet API Actor produces them. New accounts receive $5 of free platform credit each month, enough to run a job of this size several times.
Disclosure: we build and maintain this Actor, and the link above is an affiliate link.
Further reading
- Upwork API — another scraper we build and document
- the Internshala API, in the same detail — another scraper we build and document
- our write-up on the Bayt API — another scraper we build and document
We also publish the full Jobstreet API reference on blackfalcondata.com — the request, the response, and what a run costs.
Top comments (0)