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 не є однією кінцевою точкою (endpoint), а охоплює набір продуктів із різним рівнем доступу. Частина дозволів доступна після створення застосунку, частина потребує погодження доступу, а деякі напрямки відкриті лише для партнерів або закриті для нових заявок.
Для маркетингової команди практичний поділ такий: автентифікація, реклама, ліди, сторінки організацій, події, аудиторії та обмежені профільні дані. Офіційна документація 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
Отримання доступу починається не з написання коду, а з визначення сценарію використання (use case). LinkedIn дивиться на те, що застосунок робить із даними, які дозволи (permissions) запитує і чи відповідає сценарій продукту, на який подається заявка.
На практиці дозволи OAuth (scopes) визначають, які операції застосунок може запитувати від імені користувача. Самих дозволів недостатньо: доступ також залежить від схваленого продукту API, рівня доступу застосунку та ролі користувача щодо конкретного ресурсу. Якщо застосунок просить r_ads_reporting, він має пояснити, навіщо читає рекламні звіти. Якщо просить w_organization_social, має бути зрозуміло, чому йому потрібна публікація або взаємодія від імені організації.

Перед заявкою варто підготувати коротку матрицю доступів. Це зменшує ризик надмірних дозволів і пришвидшує внутрішнє погодження між маркетингом, розробкою та legal-командою.
| Робоча задача | Мінімальний доступ | Що перевірити до заявки |
|---|---|---|
| вхід користувача через LinkedIn | openid, profile, email | політику приватності й redirect URI |
| звіти про рекламу | r_ads, r_ads_reporting | роль користувача в ad account |
| редагування рекламних кампаній | 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”:
- Масові connection requests
- Автоматизовані direct messages або InMail
- Збирання профілів із пошуку як заміна CRM enrichment
- Обхід approval через внутрішні web endpoints
- Імітацію поведінки персонального профілю на високій частоті
- Продаж або збагачення Member Data поза дозволеним сценарієм
Не варто називати браузерні сценарії API-інтеграцією: для них різні ризики, журналювання та способи обробки помилок. API повертає помилки scopes, roles, ліміти запитів і версій. Браузерний сценарій ламається через UI, стан сесії, параметри браузера, cookies, проксі та сигнали систем захисту.

Ось простий приклад. Агенція веде кілька клієнтів у LinkedIn Ads і хоче щоденну панель звітності. Тут не потрібні браузерні профілі для Campaign Manager: достатньо Advertising API, ролей у ad account і механізму повторних запитів із затримкою. Інша задача: перевірка якості контенту на сторінках клієнтів через різні профілі операторів. Там 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 endpoint 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 року. Безпосередньо перед міграцією звіряйте актуальний статус у таблиці підтримуваних версій і переводьте інтеграції з непідтримуваних версій на актуальні.
Ліміти теж не варто вгадувати. Для Community Management API на рівні Development офіційна документація зазначає 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 і повторюваних тимчасових помилок
- Перевіряйте ролі користувача перед дією з ad account або 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, session expiry |
| найкраще застосування | CRM, ads reporting, lead sync, org content | перевірка ролей, відображення, ручних workflow |
| масштабування | через черги, повторні запити із затримкою (backoff) і ліміти | через профілі, проксі, таймінги й контроль стану |
| головний ризик | надмірні permissions або misuse даних | плутанина акаунтів і нестабільні сесії |
Для браузерного QA важлива автоматизація браузера, але не в агресивному значенні. Йдеться про повторювані перевірки: відкрити сторінку, підтвердити роль, звірити видимий статус, зробити скриншот, записати результат у таблицю. Якщо сценарій починає масово імітувати outreach, він виходить за межі безпечного та контрольованого QA.

Практична структура для маркетингової команди:
- тримайте LinkedIn API як джерело структурованих даних і дозволених дій
- винесіть браузерний QA в окремий сценарій із власним журналом
- закріпіть кожен профіль за роллю або клієнтом, а не за випадковим оператором
- перевіряйте cookies, consent і доступи перед запуском тривалих завдань
- зберігайте скриншоти тільки для QA і приховуйте персональні дані
- не змішуйте API errors із браузерними помилками в одному статусі
Коли доречна Afina
Afina доречна як інфраструктурний шар для браузерного QA поруч з офіційними API-інтеграціями. Наприклад, агенція, яка працює з кількома клієнтськими акаунтами LinkedIn, може використовувати окремі браузерні профілі для перевірки ролей, стану сесій і відображення інтерфейсу без постійного перемикання між акаунтами. Cookies, проксі, мова, часова зона та роль залишаються частиною відповідного робочого контексту. Такі перевірки потрібно проводити в межах дозволених користувачам дій і правил LinkedIn.
Матеріал має ознайомчий характер. Для команди важливо окремо документувати права доступу до API та сценарії браузерних перевірок: так простіше підтримувати інтеграцію й пояснювати клієнту межі дозволених дій.
СкачатиFAQ — Часті запитання
Що таке LinkedIn API?
LinkedIn API - це офіційний набір продуктів і кінцевих точок (endpoints) для доступу до окремих даних та дій LinkedIn через OAuth. Доступ залежить від дозволів OAuth, погодження продукту API та ролі користувача.
Як отримати доступ до LinkedIn API?
Потрібно створити застосунок у LinkedIn Developer Portal, додати потрібний product і пройти approval для закритих або маркетингових permissions. Для базового Sign in доступ часто простіший.
Які 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 викликів API на учасника застосунку за 24 години. Рівень Standard має інші умови.
Чи потрібна Company Page для LinkedIn API?
Для багатьох бізнес-сценаріїв так, особливо для Community Management, Advertising API і роботи зі сторінками організацій. Роль користувача на сторінці або рекламному акаунті теж перевіряється.
Де використовувати Afina поруч із LinkedIn API?
Afina доречна для браузерного QA, ізольованих профілів, контролю сесій і операційних перевірок, які API не показує. Вона не замінює approval і permissions LinkedIn API.
