Discover/hh.ru API
live

hh.ru APIhh.ru

Search and retrieve job vacancies from hh.ru (HeadHunter). Filter by region, salary, experience, and industry. Returns full job details including skills and descriptions.

Endpoints
2
Updated
4mo ago
Try it
Region ID (1=Moscow, 2=St Petersburg). Multiple values supported.
Page number (0-indexed)
Search keywords (e.g., 'python developer', 'data engineer')
Labels: with_address, accept_handicapped, accept_kids, not_from_agency, accredited_it, low_performance
Minimum salary amount
Salary currency code: RUR, USD, EUR, KZT, UAH, AZN, UZS, GEL, KGS, BYR
Industry ID (numeric)
Sort order: relevance, publication_time, salary_desc, salary_asc
Results per page
Work schedule: fullDay, shift, flexible, remote, flyInFlyOut
Education level: not_required_or_not_specified, secondary, special_secondary, higher, bachelor, master, candidate, doctor
Employment type: full, part, project, volunteer, probation
Required experience: noExperience, between1And3, between3And6, moreThan6
Employer/company ID
Where to search: name, company_name, description
Publication period in days: 1, 3, 7, 30
Enable text snippets in results (true/false)
Show only vacancies with salary specified (true/false)
Professional role ID (numeric)
api.parse.bot/scraper/3ccf546c-1803-406c-902c-9e3df9fe872e/<endpoint>
Ready to send
Fill in the parameters and hit sign in to send to see live response data here.
Use it in your codegrab a free API key at signup
curl -X GET 'https://api.parse.bot/scraper/3ccf546c-1803-406c-902c-9e3df9fe872e/search_vacancies?area=1&text=python+developer&currency=RUR&per_page=20&schedule=remote&employment=full&experience=between1And3' \
  -H 'X-API-Key: $PARSE_API_KEY'
All endpoints · 2 totalclick to expand

Search for vacancies on hh.ru with available filters. Returns paginated results parsed from the search results page. Supports filtering by text, region, experience, employment type, schedule, and more.

Input
ParamTypeDescription
areastringRegion ID (1=Moscow, 2=St Petersburg). Multiple values supported.
pageintegerPage number (0-indexed)
textstringSearch keywords (e.g., 'python developer', 'data engineer')
labelstringLabels: with_address, accept_handicapped, accept_kids, not_from_agency, accredited_it, low_performance
salaryintegerMinimum salary amount
currencystringSalary currency code: RUR, USD, EUR, KZT, UAH, AZN, UZS, GEL, KGS, BYR
industrystringIndustry ID (numeric)
order_bystringSort order: relevance, publication_time, salary_desc, salary_asc
per_pageintegerResults per page
schedulestringWork schedule: fullDay, shift, flexible, remote, flyInFlyOut
educationstringEducation level: not_required_or_not_specified, secondary, special_secondary, higher, bachelor, master, candidate, doctor
employmentstringEmployment type: full, part, project, volunteer, probation
experiencestringRequired experience: noExperience, between1And3, between3And6, moreThan6
employer_idstringEmployer/company ID
search_fieldstringWhere to search: name, company_name, description
search_periodintegerPublication period in days: 1, 3, 7, 30
enable_snippetsstringEnable text snippets in results (true/false)
only_with_salarystringShow only vacancies with salary specified (true/false)
professional_rolestringProfessional role ID (numeric)
Response
{
  "type": "object",
  "fields": {
    "page": "integer - current page number",
    "found": "integer - total vacancies matching filters",
    "pages": "integer - total pages available",
    "per_page": "integer - results per page",
    "vacancies": "array of vacancy objects with id, name, url, salary, experience, experience_id, employer, address, labels"
  },
  "sample": {
    "data": {
      "page": 0,
      "found": 3179,
      "pages": 3,
      "per_page": 5,
      "vacancies": [
        {
          "id": "131928728",
          "url": "https://hh.ru/vacancy/131928728",
          "name": "Python Developer",
          "labels": null,
          "salary": null,
          "address": "Москва",
          "employer": {
            "id": "2136954",
            "name": "Домклик"
          },
          "experience": "Опыт 3-6 лет",
          "experience_id": "between3And6"
        }
      ]
    },
    "status": "success"
  }
}

About the hh.ru API

The hh.ru API provides 2 endpoints to search and retrieve job vacancies from HeadHunter, Russia's largest job board. The search_vacancies endpoint returns paginated results with salary, employer, experience level, and location data across any combination of region, industry, and employment type. The get_vacancy endpoint returns the full job description, key skills array, and employer details for a specific listing by ID.

Search Vacancies

The search_vacancies endpoint accepts keyword queries via the text parameter alongside a range of structured filters. The area parameter accepts region IDs — for example, 1 for Moscow and 2 for St. Petersburg — and supports multiple values for broader geographic coverage. Results can be sorted by relevance, publication_time, salary_desc, or salary_asc using the order_by parameter. Each vacancy object in the response includes id, name, salary, experience, employer, address, and labels (such as remote work indicators). Pagination is handled via the zero-indexed page parameter; the response includes found (total matching vacancies), pages, and per_page to navigate result sets.

