Компьютеры · Инструкция
GitHub API rate limit exceeded: 403/429, reset и backoff
GitHub использует primary и secondary ограничения. Одинаковые 403/429 требуют чтения response headers: просто немедленно
Короткий ответ
При primary rate limit прекратите запросы до времени `x-ratelimit-reset`; при наличии `retry-after` ждите указанное число секунд. Для secondary limit применяйте backoff и уменьшайте параллелизм, иначе интеграция рискует получить блокировку.
Что делать
- Снимите headers: Логируйте `x-ratelimit-limit`, `x-ratelimit-remaining`, `x-ratelimit-reset` и `retry-after` без токенов.
- Определите тип лимита: Remaining=0 указывает на исчерпанный primary budget; текст secondary limit — на вторичное ограничение.
- Остановите retries: Не делайте tight loop; дождитесь reset/retry-after.
- Снизьте нагрузку: Уменьшите concurrency, кешируйте ответы и не опрашивайте один endpoint без необходимости.
- Используйте подходящую аутентификацию: Для public unauthenticated запросов лимит ниже; применяйте токен/App там, где это оправдано.
Важно
Продолжение запросов во время rate limit может привести к блокировке интеграции.
Что учитывать
Продолжение запросов во время rate limit может привести к блокировке интеграции.
Источники и проверка
Фактическая часть сверена по первичным источникам (в т.ч. Rate limits for the REST API). Пример и формулировки — редакция N1RO на 2026-09-17.