Hh Resume Search Scraper avatar

Hh Resume Search Scraper

Pricing

Pay per usage

Go to Apify Store
Hh Resume Search Scraper

Hh Resume Search Scraper

Scrape resume profiles from hh.ru's search engine with precision. Collect candidate names, skills, salary expectations, job search status, and 20+ professional attributes in structured JSON — perfect for recruiters, HR teams, and talent acquisition platforms.

Pricing

Pay per usage

Rating

0.0

(0)

Developer

Soft Alexist

Soft Alexist

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

18 hours ago

Last modified

Share

HH.ru Resume Search Scraper: Extract Candidate Data at Scale


About HH.ru

HH.ru is Russia's largest job search platform, connecting millions of job seekers with employers across industries. Its resume search feature allows deep mining of candidate data — but manual extraction is slow and error-prone. The HH.ru Resume Search Scraper automates this workflow, delivering structured candidate profiles ready for analysis, recruitment workflows, or talent database integration.


Overview

The HH.ru Resume Search Scraper extracts candidate resume profiles from HH.ru's resume search results pages. It transforms unstructured HTML into clean JSON records containing 26+ candidate attributes. Ideal for:

  • Recruiters sourcing candidates by skills, experience, and location
  • HR automation platforms building talent pools for active hiring
  • Talent acquisition teams conducting market research and competitor benchmarking
  • HR analytics providers creating candidate datasets for insights
  • Career platform developers aggregating resume data for job matching engines

The scraper handles pagination gracefully, supports error tolerance via ignore_url_failures, and scales to hundreds of profiles per search query.


Input Format

The scraper accepts a JSON configuration:

{
"urls": [
"https://hh.ru/search/resume?from=footer_new&hhtmFromLabel=footer_new&hhtmFrom=main"
],
"ignore_url_failures": true,
"max_items_per_url": 200
}

Input Field Definitions

ParameterTypeDescriptionExample
urlsArrayURLs of HH.ru resume search result pages to scrape. Add filtered search URLs (by skills, experience, location, salary)https://hh.ru/search/resume?...
ignore_url_failuresBooleanIf true, the scraper continues running even if some URLs fail. Useful for bulk scraping.true
max_items_per_urlIntegerMaximum number of resume profiles to extract per URL. Limits data volume and API costs.200

Pro tip: Use HH.ru's native filters to create targeted search URLs—by skill (Python, JavaScript), location (Moscow, St. Petersburg), salary range, or job search status. Paste multiple filtered URLs to build comprehensive candidate datasets.


Output Format

Sample output

{
"forbidden": null,
"age": [
{
"string": 50
}
],
"fields_view_status": [
{
"contact_view_status": null,
"vacancy_permissions": [],
"role_permissions": []
}
],
"gender": [
{
"string": "male"
}
],
"has_photo": [
{
"string": true
}
],
"hidden_fields": [],
"job_search_status": [
{
"job_search_status": {
"name": "active_search",
"last_change_time": "2026-03-12T12:58:10.704538Z"
}
}
],
"key_skills": [
{
"string": "Ремонтные работы"
},
{
"string": "Сварочные работы"
},
{
"string": "Слесарные работы"
},
{
"string": "каркасное строительство"
},
{
"string": "штукатурка стен"
},
{
"string": "Водительское удостоверение категории B"
},
{
"string": "Точность и внимательность к деталям"
},
{
"string": "Работа в команде"
},
{
"string": "Кайдзен"
}
],
"lang": [
{
"string": "ru"
}
],
"last_activity_time": "2026-07-09T20:28:03.052+03:00",
"last_change_time_details": [
{
"year": "2026",
"month": "7",
"day": "9",
"hour": "20",
"minute": "28",
"date": 1783618080000
}
],
"last_topic": [],
"phone_preview": [
{
"type": "cell",
"country": "7",
"city": "903",
"verified": true
}
],
"predicted_salary": [
{
"amount": 33816,
"currency": "RUR"
}
],
"salary": [
{
"amount": 75000,
"currency": "RUR"
}
],
"title": [
{
"string": "Оператор линии,разнорабочий,подсобный рабочий"
}
],
"total_experience": [
{
"string": 80
}
],
"folders": [],
"favorite_folders": [],
"search_rid": "1783619489027c5ea6b90d352b43d006",
"negotiation_links": {
"invite": {
"state_links": [],
"default_link": "/employer/negotiations/change_topic?r=8f9df6e700033f211c0039ed1f537878384951"
},
"invite_another": {
"state_links": [],
"default_link": "/employer/negotiations/change_topic?r=8f9df6e700033f211c0039ed1f537878384951&allVacancies=True&toAnother=True"
}
},
"is_online": false,
"resume_contacts_opening": null,
"can_open_contacts": false,
"has_unpaid_pfp_topics": false,
"webcall_enabled": false,
"from_url": "https://hh.ru/search/resume?from=footer_new&hhtmFromLabel=footer_new&hhtmFrom=main"
}

