Перейти к содержимому
VC
Кейс · Production scraper · Performance / Ad-intelligence

GMBSPYLAB: FB Ad Library → Telegram-feed

Production-пайплайн сбора рекламы из FB Ad Library через Playwright с residential-proxies и cookie-rotation. Реплеит GraphQL-запросы залогиненных сессий — обходит Meta dev-app верификацию полностью. 30-75k новых креативов/день в 30+ гео, вывод в Telegram с topic-per-GEO.

Тип
Production scraper SaaS под NDA
Стек
Python · Playwright · aiogram 3 · Postgres · arq
Срок
~2 месяца до P0 → активная разработка
Масштаб
30+ гео · 30-75k креативов/день
01 · Боль

Существующие spy-сервисы: дорого, медленно, не покрывают нужные гео

Коммерческие spy-сервисы (AdHeart, AdSpy, AdLibrary-aggregators) берут $300–800/мес за подписку и покрывают ограниченный набор гео. Для редких рынков (Tier-2 EU, LATAM, APAC) данных либо нет, либо они с лагом 1-2 дня.

Meta API через дев-приложение требует прохождения App Review и ID-верификации, что закрыто для большинства affiliate-вертикалей. А facebook.com/ads/library UI работает только в залогиненной браузерной сессии — статический скрап не работает.

Цель — собрать real-time поток рекламы из 30+ гео самостоятельно, в свою БД, с возможностью фильтра по формату (image/video/PWA), длительности активной открутки, тег-нормализации и постинга в TG.

02 · Архитектура

4-слойный pipeline: collect → normalize → store → distribute

01
COLLECT

Playwright + cookie-rotation + residential-proxies

8 cookie-аккаунтов (4 thick + 4 thin) экспортируются из Dolphin Anty / AdsPower в Playwright storage_state.json. 12 paid residential-proxies (Bright Data / iProyal) ротируются с географической привязкой под целевое гео.

На каждой сессии headless-Chromium открывает facebook.com/ads/library, извлекает динамические токены (doc_id, fb_dtsg, lsd) и затем шлёт прямые POST /api/graphql/ — это в десятки раз быстрее DOM-парсинга.

02
RESILIENCE

Soft-block recovery + checkpoint detection + token refresh

doc_id у Meta меняется ~раз в 30 минут — pipeline автоматически ре-извлекает токены, не прерывая поток. При получении checkpoint (CAPTCHA / 2FA prompt) аккаунт помечается как «cooldown» и проксируется в pool до восстановления. Floor rate 2.5s/request, потолок ~250 POST/час/аккаунт — суммарно ~2000 запросов/час с pool'а.

03
STORE

Postgres 16 + arq + MinIO для медиа

SQLAlchemy 2 async + asyncpg + alembic миграции, индексы по advertiser-id × GEO × first-seen-date. arq через Redis на background-tasks (медиа-загрузка, дедуп). Картинки/видео → MinIO / R2 через aioboto3. Дедуп по hash-перцептрону — 75k raw → 5-12k unique в день.

04
DISTRIBUTE

Telegram через aiogram 3 — два surface

v1 — Forum-supergroup: createForumTopic для каждого из 30+ гео (EU-27 + UK + BR + TZ/MX/IN/CA/ZA/RS/…). Постинг → topic-per-country, удобно фильтровать по рынку.

v2 — Hashtag-feed канал: единый поток, тегирование #GEO #PWA #VIDEO #1DAY #FBPAGE. Activity-refresher cron бампает #NDAY ежедневно (показывает «открут N дней»). Affiliate-link rewriter подменяет CTA-URL под собственного партнёра.

03 · Стек

Технологии

Collect / Browser
  • Playwright (Chromium headless)
  • Dolphin Anty / AdsPower (cookie export)
  • Bright Data / iProyal residential-proxies
  • GraphQL POST replay (doc_id / fb_dtsg / lsd)
Backend
  • Python 3.12 + uv (package manager)
  • SQLAlchemy 2 async + asyncpg
  • PostgreSQL 16 + alembic migrations
  • Pydantic v2 для всех schemas
Queues / Cron / Storage
  • arq + Redis 7 (background tasks)
  • APScheduler (timer cron)
  • MinIO / Cloudflare R2 (aioboto3)
  • SQLite (cache, local state)
Telegram + alerts
  • aiogram 3 (Bot API)
  • Forum-supergroup with createForumTopic
  • Hashtag-feed channel + N-day refresher
  • Healthcheck → Discord/TG alerts
Multi-source ingest
  • Playwright-FB (primary, залогиненный)
  • ScrapeCreators (commercial fallback non-EU)
  • Meta Graph API (для верифицированных IDs)
  • EU DSA Repository (regulatory data)
Quality / monitoring
  • structlog (структурированные логи)
  • 16/16 tests passing (pytest)
  • Healthcheck probe + аварийный halt
  • Discord webhooks для статусов
04 · Результат

Что в итоге

Креативов в день
30-75k

после дедупа: 5-12k уникальных

Гео покрытие
30+

EU-27 + UK + BR + 30 non-EU markets

Стоимость
$30-60

/мес inclusively — proxies + VPS + R2. vs $300-800 у коммерческих spy

Применимость для клиентов: тот же подход (Playwright + cookie-pool + GraphQL replay + Telegram-distribution) применим к любому источнику с залогиненным веб-UI — Avito, WB Seller, Ozon Seller, OkCupid, LinkedIn Sales Navigator, ad-libraries TikTok / Google. На созвоне разбираем какой именно источник нужен и обсуждаем архитектуру под NDA.

Готовы начать?

Аудит за 5 000 ₽ — с конкретным отчётом и сметой

Расскажу что внедрить в вашем бизнесе в первую очередь, какая будет окупаемость, и нужен ли вообще AI для вашей задачи (иногда — нет).

Или просто напишите свой вопрос — отвечу в течение 2 часов