Discover/hh API
live

hh APIhh.ru

Search hh.ru job vacancies by salary, region, experience, and industry. Retrieve full job details including skills, employer info, and HTML descriptions.

This API takes change requests — .
Endpoint health
verified 2d ago
get_vacancy
search_vacancies
2/2 passing latest checkself-healing
Endpoints
2
Updated
2d ago

What is the hh 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 accepts filters for region, salary, experience level, employment type, and industry, returning paginated result sets. The get_vacancy endpoint returns full vacancy details including key skills, employer data, and the complete HTML job description across 15+ fields per record.

This call costs3 credits / call— charged only on success
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.
Call it over HTTPgrab 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' \
  -H 'X-API-Key: $PARSE_API_KEY'
All endpoints · 2 totalmissing one? ·

Full-text search over hh.ru vacancies with filters for region, experience, employment type, schedule, salary, and more. Returns paginated results. Each vacancy includes id, title, salary, employer, address, experience, and labels. Pagination is page-based (0-indexed). The total matched count is in `found`; `pages` gives total pages available.

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 summary objects with id, name, url, salary, experience, experience_id, employer, address, labels"
  },
  "sample": {
    "data": {
      "page": 0,
      "found": 3210,
      "pages": 3,
      "per_page": 5,
      "vacancies": [
        {
          "id": "133820538",
          "url": "https://hh.ru/vacancy/133820538",
          "name": "Middle Backend PHP Developer",
          "labels": [
            "Можно удалённо"
          ],
          "salary": null,
          "address": "Санкт-Петербург",
          "employer": {
            "id": "11315084",
            "name": "ОООИзигейт"
          },
          "experience": "Опыт 3-6 лет",
          "experience_id": "between3And6"
        }
      ]
    },
    "status": "success"
  }
}

About the hh API

Search Vacancies

The search_vacancies endpoint runs a full-text search across hh.ru listings and returns paginated summaries. The text parameter accepts free-form keywords such as python developer or data engineer. Results can be narrowed by area (region ID, where 1 = Moscow and 2 = St. Petersburg, with multiple values supported), salary (minimum amount with a paired currency code from RUR, USD, EUR, KZT, and others), industry (numeric ID), and label (flags such as not_from_agency, accept_handicapped, or accredited_it). Sorting is controlled by order_by with options: relevance, publication_time, salary_desc, and salary_asc. Each response includes pagination metadata — page, pages, found, and per_page — alongside an array of vacancy summary objects containing id, name, salary, employer, address, experience, and labels.

Vacancy Detail

The get_vacancy endpoint accepts a numeric vacancy_id obtained from search_vacancies results and returns the full listing record. Key fields include key_skills (array of skill strings), description (full HTML job description), experience (human-readable requirement text), employer (object with id and name), salary, address, and labels. This is the endpoint to use when you need the complete posting content rather than the summary fields available from search.

Coverage and Pagination

Pagination in search_vacancies is 0-indexed via the page parameter. The found field reports the total number of matching vacancies, and pages tells you how many pages are available at the current per_page size. hh.ru covers job listings primarily from Russia and CIS countries; region filtering is ID-based, so callers targeting specific geographies need to know the corresponding numeric area IDs.

Reliability & maintenanceVerified

The hh API is a managed, monitored endpoint for hh.ru — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when hh.ru changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.

This isn't an official hh.ru API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.

Last verified
2d ago
Latest check
2/2 endpoints passing
Maintenance
Monitored & self-healing
Will this API break when the source site changes?+
It's built not to. Every endpoint is health-checked on a schedule with automated test probes. When the source site changes and a check fails, the API is automatically queued for repair and re-verified — that's the self-healing layer. Each API page shows when its endpoints were last verified. And because marketplace APIs are shared, any fix reaches everyone using it.
Is this an official API from the source site?+
No — Parse APIs are independent, managed REST wrappers over publicly available data. That is the point: where a site has no official API (or only a limited one), Parse gives you a maintained, monitored endpoint for that data and keeps it working as the site changes — so you get a stable contract over a source that never promised one.
Can I fix or extend this API myself if I need a new endpoint or field?+
Yes — and you don't have to wait on us. This API was generated by the Parse agent, which stays attached. Describe the change in plain English ("add an endpoint that returns reviews", "fix the price field") in the revise box on the API page or via the revise_api MCP tool, and the agent rebuilds it against the live site in minutes. Contributing the change back to the public API is free.
What happens if I call an endpoint that has an issue?+
Errors are machine-readable: a bad call returns a clean status with the list of available endpoints and a repair hint, so an agent (or you) can recover or trigger a fix instead of failing silently. Confirmed failures feed the automatic repair queue.
Common use cases
  • Aggregate software engineering job postings from Moscow and St. Petersburg filtered by minimum salary in RUR
  • Monitor new vacancies in a specific industry by polling search_vacancies sorted by publication_time
  • Extract key_skills arrays across many vacancies to identify the most in-demand technical skills on the Russian job market
  • Build a job alert system that checks found counts for a given keyword and notifies users when new postings appear
  • Populate a recruiter dashboard with employer names, addresses, and experience requirements from vacancy summaries
  • Filter listings to only agency-free postings using the not_from_agency label parameter
  • Compare salary ranges across industries by searching with different industry IDs and collecting salary fields
Pricing & limitsSee full pricing →
TierPriceCredits/monthRate limit
Free$0/mo2005 req/min
Hobby$30/mo1,00020 req/min
Developer$100/mo5,000100 req/min
Team$300/mo20,000300 req/min
Company$1,000/mo100,000500 req/min

Each endpoint has a fixed posted price per successful call — most fall between 1 and 10 credits — shown on this API's page before you run it. 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 a public API documented at https://github.com/hhru/api. It requires OAuth registration and has its own access rules. The Parse hh.ru API provides structured access without requiring you to manage OAuth credentials or application registration.
What does `get_vacancy` return that `search_vacancies` does not?+
search_vacancies returns summary fields: id, name, salary, employer, address, experience, and labels. get_vacancy adds the full HTML description, the key_skills array, and the vacancy url. If you need the actual job description text or required skills, you need to call get_vacancy with the id from the search results.
Are there limitations on how many results `search_vacancies` can return?+
The endpoint returns paginated results and exposes found, pages, and per_page so you can iterate through pages. hh.ru enforces its own caps on deep pagination — typically results beyond a few thousand are not accessible regardless of the page parameter, which mirrors the behavior of the source site's own search interface.
Does the API cover resume or applicant profile data?+
Not currently. The API covers job vacancy search via search_vacancies and vacancy detail retrieval via get_vacancy. Resume profiles, applicant data, and employer company pages are not exposed. You can fork this API on Parse and revise it to add an endpoint covering those data types.
Can I filter vacancies by employment schedule or work format?+
The search_vacancies endpoint exposes label values such as accredited_it and not_from_agency for categorical filtering, but granular schedule types (e.g., remote-only, full-day, shift) are not currently a dedicated filter parameter in the API. The vacancy summary and detail objects do include labels fields that may reflect some format tags. You can fork this API on Parse and revise it to add schedule-specific filter parameters.
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.
hubmub.com API
Search and discover job opportunities on HubMub by filtering results based on your preferred search terms, job type, category, industry, and location. Retrieve detailed information about specific job listings to help you find the right position that matches your career goals.
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.
tashkent.hh.uz API
Search for qualified candidate profiles and resumes directly from HH.uz, Uzbekistan's leading job portal, to find and review potential employees for your hiring needs. Access detailed candidate information including skills, work experience, and qualifications all in one place.
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.