# Changelog of SEEK, JobStreet & JobsDB Jobs Scraper (`akhil_rajesh/seek-jobstreet-jobsdb-scraper`) Actor

- **URL**: https://apify.com/akhil\_rajesh/seek-jobstreet-jobsdb-scraper/changelog.md
- **Full Actor documentation**: https://apify.com/akhil\_rajesh/seek-jobstreet-jobsdb-scraper.md

## Changelog

All notable changes to this Actor are documented here.

### 0.1 - First release (2026-09-23)

- Scrapes jobs from **SEEK** (Australia, New Zealand), **JobStreet** (Malaysia,
  Singapore, Philippines, Indonesia) and **JobsDB** (Hong Kong, Thailand) through
  the public endpoints their own websites use. No browser, no login, no API key.
- **No 550-job ceiling.** One SEEK search stops at 550 jobs; bigger searches are
  split by work type, then category, then subcategory, and merged without
  duplicates. A run says when a single subcategory still held more than 550.
  **Newest first** past 550 keeps to the fewest recent days that hold enough jobs.
- **Several searches in one run**: more keywords and more locations, every keyword
  in every place. Max results is shared evenly, what one search can't fill goes to
  the others, and a job found twice is delivered once.
- **Paste links** from any of the eight sites: search result pages keep the
  filters in their address, and job ads are fetched directly, closed ones included
  (`isExpired`).
- **Competition data**: applicant count, SEEK's application volume label, the
  share of applicants with a resume and with a cover letter, and the employer's
  screening questions.
- **Pay parsed into numbers**: `salaryMin`, `salaryMax`, `salaryCurrency` and
  `salaryPeriod` (hour, day, week, fortnight, month, year), built from the salary
  text of 11,500 live listings in all eight countries. About 44% of listings show
  a salary, and 93% of those parse. "$30+ per hour" is a minimum, and an extra's
  own period ("+ monthly bonus") is not taken for the salary's.
- **The currency SEEK recorded**, not the symbol: a `$` on JobStreet Philippines,
  Indonesia or JobsDB Thailand is usually USD, and on JobStreet Malaysia it can be
  SGD.
- **Full details** in batches of 25 jobs per request, paced to SEEK's allowance of
  about 500 a minute: the full description (text and HTML), expiry date, whether
  you apply on an external site, a verified-advertiser flag, and the employer's
  industry, size, rating, perks, description and website from its SEEK company
  profile. If SEEK keeps refusing, the run stops asking and says so.
- **Filters**: work type, work arrangement, category, salary range, distance (1 to
  100 km), posted within, words the title (or description) must or must not
  include, and ads that publish contact details. Jobs left out are not charged.
- **Locations as people type them**: Australian state names and abbreviations
  (`NSW`, `VIC`, `WA`, which SEEK itself reads as Sydney, Victoria Park and Wagga
  Wagga, and `Western Australia`, whose first word alone SEEK reads as a Melbourne
  suburb), `KL`, `NCR`, `BKK`, country names, and `remote`. A place SEEK doesn't
  recognise is tried in a simpler form (`Perth, Western Australia` becomes
  `Perth WA`) before the run gives up with SEEK's own suggestions.
- **Change tracking between runs**: each job is marked NEW, UPDATED (with the
  fields that changed), UNCHANGED or REAPPEARED, with first-seen and last-seen
  times, and new jobs that repeat an earlier ad are flagged as reposts. Jobs that
  have closed since are reported as EXPIRED only when SEEK confirms it, with the
  time they closed. Only changes are output and charged, and each search keeps
  its own history automatically.
- **Only new jobs** across runs, remembered in a named key-value store for 60 days,
  also across a killed and resumed run.
- **Optional contact details** (emails and phone numbers published in the ad),
  off by default. Confidential employers show as `isPrivateAdvertiser`, not as a
  company called "Private Advertiser".
- **Resumable.** A migrated, aborted or killed run carries on where it stopped
  without losing or repeating jobs, including in the middle of a split search.
- **Ends before its time limit** with what it has, and says so, instead of timing
  out.
- **Your spending limit is respected**. A single row the dataset rejects is skipped
  rather than failing the run, and a batch is never pushed twice.
- Six dataset views: Jobs, Pay, Companies, Competition, Changes and Descriptions.
