Обзор

Публичный API MTWSPY — поиск креативов Facebook и Instagram, дельта-фид, лендинги, вебмастера, партнёрские сети и папки.

API отдаёт ту же базу креативов Facebook и Instagram, что и кабинет MTWSPY: поиск по фильтрам, новые креативы с прошлой проверки, ссылки на лендинги и архивы лендингов, вебмастеров, партнёрские сети и ваши папки. Авторизация — Bearer-токен, ответы в JSON.

Базовый URL

https://app.mtwspy.com/public/v1

Быстрый старт

Остаток просмотров (запрос бесплатный):

curl https://app.mtwspy.com/public/v1/usage \
  -H "Authorization: Bearer mtw_live_ваш_ключ"

Пять креативов по нутре на Польшу:

curl -G https://app.mtwspy.com/public/v1/creatives \
  -H "Authorization: Bearer mtw_live_ваш_ключ" \
  -d geo=PL -d vertical=nutra -d limit=5

Ключ создаётся в кабинете, в разделе API. Подробнее — в Аутентификации.

Эндпоинты

МетодПутьНазначение
GET/creativesПоиск по фильтрам, курсорная пагинация, дельта-фид
GET/creatives/{id}Карточка: ссылка на лендинг и файлы лендинга
GET/creatives/{id}/landingСсылка на архив лендинга
GET/webmastersПоиск вебмастеров (команд)
GET/webmasters/{code}Досье вебмастера
GET/networksПартнёрские сети
GET POST/foldersСвои папки: список и создание
GET PATCH DELETE/folders/{id}Папка: содержимое, переименование, удаление
POST DELETE/folders/{id}/creativesДобавить или убрать креатив
GET/usageТариф, остаток просмотров и AI-кредитов
GET/balanceРеферальный баланс

Поиск, карточки и лендинги можно подключить к AI-ассистенту через MCP-сервер.

Формат ответов

Успешный ответ:

{ "data": { "...": "..." }, "meta": { "request_id": "fed23a8edcf5399e" } }

Ошибка:

{ "error": { "code": "quota_exhausted", "message": "..." }, "request_id": "fed23a8edcf5399e" }

Обрабатывайте ошибки по code: текст message может меняться. request_id приходит в каждом ответе и в заголовке X-Request-Id, его просит поддержка.

Коды ошибок

codeHTTPКогда
missing_token / invalid_token401Нет токена или он неверный
key_revoked403Ключ отозван
plan_no_api403На тарифе нет API
subscription_expired403Подписка истекла
quota_exhausted403Закончились просмотры
creative_not_served403Креатив не выдавался аккаунту, в папку его добавить нельзя
invalid_body400Тело запроса — не JSON-объект
invalid_parameter422Неверный параметр
not_found / no_landing / landing_unavailable404Не найдено, у креатива нет лендинга, архива нет в хранилище
method_not_allowed405Путь не поддерживает этот метод
already_in_folder / folder_limit / folder_full409Ограничения папок
rate_limited429Слишком много запросов в минуту
daily_limit_reached429Суточный лимит досье вебмастеров или изменений папок
download_limit429Больше 30 скачиваний лендингов за час
search_unavailable503Поиск временно недоступен

Просмотры и лимиты

У API нет отдельной квоты. Он тратит тот же пул просмотров, что лента на сайте: одна отданная карточка в /creatives — один просмотр. Пул пополняется при продлении тарифа или докупке в кабинете.

ЗапросПросмотры
/creativesПо числу отданных карточек. Повтор той же страницы с теми же параметрами в течение 2 часов бесплатен
/creatives/{id}, /creatives/{id}/landingНе тратят
/webmasters, /networks, /folders, /usage, /balanceНе тратят

Когда просмотры заканчиваются, /creatives отвечает 403 quota_exhausted. Остальные эндпоинты продолжают работать.

Число запросов в минуту зависит от тарифа:

ТарифЗапросов в минуту
Basic, Team30
Team API60

У некоторых эндпоинтов есть свои лимиты: 30 скачиваний лендингов в час, 10 досье вебмастеров в минуту и 200 в сутки, 30 изменений папок в минуту и 500 в сутки.

Остаток видно в заголовках X-Quota-* и X-RateLimit-* и в meta.api_limit. Проверить его отдельно можно через /usage.

Лимиты считаются по аккаунту, а не по ключу. У участника команды просмотры списываются с владельца. Перевыпуск или отзыв ключа остаток не меняет.

On this page