Иллюстрация скрапера LinkedIn JobsОткрытые вакансии

Скрапер LinkedIn Jobs.

Вакансия говорит о том, что компания хочет создать. Следите за должностями и описаниями, чтобы исследовать возможное расширение и новые технические приоритеты.

Запустить на Apify

Как использовать этот скрапер.

Попробуйте эти сценарии для маркетинга, роста и изучения конкурентов.

01

Найдите компании, ищущие ваши навыки

Если вы консультируете по данным, найдите компании, нанимающие analytics engineers в Лондоне. Изучите упомянутые инструменты и возможную потребность в проектной помощи.

Сохраните список со ссылкой на вакансию, датой наблюдения и причиной изучить компанию.

02

Следите за приоритетами найма конкурента

Следите за вакансиями в продажах, партнёрствах и разработке. Сравнивайте новые публикации во времени, чтобы исследовать изменение приоритетов и возможное расширение.

Ведите хронологию найма со своими заметками.

03

Изучите спрос на технический навык

Для образовательного бизнеса отслеживайте вакансии с Python, SQL или dbt в одном регионе. Изучите описания и уровень опыта перед планированием курсов.

Основывайте исследование спроса на собранных вакансиях и укажите охват выборки.

ОТ ПЕРВОГО ЗАПУСКА К РЕГУЛЯРНОЙ РАБОТЕ

Первый запуск, шаг за шагом.

  1. Откройте Actor на Apify, выберите Input и перейдите в редактор JSON, чтобы вставить конфигурацию.
  2. Вставьте пример в редактор JSON. Замените python developer и London своей должностью и местоположением. При использовании searchUrls удалите предзаполненные ключевые слова и места, чтобы избежать дополнительных поисков.
  3. Выберите недавний период datePosted и общий лимит maxItems 20. Для быстрой первой проверки задайте scrapeJobDetails false. Проверьте должности и местоположения до включения описаний и дополнительных фильтров.
  4. Запустите Actor и посмотрите журнал. Проверьте распознанные цели и фильтры, прежде чем считать пустой результат отсутствием данных.
  5. Откройте Storage → Dataset, проверьте несколько записей и экспортируйте вложенные данные в JSON или таблицу для первого просмотра в CSV.
Конфигурация первого запуска
{
  "keywords": ["python developer"],
  "locations": ["London"],
  "datePosted": "week",
  "maxItems": 20,
  "scrapeJobDetails": false
}

Вставьте это в редактор JSON Actor. Перед запуском замените примеры своими целями.

Посмотреть актуальные параметры на Apify

Выберите способ поиска.

Можно составить поиск из ключевых слов и местоположений или скопировать отфильтрованную ссылку LinkedIn Jobs. Начните с карточек, затем включите подробности, если нужны описания для анализа навыков.

Способ поискаКогда использоватьЧто меняется
Ключевые слова и местоположенияКогда использоватьВы хотите найти подходящие результаты, прежде чем выбрать конкретные цели.Что меняетсяНазвания должностей или навыки. Каждый запрос сочетается с каждой локацией: три запроса и два места дают шесть поисков. Повторные вакансии выдаются один раз.
Ссылки на страницы поискаКогда использоватьВы уже настроили поиск на исходном сайте.Что меняетсяВставляйте отфильтрованные поисковые ссылки вакансий LinkedIn. Фильтры сохраняются. Страницы компаний становятся поиском по названию; отдельные ссылки вакансий не поддерживаются. Удалите предзаполненные запросы при поиске только по URL.
ID компанийКогда использоватьВы точно знаете, по какому объекту хотите собрать данные.Что меняетсяОграничивает поиск числовыми ID компаний из фильтра f_C в URL. Имя в ссылке страницы компании не является таким ID.

Важное различие

На странице 10 вакансий. Публичный поиск ограничен примерно 1000 результатами; увеличение страниц не снимает потолок. Делите поиск по месту, дате или типу занятости.

Сравнить с похожим скрейпером

Все параметры с объяснениями.

Используйте точные имена полей ниже в JSON. В форме Apify вводите элементы списков отдельно и соблюдайте числовые и логические типы.

Значение по умолчанию и предзаполнение различаются. Первое действует при пропуске настройки; второе является примером в форме Apify. Проверяйте цели и лимиты перед каждым запуском. У некоторых настроек нет значения по умолчанию в схеме. Всё равно нужно указать хотя бы одну поддерживаемую цель.

Цели и поисковые запросы5
searchUrls
Список

