Лимиты API Яндекс Директа: 5 запросов, баллы, ошибка 152
Лимиты и баллы API Яндекс Директа: как избежать блокировок и оптимизировать запросы.
Коротко: Не более 5 параллельных запросов; баллы (units); ошибка 152.
← Каталог API Директа · Введение · Версии API · OAuth и доступ · Сервисы v5 · Ограничения · Кампании · Группы и объявления · Ключи и ставки · Минус-фразы и площадки · Отчёты · Песочница · Агентства · Примеры JSON · Ошибки · Автоматизация · Документация Яндекса
Содержание
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 / delete | 10–20 | За пакет сущностей |
| reports (POST) | 10+ | Зависит от размера отчёта |
| dictionaries.get | 1 | Справочники — дёшево |
Точные значения — в официальной документации Яндекса.
Ошибка 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 · Ошибки · Автоматизация