Поиск вакансий из терминала: HireSeeker CLI без API-ключа

Когда работаешь в терминале, открывать ещё десяток вкладок ради поиска вакансий не всегда хочется. Особенно если задача небольшая: посмотреть предложения для Python-разработчика на удалёнке и сохранить подборку. Для этого у HireSeeker есть CLI — командная утилита, которая обращается к базе сервиса.

Поиск доступен без входа в HireSeeker и без API-ключа. Утилита работает на Linux, macOS и Windows. Устанавливать её глобально необязательно: можно вызвать пакет через npx.

Первый запрос

npx --yes hireseeker-cli@0.1.1 vacancy search --category python_backend --schedule remote --limit 5 --json

Здесь python_backend выбирает Python-бэкенд, remote — удалённый формат, limit ограничивает размер страницы. Команда возвращает JSON, с которым удобно работать дальше: разобрать в скрипте, сохранить в файл или передать своему инструменту. Первый вызов npx может предложить загрузить пакет; это установка утилиты, а не регистрация в сервисе.

Коды профессий не нужно угадывать. После глобальной установки через npm install -g hireseeker-cli их можно посмотреть командой hireseeker professions list. В каталоге есть несколько направлений бэкенда, фронтенд, мобильная разработка и другие IT-профессии. Для просмотра в браузере есть раздел вакансий backend-разработчиков на HireSeeker.

Сохранить подборку и понимать, что сохранено

npx --yes hireseeker-cli@0.1.1 vacancy search --category python_backend --schedule remote --limit 5 --json > vacancies.json

В ответе есть массив vacancies и служебные поля applied_filters, total_items, searched_at, next_cursor. Они отвечают на разные вопросы: какие ограничения применились, сколько результатов сообщает поиск, когда выполнен запрос и как перейти к следующей странице. Файл с пятью карточками — одна страница выдачи; по нему нельзя судить обо всей базе.

Если в карточке salary равен null, зарплата не указана. Подменять это нулём или выводить среднюю зарплату по всем сохранённым карточкам без такой оговорки было бы ошибкой. Сам JSON помогает сохранить исходные поля; интерпретация остаётся за пользователем.

Другая полезная граница — доступные фильтры. CLI поддерживает профессию, географию, формат работы, период и зарплатные диапазоны сервиса. Свободного текстового запроса, фильтра по грейду и произвольного точного порога зарплаты API сейчас не предоставляет. Поэтому не стоит писать в команду «senior от 237000» и ждать, что инструмент поймёт это как поисковое условие.

Откуда берётся выдача

HireSeeker собирает вакансии из Telegram-каналов и карьерных сайтов компаний. CLI обращается к уже собранной базе: он не обходит все каналы заново при каждом запуске. Это позволяет начинать с одной подборки по своей специальности, вместо последовательного чтения множества лент. Прочитать требования работодателя и проверить актуальность подходящей позиции всё равно нужно.

Браузер удобнее для спокойного чтения карточек, а командная строка — для повторяемого запроса и работы с данными. Например, можно сохранять одинаковую выборку раз в несколько дней и разбирать её своим скриптом. При этом изменение числа результатов само по себе не доказывает изменение всего рынка: на него влияют дата запроса, выбранный период и фильтры.

Начать можно с одной команды и пяти результатов. Если такой способ подходит, следующий шаг — посмотреть список профессий и выбрать ограничения под собственный поиск. Установка и описание команд находятся на странице пакета hireseeker-cli.