HeadHunter API (hh.ru): GET /vacancies — Поиск по вакансиям

Неизвестные параметры игнорируются. Без токена после первого запроса может потребоваться капча. Глубина выдачи — не больше 2000 (per_page=10&page=199 можно, page=200 — ошибка). Параметры, где указано «можно несколько», передаются как key=value&key=value.

Параметр Где Тип Обяз. Описание
text query string нет Поисковая фраза (поддерживается язык запросов)
search_field query string нет Область поиска из vacancy_search_fields в /dictionaries; можно несколько
area query string нет Регион из /areas; можно несколько
metro query string нет Ветка или станция метро из /metro; можно несколько
professional_role query string нет Профессиональная роль из /professional_roles
industry query string нет Индустрия компании из /industries; можно несколько
employer_id query string нет Работодатель; можно несколько
experience query string нет Опыт из experience в /dictionaries; можно несколько
employment_form query string нет Тип занятости из vacancy_search_employment_form; можно несколько
work_format query string нет Формат работы из work_format; можно несколько
work_schedule_by_days query string нет График работы; можно несколько
working_hours query string нет Рабочие часы в день; можно несколько
salary query number нет Размер зарплаты; валюта по умолчанию RUR
currency query string нет Код валюты из currency в /dictionaries (только вместе с salary)
label query string нет Метки вакансий из vacancy_label (например, with_salary); можно несколько
excluded_text query string нет Исключить вакансии с этими словами (через запятую)
education query string нет not_required_or_not_specified, special_secondary, higher
period query number нет Поиск за последние N дней
date_from query string нет Нижняя граница даты публикации (ISO 8601); нельзя вместе с period
date_to query string нет Верхняя граница даты публикации; нельзя вместе с period
top_lat query number нет Верхняя граница широты (передавать все четыре гео-параметра)
bottom_lat query number нет Нижняя граница широты
left_lng query number нет Левая граница долготы
right_lng query number нет Правая граница долготы
order_by query string нет Сортировка из vacancy_search_order; для distance нужны sort_point_lat, sort_point_lng
clusters query boolean нет Вернуть кластеры поиска (по умолчанию false)
describe_arguments query boolean нет Вернуть описание применённых параметров (arguments)
no_magic query boolean нет Отключить автоматическое преобразование текстового запроса в параметры
responses_count_enabled query boolean нет Добавить поле counters с числом откликов
page query number нет Номер страницы, по умолчанию 0
per_page query number нет Элементов на странице, по умолчанию 10, максимум 100

Базовые URL

Авторизация

Тип: OAuth 2.0

OAuth 2.0. Токен передаётся в заголовке Authorization: Bearer {ACCESS_TOKEN}.

Параметры /oauth/authorize: skip_choose_account=true — не показывать выбор аккаунта, force_login=true — всегда показывать форму входа, role (applicant или employer) с force_role=true — требовать нужную роль.

В каждом запросе обязателен заголовок User-Agent или HH-User-Agent (при обоих учитывается HH-User-Agent); без него — 400 Bad Request.

User-Agent: MyApp/1.0 (my-app-feedback@example.com)

Нюансы

Сценарии с этим методом


Если этого недостаточно — официальная документация: https://api.hh.ru/openapi/redoc Вся интеграция одним документом: https://mcp-everything.ru/integrations/hh-api.md