Vacancy Detail

The get_vacancy endpoint takes a single vacancy_id (obtained from search results) and returns the full listing. This includes the complete HTML description field, a key_skills array listing required competencies, structured employer data with ID and name, salary text, experience requirement, and a direct url back to the listing on hh.ru. The labels field surfaces work-format tags such as remote eligibility.

Filtering and Coverage

The salary and currency parameters let you filter vacancies by minimum compensation in a specific currency, including RUB, USD, EUR, and several CIS currencies (KZT, UAH, UZS, GEL, KGS, AZN, BYR). The industry parameter accepts numeric industry IDs for sector-specific queries. The label filter supports values like not_from_agency, accredited_it, and accept_handicapped, enabling precise candidate-facing or compliance-related searches.

Common use cases
  • Aggregate Moscow and St. Petersburg tech job listings filtered by salary and the accredited_it label for IT sector analysis
  • Track new vacancy publications in a specific industry by polling search_vacancies sorted by publication_time
  • Extract key_skills arrays from get_vacancy responses to identify in-demand competencies across a job category
  • Build a salary benchmarking dataset by querying search_vacancies with order_by=salary_desc across multiple regions
  • Monitor a specific employer's active listings by searching on company name and collecting vacancy IDs for detail retrieval
  • Compile full job descriptions via get_vacancy to power a searchable internal jobs database or career recommendation tool
Pricing & limitsSee full pricing →
TierPriceCredits/monthRate limit
Free$0/mo1005 req/min
Hobby$30/mo1,00020 req/min
Developer$100/mo5,000250 req/min

One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.

Frequently asked questions
Does hh.ru have an official developer API?+
Yes. HeadHunter publishes an official public API documented at https://dev.hh.ru. It covers vacancies, resumes, employers, and more, and requires OAuth 2.0 registration. This Parse API focuses specifically on vacancy search and detail retrieval without requiring you to manage OAuth credentials.
What does `search_vacancies` return and how granular is the salary data?+
Each vacancy object in the vacancies array includes a salary field returned as a text string (e.g. '100 000–150 000 RUR'). The endpoint lets you filter by a minimum salary integer and a currency code, but the salary in each result is a display string rather than structured min/max integers. The get_vacancy endpoint similarly returns salary as a text field.
Does the API return resume or candidate profile data?+
No. The two endpoints cover vacancy search and vacancy detail only — no resume listings, candidate profiles, or application data are currently returned. You can fork this API on Parse and revise it to add an endpoint targeting candidate or resume data.
Are there pagination limits on search results?+
The search_vacancies response includes pages, per_page, and found fields so you can iterate through result sets. hh.ru's search interface caps deep pagination — results beyond a certain page depth may not be accessible, which means very large result sets (thousands of pages) may be truncated in practice. Applying tighter filters like area, industry, or salary reduces result set size and improves coverage.
Can I retrieve employer company profiles or company-level metadata beyond what's in a vacancy?+
Currently the API returns employer data only as an object with id and name fields embedded in each vacancy. Standalone company profiles, employee counts, or employer ratings are not covered. You can fork this API on Parse and revise it to add an endpoint for employer detail pages.
Page content last updated . Spec covers 2 endpoints from hh.ru.
Related APIs in JobsSee all →
hh.uz API
Search and browse job vacancies across Uzbekistan with filters for location, experience, employment type, and more, while accessing detailed employer profiles and professional role information from HeadHunter Uzbekistan (hh.uz). Retrieve full vacancy details, explore geographic regions, and discover companies by name.
cv.lv API
Search for job listings on CV.lv and access detailed job descriptions, categories, locations, and information about top employers. Find the right opportunity by browsing available positions across different industries and regions.
boss.az API
Search and browse job listings from boss.az with detailed vacancy information, and instantly access company contact details including emails and phone numbers directly from job postings. Filter opportunities by job categories and regions to find positions that match your needs.
nofluffjobs.com API
Search and filter job openings from No Fluff Jobs by category, seniority level, location, and keywords to find IT, marketing, sales, and HR positions tailored to your needs. Retrieve detailed information about specific job postings including requirements, company details, and employment terms to help you make informed application decisions.
monster.com API
Search and retrieve job listings from Monster.com. Supports keyword and location-based search with structured results including job descriptions, salary ranges, company info, and employment details. Also provides access to popular job categories.
hellowork.com API
Search and browse job listings and company profiles on HelloWork, France's leading job board. Filter by keyword, location, contract type, salary, and more.
hotnigerianjobs.com API
Search and browse Nigerian job listings with detailed company information and job requirements all in one place. Discover employment opportunities by filtering through available positions and accessing comprehensive details about roles and hiring companies.
totaljobs.com API
Search and browse job listings from across the UK on TotalJobs, then access detailed information about specific positions including requirements, salary, and application details. Quickly compare opportunities and find roles that match your criteria.