Вставляйте отфильтрованные поисковые ссылки вакансий LinkedIn. Фильтры сохраняются. Страницы компаний становятся поиском по названию; отдельные ссылки вакансий не поддерживаются. Удалите предзаполненные запросы при поиске только по URL.

keywords
СписокПример в форме: ["python developer"]

Названия должностей или навыки. Каждый запрос сочетается с каждой локацией: три запроса и два места дают шесть поисков. Повторные вакансии выдаются один раз.

locations
СписокПример в форме: ["London"]

Города, регионы или страны, распознаваемые LinkedIn. Каждая локация добавляет отдельные поиски. Для неоднозначного названия используйте geoId.

geoId
Текст

Числовой идентификатор локации LinkedIn из geoId в поисковой ссылке. Выбирает конкретное место точнее текстового названия.

companyIds
Список

Ограничивает поиск числовыми ID компаний из фильтра f_C в URL. Имя в ссылке страницы компании не является таким ID.

Рынки, даты и фильтры6
datePosted
ТекстПо умолчанию: any

any, month, week или day. day означает последние 24 часа, а не календарный день. Для ежедневного мониторинга сочетайте day с sortBy date и сохраняйте ID вакансий.

Рекомендуемые значения JSON
any month week day
sortBy
ТекстПо умолчанию: relevance

relevance использует ранжирование LinkedIn, date сначала возвращает новые вакансии. При общем лимите порядок определяет собранную часть.

Рекомендуемые значения JSON
relevance date
experienceLevel
Список

Список уровней опыта. Несколько значений расширяют поиск. Используйте рекомендуемые варианты; неизвестные значения пропускаются с пояснением.

Рекомендуемые значения JSON
internship entry associate mid-senior director executive
jobType
Список

Типы занятости, например full-time, contract или internship. Отличаются от workplaceType, определяющего удалённую, гибридную или офисную работу.

Рекомендуемые значения JSON
full-time part-time contract temporary volunteer internship other
workplaceType
Список

Выберите on-site, remote, hybrid или несколько значений списком. Remote не гарантирует приём кандидатов из любой страны.

Рекомендуемые значения JSON
on-site remote hybrid
distance
Целое число

Радиус поиска в милях от 0 до 100. Для поиска по месту; не меняет классификацию вакансии как удалённой.

Лимиты, подробности и прокси6
scrapeJobDetails
Истина или ложьПо умолчанию: true

Добавляет описание, уровень, тип занятости, функции, отрасли и число кандидатов дополнительным запросом на вакансию. Для быстрого списка отключайте; при включении используйте прокси.

maxItems
Целое числоПример в форме: 50

Жёсткий лимит уникальных вакансий по всем запросам, локациям и URL. Не на отдельный поиск. Пустое поле снимает его, но maxPagesPerSearch остаётся.

maxPagesPerSearch
Целое число

На странице 10 вакансий. Публичный поиск ограничен примерно 1000 результатами; увеличение страниц не снимает потолок. Делите поиск по месту, дате или типу занятости.

maxConcurrency
Целое числоПо умолчанию: 2

От 1 до 10 поисков одновременно, по умолчанию 2. Больше параллельных задач может усилить ограничения. Держите умеренный уровень с достаточным числом прокси.

delayMs
Целое числоПо умолчанию: 1000

Пауза между запросами страниц в миллисекундах. Увеличивайте при ограничениях источника; уменьшение не устраняет задержки сети и лимиты запросов.

proxyConfiguration
ОбъектПо умолчанию: {"useApifyProxy":true}Пример в форме: {"useApifyProxy":true}

Настоятельно рекомендуется, особенно для полных описаний. LinkedIn может ограничить детали раньше карточек; отсутствие описания не доказывает, что его нет в вакансии.

Дополнительные настройки и восстановление4
proxyRotations
Целое числоПо умолчанию: 3

Повторяет отклонённые запросы с новой прокси-сессией. Дополнительные попытки помогают при временных блокировках, но увеличивают время и трафик. Меняйте стандартное значение только при необходимости по журналу.

resume
Истина или ложьПо умолчанию: true

Сохраняет прогресс примерно каждые 30 секунд для продолжения после перезапуска или миграции Apify. Обычно оставляйте включённым.

continueFromLastRun
Истина или ложьПо умолчанию: false

Продолжает незавершённую работу предыдущего запуска с теми же входными данными. Старые результаты остаются в его dataset. Для нового или регулярного сбора оставляйте false.

