---
slug: "superjob"
name: "SuperJob API"
vendor: "SuperJob"
industry: "hr"
docsUrl: "https://api.superjob.ru/"
version: 2
updatedAt: "2026-10-24"
---

# SuperJob 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. Контакты работодателя в вакансиях приходят только с авторизацией пользователя.

```bash
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/ с нужными фильтрами.

```bash
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 <access_token> вместе с X-Api-App-Id. Проверь вход: GET /2.0/user/current/.
4. Запроси вакансию с контактами: GET /2.0/vacancies/{id}/. Истёкший токен вернёт 401 с error = invalid_token — обнови его через /2.0/oauth2/refresh_token/.

```bash
curl https://api.superjob.ru/2.0/vacancies/<id>/ \
  -H "X-Api-App-Id: $SJ_APP_KEY" \
  -H "Authorization: Bearer $SJ_ACCESS_TOKEN"
```

## Базовые URL

- Боевой: `https://api.superjob.ru`
- Формат: `https://api.superjob.ru/:version/method_name/:params`

## Авторизация

Тип: OAuth 2.0

- Секретный ключ приложения передаётся в каждом запросе в заголовке `X-Api-App-Id`.
- Для методов с авторизацией — `Authorization: Bearer <access_token>`.
- Авторизация пользователя: `GET https://www.superjob.ru/authorize/` (`client_id`, `redirect_uri`, `state`) → код → `https://api.superjob.ru/2.0/oauth2/access_token/` (`code`, `client_id`, `client_secret`, `redirect_uri`).
- Обновление: `GET https://api.superjob.ru/2.0/oauth2/refresh_token/` (`refresh_token`, `client_id`, `client_secret`).
- Для desktop-приложений — вход по паролю `POST /2.0/oauth2/password/`.

## Методы

### 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/ — Текущий пользователь

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

## Нюансы

- Через API можно получить не больше 500 записей выдачи (`page` × `count`).
- В поиске вакансий массив `ids` — не больше 500 ID.
- Параметры `published`, `published_all`, `archive`, `not_archive` работают только при авторизации работодателя при поиске своих вакансий.
- Ошибки авторизации дополнительно возвращают машиночитаемый `error` (например, `invalid_token`) и заголовок `X-Oauth-Error`.
- Документация помечена как актуальная для версии 2.20; свежая версия — `https://api.superjob.ru/doc/`.

## Ошибки

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

## Ограничения

- 120 запросов в минуту с одного IP (в тексте документации при превышении указан код 503, в таблице ошибок — 429).
- `count` — до 100, `page` — до 500, всего не больше 500 сущностей.
- Вход по паролю — не больше 10 ошибок в час на логин.

## Источники

- [SuperJob API](https://api.superjob.ru/)
- [Актуальная документация](https://api.superjob.ru/doc/)

---

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