hh.ru Jobs Search Scraper avatar

hh.ru Jobs Search Scraper

Pricing

from $2.99 / 1,000 job details

Go to Apify Store
hh.ru Jobs Search Scraper

hh.ru Jobs Search Scraper

Scrape job listings from hh.ru (HeadHunter Russia) via the official public REST API. Extract detailed job info including salary, company details, location, experience level, and employment conditions.

Pricing

from $2.99 / 1,000 job details

Rating

0.0

(0)

Developer

Jobs API

Jobs API

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

5 hours ago

Last modified

Share

Extract structured public vacancies from HH.ru through its public REST API. The Actor supports keyword search, multiple searches, and direct vacancy IDs or URLs, with bounded pagination, optional detail enrichment, retries, and proxy routing.

Why use this Actor?

  • Collect current HH.ru vacancies without browser automation.
  • Enrich results with descriptions, skills, salary, employer, schedule, and location data.
  • Run one search, several searches, one vacancy, or a bounded list of vacancies.
  • Deduplicate records by stable HH.ru vacancy ID and inspect a machine-readable run summary.

Input

FieldTypeDefaultDescription
modestringsearchsearch, searchMultiple, single, or multiple.
keywordsstringPython developerSearch query; query is a legacy alias.
queriesstring[]-One to ten queries for searchMultiple.
jobUrls / vacancyIdsstring[]-One to 100 public vacancies for direct modes.
areastring113HH.ru area ID: 113 Russia, 1 Moscow, 2 Saint Petersburg.
experience, employment, schedulestringanyOfficial HH.ru filter IDs.
salaryFrom / onlyWithSalaryinteger / boolean- / falseSalary filters.
orderBystringrelevanceRelevance, newest, or salary ordering.
maxItemsinteger50Global cap from 1 to 500; maxJobs is a legacy alias.
maxPagesinteger5Per-query page cap from 1 to 20.
includeDetailsbooleantrueFetch full vacancy details; direct modes always do.
detailConcurrencyinteger5Detail concurrency from 1 to 10.
requestTimeoutSecs / maxRetriesinteger30 / 3Bounded network controls.
requestDelayMsinteger250Delay between search pages.
proxyConfigurationobjectdirectOptional Apify Proxy or custom proxy configuration.
{
"mode": "search",
"keywords": "Python developer",
"area": "113",
"maxItems": 25,
"maxPages": 2,
"includeDetails": true,
"proxyConfiguration": { "useApifyProxy": false }
}

For direct extraction, set mode to single or multiple and provide jobUrls or vacancyIds.

Output

Each dataset row is one unique vacancy. Records include identity and URLs, employer, location, salary, experience, employment, schedule, descriptions, skills, languages, roles, publication dates, source metadata, and runtime metadata.

detailStatus is explicit: fetched, not-requested, or failed. A failed search detail may be preserved as a marked partial record. Direct modes fail instead of reporting false success when no requested detail can be retrieved. OUTPUT in the default key-value store contains record, request, proxy, environment, and runtime counts.

Local use

npm ci
apify actor:run --input-file INPUT.json
npm run validate:dataset

Direct access may be restricted by region or network. Configure an authorized proxy if needed. Credentials are never written to logs or output. Keep item, page, retry, concurrency, and proxy limits bounded to control cost and source load.

Responsible use

Collect only public vacancy data. Respect HH.ru terms, API limits, robots directives, and applicable privacy and employment laws. Do not use this Actor for authenticated content, candidate data, spam, discrimination, or automated applications.