impersonate
ТекстПо умолчанию: chrome131

Идентификатор браузера для запросов. Сохраняйте стандарт Actor, кроме диагностики мгновенных блокировок. Он меняет отпечаток запроса, а не запрашиваемые данные.

Справочник соответствует параметрам Actor. Перед изменением рабочего процесса проверьте актуальную форму. Посмотреть актуальные параметры на Apify.

Готовые конфигурации.

Каждый пример рассчитан на отдельный запуск. Начните с малого, проверьте результаты и затем расширяйте охват. Измените цели, страны и даты под свою задачу.

Ежедневное наблюдение за наймом

Собирайте свежие вакансии data engineering в Лондоне без описаний. Настройте ежедневный запуск и сохраняйте ID вакансий и даты, чтобы отличать новые находки от вчерашних.

Ежедневное наблюдение за наймом
{
  "keywords": ["data engineer"],
  "locations": ["London"],
  "datePosted": "day",
  "sortBy": "date",
  "maxItems": 50,
  "scrapeJobDetails": false
}

Анализ востребованных навыков

Соберите гибридные вакансии на полный день с dbt или BigQuery, включая описания. Выделите повторяющиеся навыки в SQL или попросите Claude сгруппировать их. Лимит 50 общий для обоих запросов.

Анализ востребованных навыков
{
  "keywords": ["dbt", "BigQuery"],
  "locations": ["London"],
  "datePosted": "week",
  "jobType": ["full-time"],
  "workplaceType": ["hybrid"],
  "maxItems": 50,
  "scrapeJobDetails": true,
  "maxConcurrency": 2
}

Исследование удалённых вакансий на одном рынке

Найдите вакансии Python уровней entry и associate, отмеченные как удалённые в Германии. Удалённая работа не означает найм по всему миру. Проверьте требования к проживанию, часовому поясу и разрешению на работу.

Исследование удалённых вакансий на одном рынке
{
  "keywords": ["python developer"],
  "locations": ["Germany"],
  "datePosted": "week",
  "experienceLevel": ["entry", "associate"],
  "workplaceType": ["remote"],
  "maxItems": 50,
  "scrapeJobDetails": true
}

Запускайте, проверяйте, экспортируйте, повторяйте.

Сохраняйте ID вакансий, компанию, место, время публикации и ссылки. Описания позволяют извлечь навыки, уровень и условия занятости, но зарплаты и данные о кандидатах могут отсутствовать. Это публичные вакансии, не контакты рекрутеров. Удаляйте дубли внутри снимка и сохраняйте повторные наблюдения для анализа динамики.

  1. Проверьте набор данных и запись SUMMARY. Сравните количество с лимитом, изучите ошибки и пропущенные входные данные, проверьте несколько исходных ссылок.
  2. Сохраняйте исходные ID и добавляйте collected_at и run_id. Используйте CSV для простых столбцов, JSON для списков и вложенных подробностей.
  3. Сохраните проверенную конфигурацию как Apify Task и задайте расписание. Для регулярных снимков оставьте continueFromLastRun false. Убирайте дубликаты по ID, сохраняя даты наблюдений.
  4. В Make или n8n дождитесь завершения запуска, получите dataset и сопоставьте поля с Sheets или хранилищем. Передавайте данные в Looker Studio через таблицу отчётов; преобразуйте и проверяйте модели с dbt.
  5. Этот же JSON работает с API Actors Apify. В Claude с Apify MCP назовите Actor, попросите проверить схему и заранее задайте цели, рынки и лимиты результатов.

Продолжение не создаёт новый снимок

resume защищает текущий запуск при перезапуске Apify. continueFromLastRun продолжает предыдущий запуск с той же конфигурацией; старые записи остаются в старом dataset. Объедините оба набора и увеличьте достигнутый лимит. Для наблюдения сегодняшних изменений начните новый сбор.

Открыть инструкции для Sheets, Claude, Looker и BigQuery
Запуск Actor через API

Сохраните одну из конфигураций выше в input.json. Задайте в терминале APIFY_TOKEN своим токеном Apify и отправьте файл как тело запроса.

Запустить сбор
curl --fail-with-body --request POST \
  --url "https://api.apify.com/v2/actors/jmlp~linkedin-jobs-scraper/runs" \
  --header "Authorization: Bearer $APIFY_TOKEN" \
  --header "Content-Type: application/json" \
  --data-binary @input.json

