SuperJob API API

Отрасль: HR и рекрутинг. Актуально на 2026-10-24.

API сервиса поиска работы SuperJob (версия 2.0): поиск вакансий и компаний, просмотр вакансии, подписки на вакансии, блокировка компаний в поиске, данные пользователя и его резюме. Вакансии и компании доступны по ключу приложения, контакты и пользовательские данные — после OAuth-авторизации.

Сценарии

Найти вакансии по запросу

Поиск вакансий SuperJob для своего сайта, бота или агрегатора.

  1. Зарегистрируй приложение на api.superjob.ru и передавай секретный ключ в заголовке X-Api-App-Id в каждом запросе.
  2. Ищи: GET /2.0/vacancies/ с keyword, town (название или ID города), payment_from, no_agreement = 1 (скрыть «по договорённости»), period, count (до 100) и page.
  3. В ответе objects, total и more — признак следующей страницы. При опечатке в запросе придёт corrected_keyword.
  4. Всего через API доступно не больше 500 записей выдачи (page × count) — сужай фильтры, если нужно больше. Лимит — 120 запросов в минуту с одного IP.
  5. Контакты работодателя в вакансиях приходят только с авторизацией пользователя.
curl -G https://api.superjob.ru/2.0/vacancies/ \
  -H "X-Api-App-Id: $SJ_APP_KEY" \
  --data-urlencode 'keyword=бухгалтер' \
  --data-urlencode 'town=Москва' \
  -d payment_from=80000 -d no_agreement=1 -d count=50 -d page=0

Найти компанию работодателя

Карточка компании: описание, отрасль, число вакансий и сотрудников.

  1. Найди компанию: GET /2.0/clients/ с keyword — названием, частью названия или адресом сайта. Чтобы видеть и компании без открытых вакансий, передай all = 1.
  2. Получи подробности: GET /2.0/clients/{id}/ — description, industry, vacancy_count, staff_count, логотип.
  3. Вакансии компании ищи через GET /2.0/vacancies/ с нужными фильтрами.
curl -G https://api.superjob.ru/2.0/clients/ -H "X-Api-App-Id: $SJ_APP_KEY" --data-urlencode 'keyword=Яндекс'
curl https://api.superjob.ru/2.0/clients/<id>/ -H "X-Api-App-Id: $SJ_APP_KEY"

Авторизовать пользователя и показать контакты вакансии

Для сервисов соискателя: вход через SuperJob и доступ к контактам работодателя.

  1. Отправь пользователя на https://www.superjob.ru/authorize/ с client_id, redirect_uri и state.
  2. Обменяй код на токен: GET /2.0/oauth2/access_token/ с code, client_id, client_secret и redirect_uri. Для приложений без браузера есть вход по паролю — POST /2.0/oauth2/password/ (не больше 10 ошибок входа в час).
  3. Передавай токен в заголовке Authorization: Bearer вместе с X-Api-App-Id. Проверь вход: GET /2.0/user/current/.
  4. Запроси вакансию с контактами: GET /2.0/vacancies/{id}/. Истёкший токен вернёт 401 с error = invalid_token — обнови его через /2.0/oauth2/refresh_token/.
curl https://api.superjob.ru/2.0/vacancies/<id>/ \
  -H "X-Api-App-Id: $SJ_APP_KEY" \
  -H "Authorization: Bearer $SJ_ACCESS_TOKEN"

Базовые URL

Авторизация

Тип: OAuth 2.0

Методы

GET /2.0/oauth2/access_token/ — Получение access token

Также поддерживается POST; PUT по этому адресу инвалидирует токен, DELETE — удаляет.

Параметр Где Тип Обяз. Описание
code query string да Код из редиректа авторизации
client_id query string да ID приложения
client_secret query string да Секрет приложения
redirect_uri query string да Адрес возврата

POST /2.0/oauth2/password/ — Авторизация по паролю

Параметр Где Тип Обяз. Описание
login body string да Логин
password body string да Пароль
client_id body string да ID приложения
client_secret body string да Секрет приложения
hr body integer нет Вход работодателя

GET /2.0/vacancies/ — Поиск вакансий

Также поддерживается POST. Контакты в вакансиях — только с авторизацией. В ответе: objects, total, more, при опечатке — corrected_keyword.

Параметр Где Тип Обяз. Описание
X-Api-App-Id header string да Секретный ключ приложения
keyword query string нет Поиск по всему тексту вакансии
keywords query array нет Расширенный поиск: блок, тип совпадения, исключаемые слова
town query string нет Город (название или ID)
t query array нет ID городов
o query array нет ID областей
c query array нет ID стран
m query array нет ID станций метро
catalogues query string нет Отрасли (ключи из справочника каталогов)
payment_from query integer нет Зарплата от
payment_to query integer нет Зарплата до
no_agreement query integer нет 1 — скрыть вакансии «по договорённости»
experience query integer нет Опыт работы
type_of_work query integer нет Тип занятости
place_of_work query integer нет Место работы
education query integer нет Образование
period query integer нет Период публикации: 24 часа, 3 дня, неделя или всё время
order_field query string нет date или payment
order_direction query string нет asc или desc (по умолчанию)
page query integer нет 0–500, по умолчанию 0
count query integer нет 1–100, по умолчанию 20

GET /2.0/vacancies/{id}/ — Вакансия по ID

Авторизация нужна только для контактов.

Параметр Где Тип Обяз. Описание
id path integer да ID вакансии

GET /2.0/clients/ — Поиск компаний

В ответе objects (id, title, link, description, vacancy_count, staff_count, industry, client_logo, is_blocked), total, more.

Параметр Где Тип Обяз. Описание
id_client query integer нет ID компании
keyword query string нет Название, часть названия или URL компании
town query string нет Город
all query integer нет 1 — включая компании без вакансий

GET /2.0/clients/{id}/ — Компания по ID

Параметр Где Тип Обяз. Описание
id path integer да ID компании

POST /2.0/subscriptions/ — Создание подписки на вакансии

Список подписок — GET /2.0/subscriptions/; просмотр, изменение и удаление — GET/PUT/DELETE /2.0/subscriptions/{id} (с авторизацией).

GET /2.0/user/current/ — Текущий пользователь

Требует авторизации.

Нюансы

Ошибки

Код Описание
400 Некорректный запрос
401 Нет авторизации
403 Доступ запрещён
404 Не найдено
410 Ресурс удалён
422 Ошибка валидации
429 Слишком много запросов (в т. ч. больше 10 ошибок входа в час)
504 Таймаут

Ограничения

Источники


Если этого недостаточно — официальная документация: https://api.superjob.ru/ JSON: https://mcp-everything.ru/api/integrations/superjob. MCP: https://mcp-everything.ru/mcp