JobsDB Singapore Search Scraper avatar

JobsDB Singapore Search Scraper

Pricing

from $2.99 / 1,000 jobsdb singapore job records

Go to Apify Store
JobsDB Singapore Search Scraper

JobsDB Singapore Search Scraper

Scrape job listings from JobsDB Singapore (jobsdb.com/sg), a leading Southeast Asian job platform. Extract job titles, companies, locations, salary ranges, job types, and descriptions for Singapore recruitment.

Pricing

from $2.99 / 1,000 jobsdb singapore job records

Rating

0.0

(0)

Developer

Jobs API

Jobs API

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

11 days ago

Last modified

Share

This Actor is intended to extract source-backed public job records from sg.jobsdb.com. It uses bounded, sequential, direct HTTPS requests and Cheerio parsing of public listing/detail HTML and JobPosting JSON-LD. It does not use a proxy, custom user-agent headers, retries, automatic redirect-following, fingerprint spoofing, CAPTCHA/WAF bypasses, remote Actor calls, or remote pushes.

Modes

  • search discovers official public /job/... links from a bounded JobsDB listing search, then fetches and verifies each detail page.
  • single fetches one exact public detail URL.
  • multiple fetches several exact public detail URLs sequentially within the local bound.

jobUrl, directUrl, jobUrls, directUrls, startUrl, and startUrls are accepted as direct URL aliases. Every direct URL must remain on https://sg.jobsdb.com and match a public /job/.../<id> route.

Output and quality rules

Rows are buffered until the detail page has a matching canonical URL, stable ID, title, company, location, and a non-trivial public description. Only complete job rows are written to the dataset. Application URLs are emitted only when a real source-backed anchor or JobPosting.potentialAction exists; otherwise the field is omitted.

HTTP 401/403/429/451 or a visible source-authored access denial stops requests immediately and discards buffered rows. Request receipts and diagnostics remain in KVS, not dataset rows. Platform status is SUCCEEDED or FAILED; resultStatus independently reports COMPLETE, LIMITED, SKIPPED, DEFERRED, NO_DATA, or FAILED. Explicit blocks are SUCCEEDED/SKIPPED; redirects, HTTP 407, other unsuccessful responses, and transport failures are SUCCEEDED/DEFERRED, not proof of a block. Verified rows successfully written before a later non-block error remain SUCCEEDED/LIMITED; fatal zero-row failures call Actor.fail() as FAILED/FAILED. The Actor does not change routes or work around a barrier. The dataset validator rejects nulls, blank/placeholder strings, empty arrays/objects, duplicate IDs/URLs, and non-official URLs, and reconciles lifecycle status with KVS evidence.

Current audit status

On 2026-09-23, Chrome opened the configured public URL https://sg.jobsdb.com/jobs and landed at https://sg.jora.com/jobs, titled Jora Singapore has closed. The page said Jora is no longer operating in Singapore and linked to Jobstreet. This is a source-page redirect/closure, not an access-denial challenge. The JobsDB Actor audit is therefore DEFERRED; the suggested partner site and other routes were not opened. Chrome did not expose an HTTP status or request receipt. No Actor request, run, dataset, Cloud push, or Cloud call was performed.

Cloud and quality contract

Version 2.2 emits only complete detail-verified jobs with canonical identity, company, location, and substantial description when the configured source is ordinarily accessible. Request receipts remain in KVS. The previously observed route redirected to a Jora closure page; this is a deferred source availability outcome, not a block, and current source data and Cloud qualification remain unverified. No proxy or Cloud run was used.

Local commands

npm install --ignore-scripts --no-audit --no-fund
npm test
npm run lint
apify validate-schema

Do not run the Actor while the configured JobsDB route redirects to the Jora closure page. If a future, separately authorized audit finds the ordinary public route available, first confirm a new actor-relative APIFY_LOCAL_STORAGE_DIR does not exist and run with --resurrect; never use --purge or reuse an existing dataset directory. The repository QA workflow does not call apify push or apify call.