Ответ содержит ID запуска и defaultDatasetId, а не готовые результаты. Дождитесь успешного завершения, задайте DATASET_ID идентификатором набора и получите записи. Для больших наборов используйте limit и offset для постраничной выгрузки.

Получить набор данных
curl --fail-with-body \
  --url "https://api.apify.com/v2/datasets/$DATASET_ID/items?format=json" \
  --header "Authorization: Bearer $APIFY_TOKEN"

Документация API Apify для запуска и экспорта
Параметры экспорта набора данных

Если результаты выглядят неверно.

Меняйте по одному параметру, сохраняйте небольшой лимит и проверяйте сводку перед расширением сбора.

Запись есть, но подробные поля отсутствуют.

Добавляет описание, уровень, тип занятости, функции, отрасли и число кандидатов дополнительным запросом на вакансию. Для быстрого списка отключайте; при включении используйте прокси.

Запросы подробных данных начинают блокироваться.

Настоятельно рекомендуется, особенно для полных описаний. LinkedIn может ограничить детали раньше карточек; отсутствие описания не доказывает, что его нет в вакансии.

Местоположение совпало с другим населённым пунктом.

Числовой идентификатор локации LinkedIn из geoId в поисковой ссылке. Выбирает конкретное место точнее текстового названия.

Запуск завершился успешно, но данных нет

Успешный статус означает завершение работы Actor, а не наличие данных у источника. Проверьте SUMMARY.inputProblem, SUMMARY.problem и журнал: возможны отсутствующие цели, неподдерживаемые фильтры или отклонённые запросы. Попробуйте известную цель с меньшим числом фильтров.

Записей меньше, чем ожидалось

Проверьте общие лимиты, лимиты поиска и страниц, охват и дедупликацию. Несколько запросов могут найти одну запись. Счётчик источника может включать недоступные публично данные. Проверьте незавершённые задачи, прежде чем считать набор полным.

Используйте результаты в своих инструментах.

Google Sheets

Соберите company, role, posted_date и job_url в таблице исследования. Добавьте проверенную категорию сигнала и отдельную колонку следующего действия команды.

Читать инструкцию
Claude + MCP

Попросите Claude найти явные упоминания навыков и инструментов, ссылаясь на URL вакансий. Предположения о спросе на услуги должны быть помечены как гипотезы.

Читать инструкцию
Looker Studio

Постройте график новых ID по компании, месту и категории должности. Сохраняйте критерии поиска и показывайте охват выборки.

Читать инструкцию
BigQuery + dbt

Храните исходные наблюдения и текущую таблицу вакансий с ключом job_id. Проверяйте компании перед объединением с аккаунтами CRM.

Читать инструкцию
Скопировать запрос для Claude
Запрос для Claude + Apify MCP
Проверь jmlp/linkedin-jobs-scraper и собери до 50 вакансий analytics engineer в Лондоне за последнюю неделю с деталями. Найди явные упоминания Python, SQL и dbt, укажи каждый job_url и составь список компаний. Считай выводы о спросе на услуги гипотезами.

Какие поля вы получите.

Сохраняйте время сбора и исходные ID: они нужны для проверки источника результата и сравнения с последующими запусками.

Прежде чем делать выводы

Вакансия показывает намерение нанять, но не подтверждает найм, бюджет или расширение. Зарплата и число кандидатов могут отсутствовать. Проверяйте повторные публикации и дубли перед выводами о росте; сохраняйте ID и даты наблюдений.

job_id / job_url
Стабильный ID вакансии и исходная ссылка.
title / company / company_url
Должность и общедоступные сведения о компании.
location / posted_date
Место и опубликованная дата вакансии.
description
Текст вакансии при включённом подробном сборе.
seniority_level / employment_type
Доступные классификации должности.
salary / applicants
Заполняются, только если источник их публикует.

Частые вопросы.

Нужно ли передавать аккаунт или cookie LinkedIn?

Нет. Скрапер использует общедоступные вакансии без вашего входа и cookie LinkedIn. Для запуска нужен аккаунт Apify.

Он может подтвердить рост компании?

Нет. Вакансии могут указывать на приоритеты, но не доказывают завершённый найм или рост. Используйте их как повод для дальнейшего исследования.

Источник и актуальные сведения: Actor LinkedIn Jobs от JMLP на Apify.

Другие скраперы,
которые могут пригодиться.

Поговорим о
вашем проекте.

Расскажите, что нужно собрать или понять. Я помогу со скрапером на заказ, конвейером или анализом.

Обсудить проект