HH.ru Russia & CIS Job Listing Scraper
Pricing
from $0.80 / 1,000 record scrapeds
HH.ru Russia & CIS Job Listing Scraper
Scrape live job vacancies from HH.ru across Russia, Ukraine, Kazakhstan, Belarus, Georgia, Azerbaijan, Kyrgyzstan, and Uzbekistan. Returns titles, salaries (gross/net), employer ratings, schedules, and full requirement/responsibility text for every listing.
Pricing
from $0.80 / 1,000 record scrapeds
Rating
0.0
(0)
Developer
BowTiedRaccoon
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
8 hours ago
Last modified
Categories
Share
Scrape live job vacancies from HH.ru, the dominant job board across Russia and the CIS. Returns titles, salaries (gross vs. net), employer ratings, work schedules, and full requirement/responsibility text for every listing across Russia, Ukraine, Kazakhstan, Belarus, Georgia, Azerbaijan, Kyrgyzstan, and Uzbekistan.
HH.ru Scraper Features
- Covers all 9 areas on HH.ru's own facet — Russia plus 8 CIS countries — in a single run
- Extracts gross-vs-net salary distinction, not just a single number
- Returns employer trust flag, review rating, and review count per listing
- Filters by free-text keyword the same way HH.ru's own search box does
- Splits requirement and responsibility text out of the full job description where the posting is structured that way
- Includes work format (remote/hybrid/onsite), schedule, and employment type
- Handles pagination automatically across every selected area — you get the full result set, not one page
Who Uses HH.ru Job Data?
- Recruiters and staffing agencies — benchmark salary ranges across regions before making an offer
- Compensation analysts — build pay bands from real gross/net postings instead of self-reported surveys
- Market researchers — track hiring demand by industry, region, or employment type across the CIS
- Job board aggregators — feed structured vacancy data into a meta-search product
- Relocation and remote-work platforms — filter for remote/hybrid postings across a specific country
- Labor economists — study wage dispersion and job growth patterns across Russia and neighboring states
How HH.ru Scraper Works
- Pick which areas to crawl (Russia, Ukraine, Kazakhstan, etc.) and an optional search keyword.
- The scraper walks HH.ru's own search results for each selected area, page by page.
- Each vacancy's detail page is visited for the fields the search results don't carry — schedule, employment type, publish date, and the requirement/responsibility split.
- Records land in your dataset as they're collected, so you can start using data before the run finishes.
Input
{"areas": ["113"],"query": "python developer","maxItems": 100}
| Field | Type | Default | Description |
|---|---|---|---|
areas | array | all | Which HH.ru areas to crawl: Russia, Ukraine, Kazakhstan, Azerbaijan, Belarus, Georgia, Kyrgyzstan, Uzbekistan, or Other regions. Leave empty to crawl every area. |
query | string | none | Optional free-text keyword, matching HH.ru's own search box (e.g. python developer). Leave blank to crawl every vacancy in the selected areas. |
maxItems | integer | 10 | Maximum number of vacancies to return. |
Crawl all CIS countries with no keyword filter
{"maxItems": 5000}
Resuming a large crawl
Every run emits a resumeCursor in its Output. If a large crawl stops before it finishes — because it hit maxItems, your spend cap (maxTotalChargeUsd), or was aborted — start a new run with the same input plus that resumeCursor to continue from where it left off. The crawl resumes from the queued work the previous run didn't reach.
- You are not re-charged for records the earlier run already delivered.
- Resume within your account's run-retention window — on the free tier, roughly your 10 most recent runs. Once the source run is pruned, its
resumeCursoris no longer valid. resumeCursoris opaque — supply it unmodified.
HH.ru Scraper Output Fields
{"vacancy_id": "136008171","title": "Водитель фронтального погрузчика","employer_name": "РосРегион Развитие","employer_id": "1238295","employer_is_trusted": true,"employer_review_rating": 4,"employer_review_count": 37,"area_name": "Russia","address": "Новосибирск","metro_station": "Речной вокзал","salary_min": 92000,"salary_max": 92000,"salary_currency": "RUB","salary_is_gross": false,"experience_required": "Опыт 1-3 года","vacancy_url": "https://hh.ru/vacancy/136008171","work_schedule": "3/3","work_format": "onsite","employment_type": "Полная занятость","snippet_requirement": "опыт работы не менее 1 года наличие прав категория Д ОБЯЗАТЕЛЬНО ...","snippet_responsibility": "работа по погрузке щебня на территории карьера проведение ремонтных работ ...","published_at": "2026-08-19T11:39:02.107+03:00","has_response_letter": false,"scraped_at": "2026-08-20T06:14:02.507Z"}
| Field | Type | Description |
|---|---|---|
vacancy_id | string | HH.ru's own vacancy ID |
title | string | Job title |
employer_name | string | Hiring company name |
employer_id | string | HH.ru's own employer ID |
employer_is_trusted | boolean | Whether HH.ru has verified this employer |
employer_review_rating | number | Average employer review rating, when the employer has reviews |
employer_review_count | number | Number of employer reviews |
area_name | string | Country-level area this vacancy was crawled under |
address | string | City or district shown on the listing |
metro_station | string | Nearest metro station, when applicable |
salary_min | number | Minimum stated salary |
salary_max | number | Maximum stated salary |
salary_currency | string | Salary currency (e.g. RUB) |
salary_is_gross | boolean | true if the salary is stated before tax, false if net take-home |
experience_required | string | Required experience level |
vacancy_url | string | Direct link to the vacancy on HH.ru |
work_schedule | string | Work schedule (e.g. 5/2, 3/3) |
work_format | string | remote, hybrid, onsite, or the source's own wording when it doesn't map cleanly |
employment_type | string | Employment type (full-time, part-time, etc.) |
snippet_requirement | string | Requirements text extracted from the job description, when the posting uses a standard section header |
snippet_responsibility | string | Responsibilities text extracted from the job description, when the posting uses a standard section header |
published_at | datetime | When the vacancy was published |
has_response_letter | boolean | Whether HH.ru requires a cover letter to apply |
scraped_at | datetime | When this record was scraped |
FAQ
How do I scrape HH.ru job listings?
Run this actor with no input beyond the defaults and it crawls every open vacancy across Russia and the CIS. Set areas to narrow it to specific countries, or add a query keyword to filter by role.
How much does HH.ru Scraper cost to run?
Pricing is pay-per-result at a standard per-record rate — check the Pricing tab on this actor's page for the current rate. There's no separate charge for the areas or keyword filters.
What data can I get from HH.ru?
Job title, employer name and trust status, salary (with the gross-vs-net distinction most competitors skip), location, work schedule and format, experience level, and the full requirement/responsibility text where the posting is structured that way.
Can I filter by country or region?
Yes. Set areas to one or more of Russia, Ukraine, Kazakhstan, Azerbaijan, Belarus, Georgia, Kyrgyzstan, or Uzbekistan. Leave it empty to crawl all of them in one run.
Do I need an account or API key for HH.ru?
No. HH.ru Scraper reads public vacancy pages — no HH.ru login or API key required.
Need More Features?
Need custom fields, filters, or a different target site? File an issue or get in touch.
Why Use HH.ru Scraper?
- Full CIS coverage — one run reaches Russia and 8 neighboring countries on the same facet, not just the Russian market.
- Salary detail competitors flatten away — most HH.ru scrapers return one salary number; this one keeps the gross/net distinction and the min/max range separately, which is the difference between a usable comp dataset and a guess.
- Employer signal included — trust flag, review rating, and review count ride along with every listing, so you can screen postings without a second lookup.