n1ro°
RU

Компьютеры · Инструкция

GitHub API rate limit exceeded: 403/429, reset и backoff

GitHub использует primary и secondary ограничения. Одинаковые 403/429 требуют чтения response headers: просто немедленно

Редакция N1RO · Проверено

Короткий ответ

При primary rate limit прекратите запросы до времени `x-ratelimit-reset`; при наличии `retry-after` ждите указанное число секунд. Для secondary limit применяйте backoff и уменьшайте параллелизм, иначе интеграция рискует получить блокировку.

Что делать

  1. Снимите headers: Логируйте `x-ratelimit-limit`, `x-ratelimit-remaining`, `x-ratelimit-reset` и `retry-after` без токенов.
  2. Определите тип лимита: Remaining=0 указывает на исчерпанный primary budget; текст secondary limit — на вторичное ограничение.
  3. Остановите retries: Не делайте tight loop; дождитесь reset/retry-after.
  4. Снизьте нагрузку: Уменьшите concurrency, кешируйте ответы и не опрашивайте один endpoint без необходимости.
  5. Используйте подходящую аутентификацию: Для public unauthenticated запросов лимит ниже; применяйте токен/App там, где это оправдано.

Важно

Продолжение запросов во время rate limit может привести к блокировке интеграции.

Что учитывать

Продолжение запросов во время rate limit может привести к блокировке интеграции.

Источники и проверка

Фактическая часть сверена по первичным источникам (в т.ч. Rate limits for the REST API). Пример и формулировки — редакция N1RO на 2026-09-17.