Each resume profile returns a rich record with 26+ candidate attributes:

Profile Identification

FieldMeaningExample
TitleCandidate's professional title or job target"Senior Python Developer"
AgeCandidate's age (if publicly disclosed)28
Has PhotoWhether the profile includes a profile phototrue
GenderCandidate's gender (if disclosed)"M" or "F"
Is OnlineWhether the candidate is currently active on HH.rutrue

Experience & Skills

FieldMeaningExample
Total ExperienceYears of professional work experience5
Key SkillsArray of candidate's listed professional competencies["Python", "Django", "PostgreSQL"]
LanguageLanguages spoken by the candidate["Russian", "English"]
Job Search StatusCurrent job search intent (active, passive, not searching)"LOOKING_FOR_JOB"

Compensation & Preferences

FieldMeaningExample
SalaryExpected salary explicitly stated by candidate"150000 RUB"
Predicted SalaryHH.ru's algorithm-estimated salary based on skills/experience"160000 RUB"
ConditionsWork conditions the candidate is open to["Remote", "Relocation"]

Contact & Access

FieldMeaningExample
Can Open ContactsWhether you have permission to view contact detailstrue
Resume Contacts OpeningType of contact opening (anonymous, by request, etc.)"OPEN"
Phone PreviewPartially masked phone number (privacy protection)"+7 (9XX) XXX-XX-45"
Negotiation LinksLinks to initiate salary/offer negotiations[URL]
Webcall EnabledWhether the candidate accepts video interview requeststrue

Activity & Visibility

FieldMeaningExample
Last Activity TimeTimestamp of candidate's last HH.ru login"2024-01-15T10:30:00Z"
Last Change Time DetailsWhen the resume was last updated"2024-01-10T14:22:00Z"
Last TopicLast message topic or interaction"Job inquiry from recruiter"
Fields View StatusWhich resume fields are visible to non-registered users{...}

Account Features & Attributes

FieldMeaningExample
AttributesSpecial profile badges (e.g., "Top candidate", "Premium resume")["Top Professional"]
DefaultsDefault settings for profile visibility and contact opening{...}
Hidden FieldsWhich resume sections are hidden from public view["Desired Salary"]
Has Unpaid PFP TopicsWhether candidate used unpaid premium featuresfalse
ForbiddenAccess restrictions on the profilenull or restrictions object
FoldersCandidate's saved job search folders["Data Science Jobs"]
Favorite FoldersMost-used or starred folders["Data Science Jobs"]
Search RIDUnique request ID for tracking this search result"abc123def456"

How to Use

  1. Build a search URL — Visit HH.ru/search/resume and use filters (skills, location, experience, salary). Copy the resulting URL.
  2. Add URLs to input — Paste one or more search URLs into the urls array. Add multiple filters for segmented datasets.
  3. Set max items — Adjust max_items_per_url (default: 200) based on your data needs and time constraints.
  4. Enable error tolerance — Set ignore_url_failures: true for production runs to avoid interruptions.
  5. Run the scraper — Start the actor and monitor the run log in real time.
  6. Export results — Download data as JSON, CSV, or Excel for CRM, ATS, or analytics platforms.

Best practices:

  • Create separate runs for different job functions (backend, frontend, data science) using filtered URLs.
  • Use salary and experience filters to target mid-to-senior level candidates.
  • Check Can Open Contacts field before reaching out—some profiles restrict direct contact.
  • Respect Forbidden and Hidden Fields—do not attempt to bypass privacy settings.

Use Cases & Business Value

  • Active recruitment: Build talent pools by skill set and experience level for faster hiring
  • Competitive analysis: Monitor candidate availability and salary expectations in your market
  • Talent pipelining: Create evergreen candidate databases for future vacancies
  • Salary benchmarking: Analyze predicted salaries to set competitive compensation
  • Candidate research: Identify passive candidates and market trends in technical talent
  • API integration: Feed resume data into ATS platforms, recruitment workflows, or ML models

The HH.ru Resume Search Scraper eliminates weeks of manual candidate research, enabling data-driven hiring decisions and scaled talent acquisition operations.


Conclusion

The HH.ru Resume Search Scraper is a powerful tool for anyone recruiting talent in Russia or Eastern Europe. With support for 200+ profiles per search and rich candidate attributes, it transforms HH.ru's resume database into actionable intelligence. Combine with targeted search filters to build qualified talent pipelines faster than manual sourcing.