- Geo-distance filtering: new
radiusKm input drops jobs outside a radius of the
searched location (single-Location searches only); each job gets a distanceKm
field. keepNoCoord (default true) controls whether jobs without coordinates
are kept (with distanceKm: null) or dropped when a radius is set.
- Fixed incremental mode: coverage tracking was hardwired to "not wired", so
EXPIRED status, isRepost, and repostOfId were never emitted even though
the schema documented them. Coverage is now computed per run from real search
completion signals (page fetch failures, result-page cap truncation) —
expired-job detection only fires when every search fully ran to exhaustion.
Initial release. Scrapes BestJobs.eu, a leading Romanian job board:
- Full job listings with structured salary ranges (min / max / currency / period),
including estimated-salary detection when the employer keeps pay confidential.
- Company profile, rating, and description; spoken-language requirements; remote and
relocation status; vacancy count and view count.
- Full job descriptions (text / HTML / Markdown) and direct external apply links.
- Search by keyword and Romanian city, browse-all mode, and remote-only filter.
- Incremental mode (new / updated / expired change tracking), notifications
(Telegram / Discord / Slack / WhatsApp / webhook), and compact output for AI agents.