All notable changes to the JobStreet Job Scraper are documented here.
- Initial production release of the JobStreet Job Scraper.
PlaywrightCrawler-based architecture using Chrome (apify/actor-node-playwright-chrome:22-1.54.1).
- Modular project structure following Brave Apify actor pattern:
src/main.js — entry point with input validation, proxy setup, and crawler init.
src/routes.js — Crawlee router factory.
src/routes/handlers.js — job listing page handler with multi-page pagination.
src/extractors/index.js — job listing data extraction from JobStreet.
src/extractors/selectors.js — CSS/DOM selectors for JobStreet SPA pages.
src/filters/index.js — URL-based deduplication filter.
src/schema/input.js — input validation (mode, keywords, location, country, startUrls, jobType, workArrangement, salaryMin).
src/utils/index.js — buildSearchUrl, isBlocked, country code mapping, stealth utilities.
src/errors/ — ScraperError, ErrorTypes, ErrorHandler.
.actor/actor.json, input_schema.json, dataset_schema.json for Apify platform compatibility.
- Support for 8 Asia-Pacific countries: AU, NZ, SG, MY, PH, ID, TH, HK.
Dockerfile using apify/actor-node-playwright-chrome:22-1.54.1 image.
README.md with full Apify usage guide, input/output field reference, and example JSON.
- Dataset views:
overview with title, company, location, country, jobType, jobUrl, scrapedAt, description.