Лимиты запросов

Сколько можно и что делать, когда упёрлись.

Сколько можно

ОграничениеЗначение
На один ключ300 запросов в минуту
На проект, суммарно по всем ключам600 запросов в минуту

Минута считается скользящим окном из шести отрезков по десять секунд. Это значит, что потратить всю минутную норму за одну секунду не получится: очередь считается по последним шестидесяти секундам, а не «с нуля каждую минуту».

Доставка вебхуков в лимит не входит — это наши исходящие запросы, а не ваши.

Заголовки

Каждый ответ рассказывает, сколько осталось:

ЗаголовокЗначение
X-RateLimit-LimitЛимит на ключ
X-RateLimit-RemainingСколько запросов осталось
X-RateLimit-ResetКогда счётчик обновится (unix-время, секунды)

Следите за X-RateLimit-Remaining и притормаживайте заранее — это надёжнее, чем упираться в отказ.

Когда упёрлись

Ответ 429 и заголовок Retry-After с числом секунд:

{
  "error": {
    "code": "rate_limited",
    "message": "This key may make 300 requests per minute",
    "details": { "scope": "key", "limit": 300 },
    "request_id": "…"
  }
}

Поле details.scope говорит, чей лимит исчерпан: key — ваш ключ, company — весь проект, то есть кто-то ещё расходует норму параллельно.

Подождите указанное время и повторите. Не повторяйте сразу и без паузы — так вы только продлите отказ.

Как не упираться

  • Подпишитесь на [вебхуки](/guides/webhooks/) вместо опроса. Одно событие вместо тысячи пустых запросов «не изменилось ли что-нибудь».
  • Используйте `updated_since`. Если опрос всё же нужен, спрашивайте только изменения.
  • Берите страницы по 100. Тот же объём данных за вдесятеро меньшее число запросов.
  • Не делайте запрос на каждую запись. Список уже содержит полные объекты; отдельный запрос за каждым — самая частая причина упереться в лимит.

Назад: Ошибки

Дальше: Повторы запросов