HeadHunter (hh.ru) Scraper: Russia & CIS Jobs
Pricing
Pay per event
HeadHunter (hh.ru) Scraper: Russia & CIS Jobs
Scrape job listings from HeadHunter (hh.ru, hh.kz, hh.uz, hh.by) via the official public REST API. Returns title, employer, location, RUB/USD/EUR salary, schedule, experience, key skills, and contacts. Russia's #1 job board (90M+ monthly visits) + Kazakhstan, Uzbekistan, Belarus. No anti-bot.
Pricing
Pay per event
Rating
0.0
(0)
Developer
NanoScrape
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
a day ago
Last modified
Categories
Share
HeadHunter (hh.ru) Job Scraper
Extract job listings from HeadHunter -- Russia's #1 job board and the largest employment platform in the CIS region. Powered by the official, MIT-licensed HeadHunter public REST API (api.hh.ru). No browser required, no anti-bot hurdles.
A single actor covers all four HeadHunter national sites via the hostRegion input:
| Region | Site | Country |
|---|---|---|
ru (default) | hh.ru | Russia (~90M monthly visits) |
kz | hh.kz | Kazakhstan |
uz | hh.uz | Uzbekistan |
by | hh.by | Belarus |
What you get
Each result includes:
- Job details: title, vacancy URL, vacancy code (employer internal reference), publication date, last-updated date
- Employer: name, HeadHunter employer ID, profile URL, logo, trusted-employer flag, employer category (COMPANY / PRIVATE_INDIVIDUAL / AGENCY), company website (from SERP), IT accreditation badge, employer review rating and review count
- Location: city, region, region code (HeadHunter area ID), full address, nearest metro stations (Moscow / Saint-Petersburg)
- Salary: min/max range, currency (RUB / USD / EUR / KZT), gross/net flag, salary mode (Monthly / Per project / Hourly), salary frequency (Monthly / Twice per month / Weekly / Per project), human-readable text
- Schedule: fullDay / shift / flexible / remote / flyInFlyOut (normalized to English)
- Employment type: Full-time / Part-time / Project / Volunteer / Probation
- Employment form: Full-time / Part-time / Internship / Side job / Project (more granular than employment type)
- Work schedule by days: 5/2, 2/2, 3/3, 4/3, 6/1
- Working hours: 8 hours / 10 hours / 12 hours / Flexible
- Civil-law contracts: Self-employed, Individual entrepreneur, Individual person
- Experience level: No experience / 1-3 yrs / 3-6 yrs / 6+ yrs
- Flags: night_shifts, is_internship, accept_temporary, accept_labor_contract, accept_incomplete_resumes, has_test, response_letter_required
- Full description (plain text, HTML stripped) -- with
includeJobDetails: true - Key skills, professional roles, language requirements, driver licenses -- with
includeJobDetails: true - Contact info: name, email, phones -- from the vacancy detail endpoint
- Company profile (website, about, industry, open vacancy count) -- with
includeCompanyDetails: true
Input
{"searchQueries": ["программист", "аналитик данных"],"hostRegion": "ru","location": "Москва","experience": "between1And3","schedule": "remote","includeJobDetails": true,"includeCompanyDetails": false,"maxResults": 100,"maxResultsPerQuery": 50}
| Field | Type | Default | Description |
|---|---|---|---|
searchQueries | string[] | -- | Keywords to search. Leave empty for all vacancies. |
searchUrls | string[] | -- | Paste any hh.ru search URL to replicate exact filters. |
hostRegion | string | "ru" | ru / kz / uz / by |
location | string | -- | City or region name, e.g. Москва, Санкт-Петербург, Алматы. |
schedule | string | -- | fullDay / shift / flexible / remote / flyInFlyOut |
employment | string | -- | full / part / project / volunteer / probation |
experience | string | -- | noExperience / between1And3 / between3And6 / moreThan6 |
includeJobDetails | bool | true | Fetch full description, skills, contacts per vacancy. |
includeCompanyDetails | bool | false | Fetch employer profile (website, about, industry). |
maxResults | int | 5 | Global results cap. |
maxResultsPerQuery | int | 5 | Per-query results cap. |
Sample output
{"_type": "job","id": "98765432","title": "Python-разработчик","job_url": "https://hh.ru/vacancy/98765432","source_platform": "hh.ru","host_region": "ru","company_name": "Яндекс","company_id": "1740","company_url": "https://hh.ru/employer/1740","company_trusted": true,"company_category": "COMPANY","company_website": "https://yandex.ru","company_accredited_it": true,"company_rating": "4.6","company_reviews_count": 234,"location": "Москва, ул. Льва Толстого, 16","country": "RU","region": "Москва","region_code": "1","city": "Москва","address": "Москва, ул. Льва Толстого, 16","metro_stations": ["Парк культуры"],"posted_at_datetime": "2026-08-25T07:14:18Z","updated_at_datetime": "2026-08-31T07:37:16Z","employment_type": "Full-time","schedule": "Remote","schedule_id": "remote","employment": "Full-time","employment_form": "Full-time","experience_level": "1-3 years","experience_level_id": "between1And3","work_formats": ["Remote"],"work_schedule_by_days": ["5/2"],"working_hours": ["8 hours"],"civil_law_contracts": [],"salary_min": 150000,"salary_max": 250000,"salary_currency": "RUB","salary_gross": true,"salary_mode": "Monthly","salary_frequency": "Twice per month","salary_text": "150000 - 250000 RUB (gross)","description": "Требования:\nОпыт работы с Python от 1 года\nЗнание Django или FastAPI\nПонимание REST API\n\nУсловия:\nУдалённая работа\nГибкий график","key_skills": ["Python", "Django", "PostgreSQL", "Docker", "REST API"],"professional_roles": ["Программист, разработчик"],"industries": [],"languages": [],"driver_licenses": [],"working_days": [],"working_time_modes": [],"accept_temporary": false,"accept_labor_contract": true,"accept_incomplete_resumes": false,"night_shifts": false,"is_internship": false,"has_test": false,"response_letter_required": false,"is_archived": false,"contact_name": "Анна Иванова","contact_emails": [],"contact_phones": [],"vacancy_code": null,"search_query": "программист in Москва","scraped_at": "2026-08-25T10:00:00Z"}
Pricing (Pay Per Event)
| Event | When charged | Price |
|---|---|---|
actor-start | Once per run | $0.001 |
job-serp-result | Per vacancy (SERP only, includeJobDetails: false) | $0.003 |
job-detail-result | Per vacancy (with full detail, includeJobDetails: true) | $0.005 |
company-detail-result | Per vacancy (with company profile, includeCompanyDetails: true) | $0.005 |
Example costs:
- 1,000 SERP listings (no details): ~$3.00
- 1,000 listings with full job details: ~$5.00
- 1,000 listings with job + company details: ~$5.00 + $5.00 = ~$10.00
Why HeadHunter?
HeadHunter (hh.ru) is the dominant job platform across Russia and the CIS, with:
- ~90 million monthly visits on hh.ru alone
- 1M+ active vacancies at any time
- Coverage across all 89 Russian federal subjects
- Official, documented, MIT-licensed public API -- no scraping workarounds needed
- Salary data in RUB, USD, and EUR with gross/net distinction
- Rich structured data: key skills, professional role taxonomy, language requirements
- IT accreditation badge (critical for Russian tech employers -- signals tax breaks and mobilization exemptions for staff)
- Employer ratings and review counts directly in SERP data
For Kazakhstan: hh.kz covers Almaty, Nur-Sultan, and 14 oblasts.
Region coverage
The hostRegion input selects which HeadHunter national site to search. All regions share the same API endpoint (api.hh.ru) -- the region determines the area dictionary and the job URL domain in output.
Set location to a city in the correct country. For example:
hostRegion: "kz"+location: "Алматы"for Kazakhstan jobs in AlmatyhostRegion: "by"+location: "Минск"for Belarus jobs in Minsk
Related Actors
- Job Feed -- Multi-platform job aggregator
- Career Site Jobs Scraper -- Any company careers page
- Indeed Scraper -- Indeed.com
- Seek Scraper -- seek.com.au / seek.co.nz (multi-region reference)
- Trudvsem.ru Scraper -- Russia's state employment portal
- Website Job Extractor -- Any company careers page
Issues and support
Found a bug or need a field added? Open an issue via the Issues tab.
Questions? contact@nanoscrape.com