LinkedIn API: доступ, разрешения OAuth и границы автоматизации для маркетинговых команд

LinkedIn API означает официальный доступ к данным и действиям LinkedIn через разрешенные OAuth scopes и проверенные продукты.
Его используют для подключения Sign in with LinkedIn, рекламных отчетов, Lead Sync, Community Management и отдельных сценариев публикации. В практических B2B-процессах важно сразу разделять API как интеграционный слой, работу в браузере, синхронизацию с CRM и ручные действия команды, поскольку LinkedIn не предоставляет один универсальный маршрут для всех задач.
Маркетинговые команды часто допускают простую ошибку: «нам нужна автоматизация LinkedIn», хотя этот запрос объединяет разные потребности. API нужен для санкционированных интеграций, например для рекламы или работы с лидами. LinkedIn automation применяется в процессах, где команда проверяет сессии, интерфейс, профили и операционные роли.
Когда нужно запускать контролируемые браузерные профили рядом с официальными API-процессами, не подменяя ими разрешения LinkedIn, подходит автоматизация через API Afina. В этом руководстве разобраны продукты LinkedIn API, доступные в 2026 году, необходимые OAuth-разрешения, источники информации о лимитах и версиях, а также граница между API и браузерным QA.
Какие продукты LinkedIn API доступны разным типам приложений
LinkedIn API не является одной конечной точкой. Он объединяет несколько продуктов с разными уровнями доступа. Часть разрешений доступна после создания приложения, другие требуют согласования, а некоторые направления открыты только партнерам или закрыты для новых заявок.
Для маркетинговой команды практическое разделение выглядит так: аутентификация, реклама, лиды, страницы организаций, события, аудитории и ограниченные данные профиля. Официальная документация LinkedIn описывает доступ к продуктам API и соответствующим разрешениям OAuth 2.0.
| Продукт API | Что предоставляет | Типичный сценарий | Уровень доступа |
|---|---|---|---|
| Sign in with LinkedIn using OpenID Connect | openid, profile, email | вход в B2B SaaS или портал | open permission |
| Share on LinkedIn | w_member_social | публикация от имени пользователя; другие социальные действия зависят от продукта и доступных разрешений | open permission с правилами использования |
| Advertising API | r_ads, rw_ads, r_ads_reporting | кампании, рекламные кабинеты и отчеты | approval |
| Lead Sync API | r_marketing_leadgen_automation | передача лидов из форм в CRM | approval |
| Community Management API | w_organization_social, r_organization_social | страницы компаний и контент организаций | уровень Development или Standard в зависимости от одобрения |
| Matched Audiences API | rw_dmp_segments | сегменты аудиторий | отдельный approval; доступ к Advertising API не предоставляет его автоматически |
| Company Intelligence API | отдельный доступ приложения | сведения о компаниях | доступность новых заявок нужно проверять в Developer Portal |
Из таблицы видно главное: «доступ к LinkedIn API» ничего не означает без названия конкретного продукта. Разработчик может иметь Sign in with LinkedIn, но не иметь права читать рекламные аккаунты, синхронизировать лиды или работать со страницей организации.
Для B2B-лидогенерации командам обычно нужны Lead Sync API, Advertising API и четкая логика синхронизации с CRM. Если задача связана с публикациями от имени страницы компании, основное внимание переходит к Community Management API. С индивидуальными профилями следует быть особенно осторожными: LinkedIn не превращает личный профиль в полностью открытый программируемый ресурс.
Как получить доступ и определить необходимые разрешения OAuth
Получение доступа начинается не с написания кода, а с определения сценария использования. LinkedIn оценивает, что приложение делает с данными, какие разрешения запрашивает и соответствует ли сценарий продукту, на который подается заявка.
На практике OAuth scopes определяют, какие операции приложение может запрашивать от имени пользователя. Одних scopes недостаточно: доступ также зависит от одобренного продукта API, уровня доступа приложения и роли пользователя для конкретного ресурса. Если приложение запрашивает r_ads_reporting, оно должно объяснить, зачем читает рекламные отчеты. Если запрашивает w_organization_social, должна быть понятна необходимость публикации или взаимодействия от имени организации.

