hh.ru Job Scraper avatar
hh.ru Job Scraper

Pricing

Pay per usage

Go to Apify Store
hh.ru Job Scraper

hh.ru Job Scraper

Introducing the hh.ru Job Scraper, a lightweight actor designed to efficiently extract job listings from HeadHunter (hh.ru). Fast and reliable. To ensure uninterrupted data extraction and bypass strict anti-bot measures, the use of residential proxies is essential.

Pricing

Pay per usage

Rating

0.0

(0)

Developer

Shahid Irfan

Shahid Irfan

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Share

hh.ru Jobs Scraper


πŸ“‹ Overview

This Apify actor scrapes job listings from hh.ru, Russia's leading employment website. Extract comprehensive job data including titles, companies, salaries, requirements, and full descriptions. Perfect for job market analysis, recruitment automation, and competitive intelligence.

✨ Key Features

  • πŸ” Advanced Search Filters - Filter by keywords, location, experience, and work schedule
  • πŸ“„ Detailed Job Extraction - Get complete job descriptions and requirements
  • ⚑ Flexible Scraping Modes - Choose between quick list view or detailed page extraction
  • πŸ“Š Structured Data Output - Clean JSON format ready for analysis
  • πŸ›‘οΈ Anti-Blocking Protection - Built-in proxy support for reliable scraping
  • 🎯 Pagination Support - Automatically handles multiple result pages

βš™οΈ Input Configuration

Configure your job scraping with these input parameters:

Search Parameters

ParameterTypeDescriptionExample
textstringJob search keywords"Python Developer"
areastringRegion code (1=Moscow, 2=St. Petersburg, 113=All Russia)"1"
experiencestringExperience level: noExperience, between1And3, between3And6, moreThan6"between1And3"
schedulestringWork schedule: remote, fullDay, shift, flexible"remote"
employmentstringEmployment type: full, part, project, probation"full"

Control Parameters

ParameterTypeDefaultDescription
collectDetailsbooleantrueExtract full job descriptions from detail pages
results_wantednumber100Maximum number of jobs to collect
max_pagesnumber20Maximum search result pages to crawl
startUrlstring-Custom hh.ru search URL (overrides other parameters)
proxyConfigurationobjectResidential proxyProxy settings for reliable access

πŸ“ Input Example

{
"text": "Python Developer",
"area": "1",
"experience": "between1And3",
"schedule": "remote",
"results_wanted": 50,
"collectDetails": true
}

πŸ“€ Output Format

Each scraped job contains comprehensive data in this structure:

{
"title": "Senior Python Developer",
"company": "Tech Innovations LLC",
"location": "Moscow",
"salary": "200 000-300 000 β‚½",
"experience": "3–6 years",
"employment_type": "Full-time",
"skills": ["Python", "Django", "PostgreSQL", "Docker"],
"description_html": "<div>Full job description...</div>",
"description_text": "Plain text version of the job description",
"url": "https://hh.ru/vacancy/123456789",
"date_posted": "2025-11-28T10:00:00Z",
"source": "hh.ru",
"scraped_at": "2025-11-30T14:23:45Z"
}

Output Fields

  • title - Job position name
  • company - Hiring company name
  • location - Job location or "Remote"
  • salary - Salary range with currency
  • experience - Required experience level
  • employment_type - Full-time, part-time, etc.
  • skills - Array of required skills
  • description_html - Full HTML job description
  • description_text - Plain text description
  • url - Direct link to job posting
  • date_posted - When the job was posted
  • source - Data source identifier
  • scraped_at - Timestamp of data collection

πŸš€ Usage Examples

Example 1: Remote Python Jobs in Moscow

{
"text": "Python Developer",
"area": "1",
"schedule": "remote",
"results_wanted": 100,
"collectDetails": true
}

Finds remote Python developer positions in Moscow with full descriptions.

Example 2: Junior Developer Positions Nationwide

{
"text": "Junior Developer",
"area": "113",
"experience": "noExperience",
"results_wanted": 50
}

Scrapes entry-level developer jobs across all Russian regions.

Example 3: Senior Level Tech Positions

{
"text": "Software Engineer",
"area": "1",
"experience": "between3And6",
"employment": "full",
"results_wanted": 30
}

Extracts senior software engineering jobs in Moscow.

Example 4: Custom Search URL

{
"startUrl": "https://hh.ru/search/vacancy?text=Data+Scientist&area=2&experience=between1And3",
"collectDetails": true,
"results_wanted": 75
}

Uses a custom hh.ru search URL for specific queries.


πŸ’° Cost & Limits

Pricing

  • Free Tier: 1,000 results per month
  • Personal Plan: $5/month - 10,000 results
  • Team Plan: $25/month - 50,000 results
  • Business Plan: $99/month - 200,000 results

Performance

  • Average Speed: 50-100 jobs per minute
  • Recommended Max Results: 1,000 jobs per run
  • Memory Usage: ~512 MB
  • Proxy Required: Yes (residential recommended)

Rate Limits

  • Respect hh.ru's terms of service
  • Use appropriate delays between requests
  • Consider using residential proxies for large-scale scraping

πŸ†˜ Troubleshooting


πŸ“Š Common Area Codes

CodeRegionCodeRegion
1Moscow66Nizhny Novgorod
2Saint Petersburg88Kazan
113All Russia54Yekaterinburg
4Novosibirsk1001Other regions

Tip: Use 113 for nationwide search or specific city codes for local results.


🎯 Use Cases

Recruitment & Talent Acquisition

  • Build talent pipelines for specific skills
  • Monitor competitor job postings
  • Identify hiring trends in your industry

Market Research & Analysis

  • Track in-demand skills and technologies
  • Study regional employment patterns
  • Analyze job posting trends

Job Aggregation Platforms

  • Power job search websites and apps
  • Create specialized job boards
  • Build job alert systems

Career Intelligence

  • Research companies hiring in your field
  • Compare positions across organizations
  • Discover emerging job categories

πŸ”§ Best Practices

  1. Use Specific Keywords - Targeted searches yield better results than broad queries
  2. Enable Proxies - Essential for reliable, large-scale scraping
  3. Set Reasonable Limits - Start with 50-100 results to test your configuration
  4. Schedule Regular Runs - Jobs update frequently; automate scraping for fresh data
  5. Respect Rate Limits - Use appropriate delays and proxy rotation
  6. Monitor Results - Check output quality and adjust parameters as needed

πŸ“‹ Changelog

v1.0.0 (November 2025)

  • βœ… Initial release
  • βœ… Support for hh.ru job scraping
  • βœ… Multiple search filters (experience, schedule, employment)
  • βœ… Detailed job extraction with descriptions
  • βœ… Flexible pagination and result limits
  • βœ… Residential proxy support
  • βœ… Comprehensive error handling