Як безпечно оформити Meta Ads Library API токен
Для: реальний колега Deltamedical з власним верифікованим FB-акаунтом
Час: ~20-30 хв на перші 5 кроків + 1-2 дні очікування верифікації (якщо ще не пройдена)
Ризик для колеги: мінімальний якщо дотримуватись цієї інструкції (не ділитись паролем/2FA/сесійними cookies)
Що ми просимо і чому це безпечно
- Ми НЕ просимо пароль FB — ніколи
- Ми НЕ просимо 2FA коди — ніколи
- Ми НЕ просимо сесійні cookies — ніколи
- Ми просимо тільки API токен (рядок 200+ символів) який:
- дає тільки read-only доступ до публічної Ad Library (це та сама база яку всі бачать на facebook.com/ads/library)
- НЕ дає доступ до особистого профілю, повідомлень, друзів, фото
- НЕ дає права постити від імені колеги або ставити лайки
- Може бути відкликаний в 1 клік у будь-який момент: Settings → Business Tools → Apps
- Не перенесе на колегу жодної відповідальності — Ad Library API read-only, ми не можемо ним нашкодити
Кроки для колеги
Крок 1. Перевірити верифікацію особи у Meta
Перейти: https://www.facebook.com/id (Identity Confirmation)
Meta вимагає верифікацію особи для доступу до Ad Library API з 2023 року. Якщо ще не пройдена — треба:
- Завантажити фото паспорта/ID-картки
- Підтвердити країну резиденції (Україна)
- Зачекати 1-2 дні на ручну модерацію
Якщо верифікація вже є — одразу переходь до кроку 2.
Крок 2. Створити Meta-додаток для розробника
- Зайти на https://developers.facebook.com/ під власним FB-акаунтом
- Прийняти terms (якщо перший раз)
- My Apps → Create App
- Use case: Other
- App Type: Business (важливо — не Consumer!)
- App Name:
Deltamedical Competitive Intel (або інша ідентифікована назва — не анонімна)
- Contact email: робочий email колеги (@deltamedical.ua якщо є)
- Create App → ввести пароль для підтвердження
Крок 3. Прийняти Ad Library API terms
- У створеному додатку: App Review → Permissions and Features
- Знайти ads_read → Get Advanced Access
- Окремо: відвідати https://www.facebook.com/ads/library/api/
- Прийняти Terms of Service for Ad Library API
- Підтвердити що запит буде використовуватись для research (не для реклами, не для скрапінгу на продаж)
Крок 4. Згенерувати System User Token (найбезпечніший спосіб)
Чому System User, а не User Token: System User — це «технічний юзер» всередині Business Manager, не прив'язаний до особистого акаунту колеги. Якщо колись треба буде відкликати доступ — один клік, особистий акаунт не постраждає.
- Перейти на https://business.facebook.com/
- Якщо Business Manager ще не створений — Create Business Portfolio → назва «Deltamedical»
- Business Settings → Users → System Users → Add
- Name:
api-ads-library-claude, Role: Employee
- Assign Assets → вибрати створений у кроці 2 додаток → Permission: Read
- Generate New Token:
- App: наш додаток
- Token Expiration: 60 days (краще) або Never (ще краще)
- Scopes: тільки
ads_read — нічого більше не вибирати!
- Скопіювати токен — він з'являється 1 раз
Крок 5. Передати токен безпечно
❌ НЕ через Telegram як текст
❌ НЕ через email у plain text
❌ НЕ у файл в месенджер
✅ Як безпечно:
- 1Password / Bitwarden (shared vault з Сергієм) — найкраще
- Proton Mail → Proton Mail (E2E encryption)
- Telegram Secret Chat (тільки якщо нічого іншого немає)
- Signal або Wire
Сергій передасть мені токен через пасспартут (/srv/passepartout/meta/ads-library-api-token.txt) — файл буде з правами 600 (тільки root).
Що ми робимо з токеном у себе
- Зберігаємо у пасспартуті як всі інші секрети, меток
.meta з описом (правила пам'яті)
- Використовуємо тільки для endpoint'ів:
GET /ads_archive — пошук оголошень за ключовими словами/країнами
GET /ads_archive?search_page_ids=... — оголошення конкретних сторінок
- Ніколи не зберігаємо в коді, не світимо в логах, не коммітимо
- Rate-limit: ~200 запитів/годину за замовчуванням — нам достатньо
Що отримує колега натомість (від нас)
- Ротація — щоразу як Meta вимагатиме rotate, робимо через колегу
- Прозорість — лог використання токена колега може запросити будь-коли
- Миттєвий revoke — якщо колега передумає, відкликає одним кліком у Business Settings
Відкат якщо щось піде не так
- Колега → Business Settings → System Users → Delete token
- Видалити App: developers.facebook.com → Settings → Delete
- Ми видаляємо
/srv/passepartout/meta/ads-library-api-token.txt і записуємо в decisions_log
Альтернатива якщо FB-колеги немає
Якщо жоден колега не хоче робити — можна:
- Apify Facebook Ad Library Scraper — $5-20/місяць, не потребує нашого токена, їхній сервіс
- ScrapeCreators API — $29/місяць, Ad Library включена
- SimilarWeb / Semrush Ad Library view — якщо вже платимо за підписку
Ці варіанти не безкоштовні і не дають full-fidelity, але знімають ризик з колеги.
Питання Сергію після прочитання:
- Хто саме з колег буде оформляти? (важливо — вони мусять мати верифікований FB)
- Чи є у нас Business Manager Deltamedical, чи колега створить новий?
- Передача токена — через який канал (1Password / Proton / інше)?