Выполнение запросов к API

Аутентификация

Для доступа к этому API используется базовая аутентификация. Это означает, что вам нужно добавить заголовок Authorization к каждому запросу для получения доступа. Имя пользователя для базовой аутентификации — ваш API-ключ, а строка пароля для аутентификации остаётся пустой.

Формат заголовка Authorization является следующим:

Authorization: Basic {credentials}

где '{credentials}' — это строка API-ключа, закодированная в Base64, за которой следует двоеточие.

Эндпоинт и параметры

Эндпоинт API https://search.api.careerjet.net/v4/query, поддерживает следующие параметры HTTP GET.

Название параметра Значения Комментарии
locale_code [language_code]_[COUNTRY_CODE] Значение должно соответствовать списку поддерживаемых кодов локали. Если не указано, используется en_GB по умолчанию.
keywords string список одного или нескольких поисковых запросов, закодированных в формате URL
location string место поиска; если не указано, поиск осуществляется по всей стране
contract_type
  • p: постоянная должность
  • c: работа по контракту
  • t: временная должность
  • i: стажировка/позиция для практики
  • v: волонтерство
тип контракта
work_hours
  • f: полная занятость
  • p: действие вызвало вызов API
график работы
fragment_size integer размер выдержки из описания вакансии в символах, по умолчанию — 120
offset integer от 1 до 999, по умолчанию 0
page integer от 1 до 10
page_size integer от 1 до 100, по умолчанию 20
radius integer по умолчанию 5 км/миль в зависимости от местоположения
user_ip string обязательно: IP-адрес пользователя, чье действие вызвало вызов API
user_agent string обязательно: строка user agent пользователя, чье действие вызвало вызов API

Типы ответов

Успех

Успешный запрос приведет к HTTP 200 ответу в формате JSON, общая структура которого следующая:

{
  "type": 'JOBS',
  "hits": 62,
  "message": "62 matching jobs found", 
  "pages": 4, 
  "response_time": 0.322, 
  "jobs" [Список вакансий: см. ниже]
}

Ответы с ошибкой

В случае неправильных запросов будут возвращены различные HTTP-коды ошибок и минимальный текст ответа, указывающее тип ошибки и, при наличии, подробную информацию. Ниже приведен обзор возможных ошибок:

Код HTTP Сообщение Комментарии
400 Unsupported locale code Указанный код локали не поддерживается.
403 Missing param user_ip or user_agent Запрос не включал параметры user_ip или user_agent.

Режим определения местоположения

Это не совсем ошибка, а ситуация, которая помешает выполнению любого реального поиска. Режим определения местоположения активируется, как описано ниже:

Сообщение Комментарии Пример
no matching location found Не удалось найти местоположение, соответствующее указанному параметру location.
{
  "type": "LOCATIONS",
  "locations": [], 
  "message": "no matching location found", 
  "response_time": 0.11
}
multiple locations found Несколько мест соответствуют указанному параметру location. Вы можете выбрать одно из предложенного списка locations.
{
  "type": "LOCATIONS",
  "locations": ["выбор 1", "выбор 2", "выбор 3"], 
  "message": "multiple locations found", 
  "response_time": 0.11
}

Структура вакансии

Каждая вакансия структурирована следующим образом:

{
  'title': 'Python Developer', 
  'company': 'Газпром', 
  'date': 'Wed,15 Nov 2025 19:13:43 GMT', 
  'description': 'Job description excerpt', 
  'locations': 'London', 
  'salary': '30000 - 35000 руб.', 
  'salary_currency_code': 'KZT', 
  'salary_max': xx.yy, 
  'salary_min': xx.yy, 
  'salary_type': 'Y', 
  'site': 'domain.com', 
  'url': 'https://jobviewtrack.com/v2/уникальная ссылка'
}

Где salary_type может быть: