Лимиты API Яндекс Директа: 5 запросов, баллы, ошибка 152

Лимиты и баллы API Яндекс Директа: как избежать блокировок и оптимизировать запросы.

Коротко: Не более 5 параллельных запросов; баллы (units); ошибка 152.

← Каталог API Директа · Введение · Версии API · OAuth и доступ · Сервисы v5 · Ограничения · Кампании · Группы и объявления · Ключи и ставки · Минус-фразы и площадки · Отчёты · Песочница · Агентства · Примеры JSON · Ошибки · Автоматизация · Документация Яндекса


Содержание

  1. Параллельность
  2. Баллы
  3. Стоимость
  4. Ошибка 152
  5. LimitedBy
  6. Рекомендации

5 параллельных запросов

На одно OAuth-приложение действует лимит не более 5 одновременных HTTP-запросов к API. Это касается всех сервисов, включая reports.

  • Используйте очередь запросов с ограничением concurrency ≤ 5.
  • При массовых операциях группируйте запросы в батчи — в одном add можно передать до 1000 сущностей.
  • Не запускайте десятки параллельных потоков — это приведёт к блокировке.

Баллы (units)

Каждый запрос списывает баллы (units) с суточной квоты. Квота обновляется ежедневно. Для агентств баллы могут списываться с агентства (заголовок Use-Operator-Units: true).

В ответе заголовки Units показывают остаток баллов. Ограничения API v5.

Стоимость запросов (примерно)

ОперацияБаллыПримечание
get (до 10 000 записей)15Зависит от количества
add / update / delete10–20За пакет сущностей
reports (POST)10+Зависит от размера отчёта
dictionaries.get1Справочники — дёшево

Точные значения — в официальной документации Яндекса.

Ошибка 152 (QuotaExceeded)

Код 152 означает исчерпание суточной квоты баллов или превышение лимита параллельных запросов.

  • Подождите до полночи (00:00 МСК) — квота обновится.
  • Реализуйте exponential backoff при повторе.
  • Кэшируйте справочники и редко меняющиеся данные.

Полный список кодов ошибок.

LimitedBy — пагинация

{ "result": { "Campaigns": [...], "LimitedBy": 12345678 } }

Если в ответе есть поле LimitedBy — данные обрезаны. Повторите get с SelectionCriteria.Ids от LimitedBy или используйте Page.Offset.

Рекомендации по оптимизации

  • Запрашивайте только нужные FieldNames — меньше данных, меньше баллов.
  • Для статистики используйте Reports API вместо тысяч get-запросов.
  • Группируйте операции в батчи: 1000 ключей в одном keywords.add.
  • Планируйте тяжёлые отчёты на ночь, когда квота не исчерпана.

← Каталог API Директа · Введение · Версии API · OAuth и доступ · Сервисы v5 · Ограничения · Кампании · Группы и объявления · Ключи и ставки · Минус-фразы и площадки · Отчёты · Песочница · Агентства · Примеры JSON · Ошибки · Автоматизация