Перед подачей заявки стоит подготовить краткую матрицу доступов. Она снижает риск избыточных разрешений и ускоряет внутреннее согласование между отделами маркетинга, разработки и юридической командой.
| Рабочая задача | Минимальный доступ | Что проверить до подачи заявки |
|---|---|---|
| вход пользователя через LinkedIn | openid, profile, email | политику конфиденциальности и redirect URI |
| рекламные отчеты | r_ads, r_ads_reporting | роль пользователя в рекламном аккаунте |
| редактирование рекламных кампаний | rw_ads | права campaign manager или account manager |
| синхронизация Lead Gen Forms | r_marketing_leadgen_automation | поля CRM, хранение данных и consent |
| публикации от имени страницы компании | w_organization_social | роль администратора страницы |
| аналитика страницы организации | r_organization_admin, r_organization_social | права на страницу и уровень доступа |
При проверке доступа важно различать три ситуации. Если токен действителен, но нужного scope нет, проверьте запрошенные разрешения и повторите авторизацию. Если scope предоставлен, но у пользователя нет необходимой роли в рекламном аккаунте или на странице, проверьте его права на конкретный ресурс. Если и scope, и роль указаны правильно, но запрос по-прежнему отклоняется, убедитесь, что приложению одобрены нужный продукт API и уровень доступа. Точную причину определяйте по ответу endpoint и настройкам приложения.
Базовый порядок действий должен оставаться коротким и проверяемым:
- Создайте приложение в LinkedIn Developer Portal
- Свяжите его с проверенной Company Page, если этого требует продукт
- Опишите use case одним предложением без широких формулировок
- Добавьте только те products и permissions, которые нужны для первой версии
- Настройте OAuth redirect URI и проверьте consent screen
- Протестируйте процесс авторизации и сохраните scopes в технической документации
- Подайте заявку на approval для Advertising API, Lead Sync или Community Management
- Зафиксируйте дату заявки, ожидаемый уровень доступа и ответственного за его поддержку
Хорошая заявка содержит конкретную цель: «синхронизируем Lead Gen Forms с CRM клиента и показываем статус обработки лида». Слабая заявка использует слишком общее описание: «автоматизируем LinkedIn для продаж». Второй вариант могут воспринять как нежелательный outreach или сбор данных, поэтому такая заявка может потребовать уточнения.

Схема помогает еще до начала разработки увидеть, какие разрешения действительно нужны интеграции, кто должен подтвердить доступ и какие данные можно передавать в CRM.
Какие действия можно выполнять от имени пользователя или организации
LinkedIn API позволяет выполнять только действия, открытые конкретным продуктом и подтвержденные OAuth-разрешением. Access token не является «ключом от LinkedIn», а служит ограниченным пропуском к узкому набору операций.
Самые полезные маркетинговые сценарии часто не являются самыми сложными. К ним относятся отчеты, передача лидов, синхронизация рекламных сущностей, контент организаций и аналитика. Эти процессы хорошо подходят для маркетинговой автоматизации, поскольку они повторяемы, контролируемы и не имитируют массовое поведение человека.
Через официальный API можно реализовать следующие задачи:
- Авторизацию пользователя через LinkedIn
- Чтение базового профиля и email в рамках предоставленного согласия
- Чтение рекламных аккаунтов, кампаний и отчетов после одобрения доступа
- Обновление рекламных кампаний в пределах ролей пользователя
- Синхронизацию Lead Gen Forms с CRM
- Работу с публикациями и комментариями организаций через разрешенный продукт
- Работу с событиями организации, если приложению предоставлен доступ к соответствующему продукту
Следующие задачи не следует описывать как функции «стандартного LinkedIn API»:
- Массовые запросы на установление контакта
- Автоматизированные личные сообщения или InMail
- Сбор профилей из поиска вместо CRM enrichment
- Обход approval через внутренние web endpoints
- Имитацию поведения личного профиля с высокой частотой
- Продажу или обогащение Member Data вне одобренного сценария
Браузерные сценарии не стоит называть API-интеграцией, поскольку для них характерны другие риски, журналирование и способы обработки ошибок. API возвращает ошибки scopes, roles, лимитов запросов и версий. Браузерный сценарий нарушается из-за изменений UI, состояния сессии, параметров браузера, cookies, прокси и сигналов защитных систем.

