API Яндекс Директа v5: Получить список кампаний

Сценарий из mcp-everything. Актуально на 2026-10-24.

Обзор кампаний аккаунта: названия, статусы, состояние — для своей панели управления рекламой.

  1. Отправь запрос: POST /json/v5/campaigns с method = get и params: SelectionCriteria (пустой — все кампании, или Ids, States, Statuses) и FieldNames — например, Id, Name, State, Status, DailyBudget.
  2. Ответ — result.Campaigns. Метод возвращает не больше 10 000 объектов; если выборка обрезана, придёт LimitedBy — запроси следующую страницу через Page.Offset.
  3. Ошибки уровня запроса приходят с HTTP 200 в объекте error — проверяй его наличие. Расход баллов виден в заголовке Units.
curl -X POST https://api.direct.yandex.com/json/v5/campaigns \
  -H "Authorization: Bearer $DIRECT_TOKEN" -H 'Content-Type: application/json; charset=utf-8' \
  -d '{"method": "get", "params": {"SelectionCriteria": {}, "FieldNames": ["Id", "Name", "State", "Status"]}}'

Базовые URL

Авторизация

Тип: OAuth 2.0

OAuth 2.0: приложение регистрируется заранее, OAuth-токен пользователя Директа передаётся в заголовке Authorization: Bearer <токен>.

Методы сценария

POST /json/v5/campaigns — Campaigns.get: получение кампаний

Тело: "method": "get" и params. Возвращает не больше 10 000 объектов; при обрезке выборки приходит LimitedBy.

Параметр Где Тип Обяз. Описание
method body string да get
params.SelectionCriteria.Ids body array нет ID кампаний, до 1000; пустой SelectionCriteria — все кампании
params.SelectionCriteria.Types body array нет Типы кампаний
params.SelectionCriteria.States body array нет Состояния
params.SelectionCriteria.Statuses body array нет Статусы
params.FieldNames body array да Имена возвращаемых полей кампании
params.Page.Limit body integer нет Размер страницы
params.Page.Offset body integer нет Смещение

Нюансы

Другие сценарии


Если этого недостаточно — официальная документация: https://yandex.ru/dev/direct/doc/ru/ Вся интеграция одним документом: https://mcp-everything.ru/integrations/yandex-direct.md