All notable changes to the hh.ru Job Scraper are documented here.
- Initial production release of the hh.ru (HeadHunter Russia) Job Scraper.
- Official hh.ru REST API integration — no browser required, no credentials needed.
- Modular project structure:
src/main.js — entry point with input validation and API orchestration.
src/schema/input.js — input validation (mode, keywords, area, experience, salaryFrom).
src/extractors/index.js — vacancy normalisation (normalizeVacancy, normalizeVacancyDetail).
src/filters/index.js — deduplication and result filtering helpers.
src/utils/index.js — URL builder, HTTP retry wrapper using got-scraping.
src/errors/ — ScraperError, ErrorTypes, ErrorHandler.
- Two operating modes:
search (keyword + filters) and jobUrl (direct vacancy URLs).
- Pagination support up to 2 000 results (hh.ru API cap of 50 pages × 20 per page).
- Salary filter (
salaryFrom, onlyWithSalary) and schedule/employment/experience filters.
- Job detail enrichment: key skills, languages, full description, contacts.
.actor/actor.json, input_schema.json, dataset_schema.json for Apify platform compatibility.
Dockerfile based on apify/actor-node-playwright-chrome.
README.md with full Apify usage guide.