Рассмотрим простой пример. Агентство ведет нескольких клиентов в LinkedIn Ads и хочет получать ежедневную панель отчетности. Браузерные профили для Campaign Manager здесь не нужны: достаточно Advertising API, подходящих ролей в рекламном аккаунте и повторных запросов с задержкой. Другая задача связана с проверкой качества контента на страницах клиентов через отдельные профили операторов. API может получить часть данных, но проверка отображения, состояния сессии и роли администратора относится скорее к браузерному уровню.
Пример запроса к LinkedIn API
После получения токена OAuth приложение может обратиться к разрешенному endpoint. Например, для чтения данных аутентифицированного пользователя через OpenID Connect используется UserInfo endpoint:
curl --request GET 'https://api.linkedin.com/v2/userinfo' \
--header 'Authorization: Bearer YOUR_ACCESS_TOKEN'
Для этого запроса требуется токен с соответствующими разрешениями OpenID Connect. Для версионных REST endpoints Marketing API также могут потребоваться заголовки Linkedin-Version: YYYYMM и X-Restli-Protocol-Version: 2.0.0, если это предусмотрено конкретным методом. Не добавляйте их автоматически к каждому endpoint: сверяйтесь с документацией соответствующего API. Не храните токены в открытых журналах.
Как проверять версии API, лимиты и изменения доступности продуктов
Интеграция с LinkedIn API требует регулярного сопровождения. Версии, разрешения, уровни доступа и доступность продуктов меняются, поэтому команда должна запланировать проверки, а не ограничиваться одной проверкой при запуске.
Согласно официальной таблице миграций Marketing API, для версии 202510 указана дата завершения поддержки 15 октября 2026 года, а для 202511 - 16 ноября 2026 года. Непосредственно перед миграцией проверяйте актуальный статус в таблице поддерживаемых версий и переносите интеграции с неподдерживаемых версий на актуальные.
Лимиты запросов тоже не следует определять наугад. Для уровня Development Community Management API официальная документация указывает 500 вызовов API на приложение за 24 часа и 100 вызовов API на участника приложения за 24 часа. Уровень Development также ограничивает BATCH_GET и webhooks. Для Advertising API действует другая модель Development: приложение может читать данные рекламных аккаунтов, которыми управляет пользователь, создать один тестовый рекламный аккаунт и редактировать до пяти управляемых рекламных аккаунтов.

Используйте следующий контрольный список сопровождения интеграции:
- Сохраняйте дату последней проверки Microsoft Learn и Developer Portal
- Фиксируйте версию API в конфигурации, а не только в коде
- Записывайте HTTP-статус, endpoint, scope, идентификатор пользователя и идентификатор приложения без записи токенов
- Разделяйте ошибки permission, role, tier, rate limit и validation
- Добавьте backoff для ответов 429 и повторяющихся временных ошибок
- Проверяйте роли пользователя перед действием с рекламным аккаунтом или Company Page
- Создайте календарь миграции для deprecated versions
- Документируйте, какие поля хранятся в CRM и как их можно удалить
Во время диагностики полезно различать типичные HTTP-ошибки:
| Код | Возможная причина | Что проверить |
|---|---|---|
400 | Некорректные параметры или тело запроса | Формат, обязательные поля и требования endpoint |
401 | Недействительный или истекший токен | Срок действия токена и процесс авторизации |
403 | Недостаточно прав | Scopes, роль пользователя, одобрение продукта и уровень доступа |
429 | Превышен лимит запросов | Лимиты приложения, заголовки ответа и повтор с задержкой |
Это типичные объяснения, а не универсальная расшифровка. Окончательную причину следует определять по ответу конкретного endpoint.
Особенно внимательно относитесь к блокировке API. Ответ 403 не всегда означает, что «LinkedIn сломался». Часто причиной становится неправильный scope, отсутствие роли на странице, незавершенный approval или endpoint, не входящий в текущий уровень доступа. Ответ 429 также не всегда означает общий бан: возможно, приложение просто превысило дневной лимит уровня Development.
Практическую пользу принесет компактная рабочая таблица. Включите в нее product, scope, owner, tier, лимит, дату approval, дату последней проверки и резервный сценарий. Со временем такая таблица упростит сопровождение интеграции и поиск причин ошибок.
Где заканчивается роль API и начинается браузерный QA
API заканчивается там, где нужно проверить реальное состояние сессии, UI, роль пользователя в интерфейсе или поведение страницы после входа. Браузерный QA не заменяет LinkedIn API, но охватывает проверки, результаты которых API не показывает.
Например, API может сообщить, что приложение имеет разрешение на чтение рекламных данных. Но он не покажет, как конкретный оператор видит Campaign Manager после изменения роли клиентом, правильно ли открывается Lead Gen Form в UI и не требует ли сессия повторного подтверждения согласия. Для таких случаев нужны контролируемые браузерные профили, журнал сессий и понятный QA-сценарий.
Разница между API и браузерным уровнем выглядит так:
| Критерий | Официальный LinkedIn API | Браузерный QA |
|---|---|---|
| источник доступа | токен OAuth и одобренный продукт API | пользовательская сессия в браузере |
| типы ошибок | scopes, roles, tiers и лимиты запросов | cookies, UI, consent и истечение сессии |
| оптимальное применение | CRM, ads reporting, lead sync и контент организаций | проверка ролей, отображения и ручных процессов |
| масштабирование | очереди, повторные запросы с задержкой и лимиты | профили, прокси, тайминги и контроль состояния |
| основной риск | избыточные permissions или misuse данных | путаница аккаунтов и нестабильные сессии |
Автоматизация браузера важна для браузерного QA, но не в агрессивном смысле. Речь идет о повторяемых проверках: открыть страницу, подтвердить роль, сверить видимый статус, сделать снимок экрана и записать результат в таблицу. Если сценарий начинает массово имитировать outreach, он выходит за пределы безопасного и контролируемого QA.

