API Директа нужен там, где заканчиваются интерфейс и Коммандер: регулярная выгрузка статистики в свои отчеты, работа с десятками аккаунтов, обмен данными с системой учета клиентов, собственные инструменты поверх кабинета. Подключение и использование бесплатные. Расход запросов считается баллами, суточный лимит зависит от активности кампаний. Заявку на доступ подает разработчик приложения, а не каждый его пользователь. Разработчик нужен не всем: часть сценариев закрывают готовые приложения и сервисы-посредники, которым достаточно авторизации через Яндекс.
Кабинетом Директа управляют тремя способами: веб-интерфейс, Директ Коммандер и API.
Веб-интерфейс подходит для правок в одной-двух кампаниях и для того, что делают руками один раз: запуск, модерация, разбор статистики по срезам. Массовые операции в нем тоже есть, включая управление через файлы XLS и XLSX, но выгрузка из интерфейса ограничена по объему - около 250 фраз за раз.
Массовые операции через Коммандер - следующий уровень. Программа выгружает аккаунт целиком, дает править офлайн десятки кампаний разом и загружает изменения обратно. Кросс-минусовка, автотаргетинг, фразы, ставки - все это в Коммандере делается пакетно.
Мобильное приложение Директа и сам Коммандер - готовые приложения Яндекса, которые работают через API.
Коммандер требует человека за экраном: выгрузить, поправить, загрузить обратно. API работает без него - по расписанию, по событию в другой системе, по запросу из скрипта или ассистента. Как только задача превращается в «каждое утро в девять», выбор сужается до API.
| Задача | Интерфейс | Коммандер | API |
|---|---|---|---|
| Правка в одной кампании | Быстрее всего | Долгая выгрузка ради мелочи | Избыточно |
| Массовая правка в десятках кампаний | Тяжело | Штатный сценарий | Штатный сценарий |
| Одно и то же действие каждый день | Руками | Руками | По расписанию, без человека |
| Выгрузка статистики в свою таблицу | Ограничения на объем | Ограниченный набор данных | Отчет любой глубины за три года |
| Обмен данными с CRM или складом | Нет | Нет | Основной сценарий |
| Десятки клиентских аккаунтов | Переключение вручную | По одному аккаунту | Перебор в цикле |
Большинству специалистов хватает первых двух уровней. API окупается, когда рутина стала регулярной или когда аккаунтов больше, чем рук. Остальные материалы по Яндекс Директу про то, как выжать максимум из интерфейса.
Подключаться к API Директа и пользоваться им можно бесплатно. Платите вы только за рекламу.
Вы пользуетесь готовым приложением. Сервис аналитики, коннектор к ассистенту, дашборд, чужой скрипт - заявку за вас уже подал его разработчик. Вам нужно принять условия пользовательского соглашения на странице API в кабинете и разрешить приложению работать от вашего имени. Одна одобренная заявка разработчика обслуживает неограниченное число пользователей.
Вы пишете свое. Тогда заявка ваша. Сначала приложение регистрируют в Яндекс OAuth, даже если кода еще нет: сервис выдает идентификатор. Дальше заявка в кабинете.
В кабинете откройте раздел API, нажмите «Получить доступ к API» и примите пользовательское соглашение. Перейдите на вкладку «Мои заявки», нажмите «Новая заявка». В форме выберите идентификатор приложения, полученный в Яндекс OAuth, укажите рабочую почту для связи и заполните сведения о приложении. Одно приложение - одна заявка.
В сведениях о приложении указывают формат обмена или язык, на котором оно написано, логин в Директе, от имени которого пойдут запросы, и цели автоматизации. Цели формулируют по-человечески: получение статистики, управление кампаниями, подбор фраз. Приложение для внутренней работы агентства и публичный сервис описывают по-разному: от формулировки зависит, какие вопросы придут в ответ.
По документации API на 05.10.2026, заявки рассматривают в рабочие дни РФ с 10 до 19 часов. Ответ приходит в срок от часа до трех рабочих суток, в пиковые периоды - до семи дней. Статус видно на той же вкладке, там же появляется причина отказа, если заявку отклонили. Заявку можно отредактировать и отправить заново.
Авторизация работает по протоколу OAuth 2.0: приложение получает токен и подставляет его в каждый запрос. Токен привязан к пользователю и к приложению. Смена пароля на Яндексе отзывает токен, после чего его получают заново - это частая причина внезапно умолкнувшей выгрузки.
Запросы идут по HTTPS методом POST, тело - JSON или SOAP/XML на выбор, токен и служебные параметры едут в заголовках. Библиотеки под популярные языки давно написаны, свой транспорт собирать не нужно.
Пока заявка на рассмотрении, код проверяют в Песочнице. Это копия API, изолированная от боевых данных: запросы к ней не меняют кампании, созданные объявления нигде не показываются, а действия, которые требуют положительного баланса, доступны без пополнения. Включается Песочница в том же разделе API, роль выбирается на старте - «Клиент» или «Агентство». Для агентской роли создаются три тестовых клиента с кампаниями. Тестовые данные хранятся месяц с последнего обращения, потом удаляются.
Агентский доступ устроен через представителей. Запрос выполняется от имени пользователя: представителя рекламодателя или представителя агентства, которому клиент открыл доступ к своим кампаниям. Отдельного ключа на каждый клиентский аккаунт не нужно - нужен логин клиента в заголовке запроса.
Баллы регулируют нагрузку на серверы Директа. Если баллы кончились, запросы не выполняются - до следующего начисления.
Владельцы баллов - рекламодатели и агентства. Когда запрос идет от представителя агентства, списание зависит от заголовка Use-Operator-Units. С ним баллы уходят у агентства, без него - у клиента. Агентство само решает, когда тратить свои: например, чтобы собрать кампании новому клиенту, у которого баллов еще мало, или продолжить работу с кампаниями клиента, который исчерпал свой лимит.
Остаток видно в ответе сервера. В HTTP-заголовке Units приходят три числа через дробь: списано за этот запрос, доступный остаток, суточный лимит. Выглядит это так: «Units: 10/20828/64000».
Суточный лимит индивидуальный. Он зависит от активности кампаний (показов, кликов и расхода средств) и считается по сетке бюджетных порогов. Аккаунт, который почти не тратит, не должен генерировать тысячи запросов в час. Пересчитывается лимит раз в сутки.
Начисление идет не пачкой в полночь, а скользящим окном. Суточный лимит разделен на 24 интервала: в начале каждого часа начисляется 1/24, и потратить в текущем интервале можно эту долю плюс все, что не израсходовано за предыдущие 23 часа. Начало интервала у каждого аккаунта свое и с круглым часом не совпадает - у кого-то это 00:18, 01:18 и так далее.
Разовую тяжелую выгрузку - перенос аккаунта, сбор истории за год - ставят после паузы, когда за предыдущие часы накопился почти весь суточный запас. А равномерная работа маленькими порциями в лимит не упирается вообще.
Списываются баллы за вызов метода, за каждый созданный, измененный или полученный объект, а еще за ошибки. Цена ошибок одинакова для всех сервисов: 20 баллов за неудачный вызов метода и 20 за каждую неудачную операцию с объектом. Серверные сбои не считаются.
Порядок цен на 05.10.2026, по документации:
Чтение дешевле записи, а точечная правка дешевле переливания всей кампании туда и обратно. Ошибочный запрос обходится дороже успешного: двадцать баллов за ошибку против одного за BidModifiers.get, так что цикл, который упорно бьется в невалидный параметр, съедает лимит быстрее нормальной работы.
Аккаунт на 30 кампаний, скрипт раз в сутки забирает их параметры и проверяет активность фраз. Campaigns.get стоит 10 баллов за вызов плюс 1 за каждую кампанию в ответе - выходит 40. Дальше Keywords.get по каждой кампании: 15 за вызов, а фразы до двух тысяч штук идут в счет вызова. Тридцать вызовов - еще 450. Итого около 490 баллов за проход при лимите в десятки тысяч. Столько же съедят 25 подряд ошибочных запросов, если в цикле опечатка в параметре.
Копию данных держат у себя, а перед обновлением спрашивают сервис Changes, что изменилось, и забирают только изменившиеся объекты. Заодно это снимает лишние запросы в часы, когда в аккаунте ничего не происходит.
У статистики свои ограничения, отдельные от баллов. По той же документации, к сервису отчетов можно отправить не больше 20 запросов за 10 секунд. Параллельных запросов от одного рекламодателя API принимает не больше пяти, это общее правило для всех сервисов. Одновременно в очереди держится до пяти офлайн-отчетов, готовый отчет хранится пять часов и удаляется. Данные доступны за последние три года от текущего месяца, поисковые запросы - за 180 дней. Показатели из Метрики приезжают с задержкой до нескольких часов, потому что их сопоставляют с данными по кампаниям.
Выгрузка статистики. Самый массовый случай. Отчет уезжает в таблицу, базу или хранилище, поверх строится дашборд: расход по кампаниям, конверсии, цена конверсии, окупаемость. Рабочий минимум колонок - дата, кампания, клики, расход, конверсии, цена клика, цена конверсии. Этого хватает и для отчета клиенту, и для разбора. Срезы и ручная работа с цифрами остаются в интерфейсе, об этом отдельно в материале про выгрузку отчетов в интерфейсе.
Ставки и бюджеты. Скрипт меняет ставки по расписанию, поднимает бюджет в сезон, отключает кампании, когда месячный бюджет исчерпан. Здесь API отвечает за исполнение, а логика решения - это правила корректировок и стратегия, которую вы выбрали.
Кампании из фида или каталога. Кампании для магазина с тысячами товаров руками не собирают. Объявления генерируются из товарной выгрузки и обновляются при изменении цен и остатков, показы останавливаются, когда товар закончился. Механика фида разобрана в статье про генерацию кампаний из фида.
Площадки и минус-фразы. Общий набор минус-фраз раскатывается на все кампании сразу, площадки сетей чистятся по своим правилам. Условие вроде «площадка потратила больше трех цен конверсии и не дала ни одной» человек проверяет глазами неделю, а скрипт - за минуту.
Данные о сделках. Директ учится на конверсиях, а конверсии он берет из Метрики. Поэтому сделки и их суммы возвращают не в API Директа, а в счетчик, откуда кампании подтягивают ценность. Как это собирается со стороны CRM - в статье про передачу данных о сделках в кабинет.
Мониторинг. Раз в час скрипт проверяет: кампании активны, баланс не на нуле, объявления прошли модерацию, вчерашний расход не улетел вдвое. Сообщение падает в чат или на почту. Хватает нескольких дешевых методов и сервиса Changes. Для агентства это самый окупаемый сценарий: один обход закрывает все клиентские аккаунты, а узнать об остановке кампании от скрипта дешевле, чем от клиента.
Кода можно не писать вообще. Тогда порядок другой: не заявка и токен, а выбор чужого приложения, которое заявку уже прошло.
Коннекторы к ИИ-ассистентам. Отдельный класс сервисов: они подключают Директ, Метрику и Вордстат к ассистенту через авторизацию по OAuth, без ключей и настройки. Дальше задачи ставятся словами: разобрать неделю по кампании, собрать семантику, предложить минус-фразы. Агентские тарифы открывают все клиентские аккаунты сразу. Что ассистент делает с данными - тема статьи про подключение кабинета к ассистенту.
Конструкторы интеграций. Сервисы, где связка собирается из готовых блоков в интерфейсе: взять новую заявку в CRM, дернуть Директ, записать строку в таблицу. Кода нет, есть схема. Доступны только те методы, которые разработчик конструктора успел упаковать в блок.
Платформы-посредники. Кабинеты, через которые ведут несколько рекламных систем в одном окне, с автоправилами и отчетами. Отключать площадки и поисковые запросы по условию там можно мышью.
Расширения для браузера. Работают поверх веб-интерфейса, а не через API: сканеры площадок сетей, массовые действия в таблицах кабинета. Вариант на крайний случай - расширение перестает работать после любого обновления интерфейса, а доступ к кабинету вы отдаете неизвестному разработчику.
API Вордстата вынесен из Директа. Возможности перенесены в Wordstat API сервиса Yandex Search API, доступ идет по ключу сервисного аккаунта Yandex Cloud, тарификация - по прайсу этого сервиса (проверено 16.09.2026). Так что «собрать частотность через API Директа» не получится, даже с одобренной заявкой.
За вечер без разработчика собираются ежедневная выгрузка статистики в таблицу и оповещение в чат. В потолок упираются логика сложнее «если А, то Б», нестандартные поля отчета, работа с большим числом аккаунтов и нормальная обработка ошибок. С этого места дешевле нанять человека на два дня, чем месяц воевать с блоками.
Токен - это полный доступ к кабинету. Тот, у кого он есть, меняет ставки, останавливает кампании и выкачивает статистику. Хранить его в коде, в общей таблице или в переписке нельзя. Место токена - переменные окружения или хранилище секретов, доступ к которому есть у узкого круга людей. Утечка лечится сменой пароля: это отзывает все выданные токены.
Автоматические изменения без подтверждения. Рабочее правило: инструмент готовит данные и варианты, решение принимает специалист. Был случай, когда автоматически сгенерированные объявления увели показы в сторону и сожгли бюджет раньше, чем кто-то открыл кабинет. Поэтому массовые правки идут в два шага: сначала отчет о том, что будет изменено, потом применение. Отладка при этом идет в Песочнице, а не на боевом аккаунте. Автоприменение рекомендаций платформы на старте тоже отключают - система подставляет лишнее.
Клиентские аккаунты. Ответственность за скрипт, который правит чужие кампании, лежит на вас, а не на Яндексе и не на авторе библиотеки. Это отдельный разговор с клиентом при подключении, а не мелкий технический пункт.
Логи. Записывать нужно время запроса, метод, идентификаторы объектов, значения до и после, чей токен использован и что ответил сервер. Без этого невозможно ответить на вопрос «кто ночью снизил ставки вдвое».
Первый сценарий - ежедневная выгрузка вчерашней статистики в таблицу. Он дешевый по баллам, ничего не меняет в кампаниях и сразу экономит время.
Порядок такой:
Что для этого нужно, кроме доступа: место, куда складывать данные (таблица, база или хранилище), планировщик, который запускает выгрузку по времени, и один человек, который заметит, если она перестала приходить. Последний пункт пропускают первым, а он и определяет, проработает ли автоматизация дольше месяца. Токен молча протух после смены пароля - отчет пустой, дашборд рисует ноль, решения принимаются по нулю.
Дальше наращивают по одному сценарию: оповещения о просадках, потом правки ставок по правилу, потом создание кампаний. Каждый следующий шаг добавляет права на запись - и вместе с ними требование логировать все, что скрипт сделал.
Если пользуетесь готовым приложением, отдельная заявка не нужна: примите условия соглашения на странице API в кабинете и разрешите приложению работать от вашего имени. Если пишете свое, зарегистрируйте его в Яндекс OAuth, затем подайте заявку в разделе API на вкладке «Мои заявки». Ответа по ней ждут от часа до трех рабочих суток, в периоды пиковой нагрузки - до семи дней.
Не всегда. Выгрузку статистики, оповещения и простые связки с CRM закрывают готовые сервисы: коннекторы к ассистентам, конструкторы интеграций, платформы-посредники. Разработчик нужен, когда появляется своя логика управления ставками, нестандартные отчеты или обработка ошибок в большом парке аккаунтов.
Баллы - это способ ограничить нагрузку на серверы Директа. Каждый рекламодатель и каждое агентство получают индивидуальный суточный лимит, который зависит от активности кампаний. Баллы списываются за вызов метода, за каждый полученный или измененный объект и за ошибки: 20 баллов за неудачный вызов и 20 за каждую неудачную операцию. Текущий остаток приходит в заголовке Units.
Коммандер - готовое приложение Яндекса, которое само работает через API и требует человека за экраном. API дает программный доступ: те же операции выполняются по расписанию, по событию во внешней системе или из вашего скрипта. Массовую правку руками удобнее делать в Коммандере, регулярную и связанную с другими системами - через API.
Да, если это клиенты вашего агентства или рекламодатель открыл вам доступ как представителю. Запросы выполняются от имени пользователя, логин клиента передается в заголовке запроса. Баллы при этом списываются у клиента, а с заголовком Use-Operator-Units - у агентства.
Да. Есть сервисы, которые связывают кабинет с ассистентом через авторизацию по OAuth, без ключей и своего кода: подключение занимает пару минут, дальше задачи ставятся обычным текстом. Отвечать за изменения в кампаниях все равно вам, поэтому право на запись открывают после того, как проверили ассистента на чтении.
Ежедневную выгрузку статистики. Она не меняет кампании, стоит мало баллов, дает готовую базу для отчетов и дашбордов и сразу освобождает время. Следующий шаг - оповещения о просадках и остановках, и только потом изменения в кампаниях.