# Changelog of Reed.co.uk Job Scraper 💰 $0.99/1K — UK Job Listings (`blackfalcondata/reed-jobs-feed`) Actor

- **URL**: https://apify.com/blackfalcondata/reed-jobs-feed/changelog.md
- **Full Actor documentation**: https://apify.com/blackfalcondata/reed-jobs-feed.md

## Changelog

### 0.1.41 — 2026-05-13

#### Added — discovery inputs

- `jobIds[]` — fetch specific Reed job IDs directly, bypassing search
- `startUrls[]` — paste Reed search URLs or detail URLs; auto-parsed into queries or direct fetches
- `searchQueries[]` — multi-query search with cross-query deduplication
- `distanceFromLocation` — radius search in miles (defaults to Reed's 10)
- `employerProfileId` — filter by Reed employer-profile ID

#### Added — output controls

- `descriptionFormat` — choose `all` / `text` / `html` / `markdown` to control which description variants are emitted
- `omitEmptyFields` — strip null and empty-array fields for leaner datasets (AI-agent friendly)

#### Added — incremental & lifecycle

- 5-state `changeType` classification: `NEW` / `UPDATED` / `UNCHANGED` / `EXPIRED` / `REAPPEARED` (previously emitted only `new` / `updated`)
- `emitUnchanged` — opt-in to emit `UNCHANGED` records (default: skipped)
- `emitExpired` — opt-in to emit `EXPIRED` records when SERP is fully explored (default: skipped)
- New output fields: `firstSeenAt`, `lastSeenAt`, `previousSeenAt`, `expiredAt`
- Legacy incremental KV state auto-migrates to v1 IncrementalState format on first run after upgrade

#### Changed

- Discovery: direct `jobIds[]` are fetched first and capped at `maxResults`; SERP queries backfill remaining budget. Eliminates over-fetching when `jobIds.length > maxResults`.
- Detail responses from `jobIds[]` are cached and reused in the enrichment loop (no double-fetch).
- `query` is no longer required when `jobIds[]` is supplied.
- Description trimming (`descriptionFormat`, `descriptionMaxLength`) runs AFTER incremental classification so it never corrupts the tracked-content hash.
- HTTP retries now use one consistent retry layer for transient errors. Authentication and permission errors fail fast.
- Example run inputs now cover radius search, direct job IDs, incremental runs with expired records, and Slack notifications.

### 0.1.x — 2026-04-14

- Added: `descriptionHtml`, `descriptionMarkdown` output fields (triple-format descriptions for RAG/LLM pipelines)
- Added: `contentHash` output field (SHA-256 hash of content-identifying fields)

### 0.1.x — 2026-04-14

- Added: cross-run repost detection (`isRepost`, `repostOfId`, `repostDetectedAt`)
- Added: `skipReposts` input to exclude detected reposts from output

### 0.1.0 (2026-03-22)

Initial release.

- Search UK job listings on reed.co.uk by keyword and location
- Filters: job type, work type, posted by, salary range, graduate, employer
- Detail enrichment with salary, contract type, and apply URL
- Incremental mode with change detection
- Compact output for AI-agent and MCP workflows