Для маркетинговой команды подойдет следующая структура:
- Используйте LinkedIn API как источник структурированных данных и разрешенных действий
- Вынесите браузерный QA в отдельный сценарий с собственным журналом
- Закрепите каждый профиль за ролью или клиентом, а не за случайным оператором
- Проверяйте cookies, consent и доступы перед запуском длительных задач
- Храните снимки экрана только для QA и скрывайте персональные данные
- Не объединяйте ошибки API и браузерные сбои в одном статусе
Когда уместна Afina
Afina уместна как инфраструктурный слой для браузерного QA рядом с официальными API-интеграциями. Например, агентство, которое работает с несколькими клиентскими аккаунтами LinkedIn, может использовать отдельные браузерные профили для проверки ролей, состояния сессий и отображения интерфейса без постоянного переключения между аккаунтами. Cookies, прокси, язык, часовой пояс и роль остаются частью соответствующего рабочего контекста. Такие проверки следует выполнять только в пределах действий, доступных авторизованным пользователям, и правил LinkedIn.
Материал носит информационный характер. Команде важно отдельно документировать права доступа к API и сценарии браузерных проверок. Такое разделение упрощает сопровождение интеграции и помогает объяснить клиенту границы разрешенных действий.
СкачатьFAQ — Часто задаваемые вопросы
Что такое LinkedIn API?
LinkedIn API представляет собой официальный набор продуктов и конечных точек для доступа к отдельным данным и действиям LinkedIn через OAuth. Доступ зависит от разрешений OAuth, одобрения продукта API и роли пользователя.
Как получить доступ к LinkedIn API?
Создайте приложение в LinkedIn Developer Portal, добавьте нужный продукт и получите approval для закрытых или маркетинговых permissions. Базовый доступ для входа обычно получить проще.
Какие OAuth-разрешения LinkedIn API доступны без approval?
Для аутентификации через OpenID Connect используется разрешение openid. Запрашивайте profile и email в соответствии с нужными приложению данными, а большинство маркетинговых и организационных permissions требуют согласования.
Можно ли автоматизировать сообщения LinkedIn через API?
Общедоступные продукты LinkedIn API не предназначены для массовой отправки личных сообщений, InMail или запросов на установление контакта. Доступ к отдельным коммуникационным возможностям зависит от специализированных продуктов и согласований LinkedIn.
Чем LinkedIn API отличается от браузерной автоматизации?
LinkedIn API работает через токен OAuth, scopes и одобренный продукт API. Браузерная автоматизация использует пользовательскую сессию, UI, cookies и состояние профиля.
Какие лимиты действуют для LinkedIn Community Management API?
На уровне Development документация LinkedIn указывает 500 вызовов API на приложение за 24 часа и 100 вызовов на участника приложения. Для уровня Standard действуют другие условия.
Нужна ли Company Page для LinkedIn API?
Она нужна для многих бизнес-сценариев, особенно для Community Management, Advertising API и работы со страницами организаций. LinkedIn также проверяет роль пользователя на странице или в рекламном аккаунте.
Где использовать Afina рядом с LinkedIn API?
Afina подходит для браузерного QA, изолированных профилей, контроля сессий и операционных проверок, которые API не показывает. Она не заменяет approval и permissions LinkedIn API.
