# Ad Spy

> Разведка рекламы конкурентов: Ad Library FB/Google/LinkedIn (Scraping API); RU: Директ, TG Ads, VK, Atria. Триггеры: «что рекламируют конкуренты».

- Skill: `jhamidun/ad-spy` (Agent Skill, multi-file: 3 files)
- Install (CLI): `npx skillmds@latest add jhamidun/ad-spy`
- Raw SKILL.md: https://api.skillmd.com/api/skills/jhamidun/ad-spy/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Integrations & APIs
- Author: JHamidun (https://skillmd.com/u/jhamidun)
- Updated: 2026-09-22
- Page: https://skillmd.com/skills/jhamidun/ad-spy

---


# Ad Spy — Competitor Ad Intelligence

> Cross-platform ad monitoring via ScrapeCreators (scrapecreators.com) — сторонний платный API,
> тарифицируется кредитами. Ключ свой: заведи `SCRAPECREATORS_API_KEY` в `~/.claude/.credentials.master.env`.
> Без ключа работает только ручной путь через Meta Ads Library (см. `references/meta-creative-spy-atria.md`).

## When to Use

- "что рекламируют конкуренты" — обзор рекламной активности
- "реклама [компания] в Facebook/Google/LinkedIn"
- "ad spy [бренд]" — полный анализ рекламы
- "креативы конкурентов" — сбор рекламных материалов
- "мониторинг рекламы" — периодический трекинг
- Your Tracker: мониторинг рекламы конкурентов в своей нише
- YourProduct: что рекламируют AI-конкуренты
- "spy за Яндекс Директом / VK / Telegram Ads" — российские каналы (см. references)
- "лучшие креативы конкурентов в FB", "бюджет конкурента", "Atria" — Meta-креативный спай

## Российские каналы и Meta-креативы

Scraping API хорошо покрывает FB/Google/LinkedIn/Reddit, но российские каналы и
продвинутый Meta-креативный анализ требуют отдельных инструментов. Подробности — в references:

| Reference | Что внутри |
|-----------|-----------|
| `references/russian-channels-spy.md` | Яндекс.Директ (нет полноценного spy — ручной reverse-engineering через ключи), Google Transparency Center (adstransparency.google.com) + keywordtoolcollector.io, Telegram Ads (TGMaps + TGSpice — наценки CPM/эмодзи/таргетинг), VK (Admobispy устарел до 2024, спикер VK Ads за актуальным + «защита от копирования» — вычитать конкурентов-таргетологов) |
| `references/meta-creative-spy-atria.md` | Поиск по точному имени FB-страницы (не по компании), workflow analyze→company_ads→ad_details→longest running, **Atria (tryatria.com)** — клонирование креативов + оценка бюджета + рейтинг A+/High iteration/Underperforming |

**Связанные скиллы:** `meta-ads-launch-ru` (запуск своих Meta-кампаний на основе разведки), `ai-creative-factory-ru` (декомпозиция найденных виральных креативов), `telegram-ads-pro-ru` / `vk-ads-pro-ru` (запуск в найденных каналах), `ad-benchmarks-ru` (нормы для оценки увиденных кампаний).

## API Endpoints

```
BASE = https://api.scrapecreators.com
AUTH: x-api-key: $SCRAPECREATORS_API_KEY
```

### Facebook Ad Library (основной — самый большой объём рекламы)

| Endpoint | Path | Input | Returns |
|----------|------|-------|---------|
| Search Ads | `/v1/facebook/adLibrary/search/ads` | `?query=keyword` | Креативы, тексты, статус, даты |
| Company Ads | `/v1/facebook/adLibrary/company/ads` | `?company_id=ID` | Все объявления компании |
| Ad Details | `/v1/facebook/adLibrary/ad` | `?ad_id=ID` | Полная информация об объявлении |
| Search Companies | `/v1/facebook/adLibrary/search/companies` | `?query=company_name` | Найти company_id для дальнейшего поиска |

### Google Ad Library

| Endpoint | Path | Input | Returns |
|----------|------|-------|---------|
| Company Ads | `/v1/google/company/ads` | `?company=name` | Контекстная реклама компании |
| Ad Details | `/v1/google/ad` | `?ad_id=ID` | Детали объявления |
| Search Advertisers | `/v1/google/adLibrary/advertisers/search` | `?query=keyword` | Поиск рекламодателей |

### LinkedIn Ad Library

| Endpoint | Path | Input | Returns |
|----------|------|-------|---------|
| Search Ads | `/v1/linkedin/ads/search` | `?query=keyword` | B2B реклама по ключевому слову |
| Ad Details | `/v1/linkedin/ad` | `?id=AD_ID` | Детали конкретного объявления |

### Reddit Ads

| Endpoint | Path | Input | Returns |
|----------|------|-------|---------|
| Search Ads | `/v1/reddit/ads/search` | `?query=keyword` | Нативная реклама Reddit |
| Ad Details | `/v1/reddit/ad` | `?ad_id=ID` | Детали объявления |

## Workflow: Competitor Ad Audit

### Step 1: Find competitors in ad libraries

```bash
source ~/.claude/.credentials.master.env
API="https://api.scrapecreators.com"
H="x-api-key: $SCRAPECREATORS_API_KEY"

# Find company in Facebook Ad Library
curl -s "$API/v1/facebook/adLibrary/search/companies?query=COMPETITOR_NAME" -H "$H" | python3 -m json.tool
```

### Step 2: Pull all their ads (parallel across platforms)

```bash
source ~/.claude/.credentials.master.env
API="https://api.scrapecreators.com"
H="x-api-key: $SCRAPECREATORS_API_KEY"

# Facebook ads
curl -s "$API/v1/facebook/adLibrary/company/ads?company_id=COMPANY_ID" -H "$H" > /tmp/ads_fb.json &

# Google ads
curl -s "$API/v1/google/company/ads?company=COMPETITOR_NAME" -H "$H" > /tmp/ads_google.json &

# LinkedIn ads
curl -s "$API/v1/linkedin/ads/search?query=COMPETITOR_NAME" -H "$H" > /tmp/ads_linkedin.json &

# Reddit ads
curl -s "$API/v1/reddit/ads/search?query=COMPETITOR_NAME" -H "$H" > /tmp/ads_reddit.json &

wait
echo "All ad data fetched"
```

### Step 3: Analyze & synthesize

Read all JSON results and create structured report:

```markdown
# Ad Intelligence Report: [Competitor]
Generated: [date] | Sources: Facebook, Google, LinkedIn, Reddit

## Summary
- **Total active ads:** [count by platform]
- **Primary platforms:** [where they spend most]
- **Ad types:** [video, image, carousel, text]
- **Key messages:** [top 3 themes/value props]

## Facebook Ads
| Creative | Copy (first line) | CTA | Status | Running Since |
|----------|-------------------|-----|--------|---------------|
| [image/video desc] | [text] | [button] | Active | [date] |

## Google Ads
| Headline | Description | Landing Page | Keywords (estimated) |
|----------|-------------|-------------|---------------------|
| [text] | [text] | [url] | [inferred] |

## LinkedIn Ads
| Format | Copy | Target (estimated) | Engagement |
|--------|------|-------------------|------------|
| [type] | [text] | [audience hints] | [reactions] |

## Reddit Ads
| Subreddit | Title | Copy | Engagement |
|-----------|-------|------|------------|
| r/xxx | [title] | [text] | [upvotes, comments] |

## Insights & Recommendations
1. **Messaging gaps:** What competitors say that we don't
2. **Channel gaps:** Where they advertise that we don't
3. **Creative patterns:** What formats perform best for them
4. **Timing:** When they launch new campaigns
5. **Recommended actions:** [specific suggestions]
```

### Step 4: Save report

```bash
# ~/Documents есть не везде: на локализованном Linux папка называется «Документы»,
# и mkdir -p ~/Documents молча создаст второй каталог, в который никто не заглядывает.
DOCS_DIR="$(xdg-user-dir DOCUMENTS 2>/dev/null || echo "$HOME/Documents")"
OUT="$DOCS_DIR/Ad-Intel"
mkdir -p "$OUT" || { echo "Не смог создать $OUT — назови это вслух, отчёт писать некуда"; exit 1; }
echo "Отчёт сохраняю в: $OUT"
# Write report to markdown file with date in filename inside "$OUT"
```

## Use Case: постоянный трекер конкурентов

Заведи список один раз и гоняй по нему регулярно: свой бренд (следить, что о нём
крутят) плюс 3-5 прямых конкурентов. Больше пяти — кредиты кончатся раньше выводов.

```bash
# пример: обойти весь список одним прогоном
for company in "Comp1" "Comp2" "Comp3" "Comp4"; do
  curl -s "$API/v1/facebook/adLibrary/search/ads?query=$company your-industry" \
    -H "$H" > "/tmp/ads_${company// /_}.json"
  sleep 1
done
```

## Use Case: разведка по своей продуктовой категории

Второй список — не прямые конкуренты, а лидеры категории: у них дороже медиа и
сильнее креативная команда, поэтому хуки видно раньше. Для AI-продуктов это,
например, ChatGPT, Claude, Gemini.

## Credit Budget

| Operation | Credits |
|-----------|---------|
| Find company in FB Ad Library | 1 |
| Pull company's FB ads | 1 |
| Pull Google ads | 1 |
| Pull LinkedIn ads | 1 |
| Pull Reddit ads | 1 |
| **Full competitor audit (4 platforms)** | **5** |
| **N конкурентов × полный аудит** | **~5 × N** |

## Periodic Monitoring

Combine with `/loop` or `/schedule` for recurring checks:
```
/loop 24h ad-spy YourCompetitor your-industry
```

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

## Если банят: прямой скрап Ad Library в обход API

ScraperVendor — основной путь (не требует обхода защит). Но при прямом скрапе Ad Library
(FB/Google/TikTok) или витрин конкурентов, когда встаёт анти-бот (Cloudflare/Datadome,
«Access denied», капча, пустой ответ на `requests`):

- **Лёгкий скрап без браузера:** `curl_cffi` с `impersonate="chrome"` — подделывает TLS/JA3
  под реальный Chrome, requests-совместимый API. Первый выбор для JSON/HTML-эндпоинтов.
- **Полный браузер под анти-ботом:** **patchright** вместо `playwright` (drop-in импорт,
  `channel="chrome"` + persistent context) — скрывает `navigator.webdriver` и CDP-утечки.

Рецепты + таблица «симптом бана → инструмент»: `../playwright-automation/references/stealth-scraping.md`.

## Integration

| Next Step | Tool |
|-----------|------|
| Deep competitor analysis | `competitive-analysis` skill |
| Campaign planning | `campaign-planning` skill |
| Meta Ads optimization | `meta-ads-analyzer` skill |
| Content inspiration | `content-creation` skill |
| Report to stakeholders | `stakeholder-comms` skill |
| Save to radar DB | Your Tracker PostgreSQL (your-server) |

