Коды состояния · код429Слишком много запросов

Что означает ответ 429 Слишком много запросов, кто виноват, что делать посетителю и что — владельцу сервера.

Открыть справочник на этом коде
Что происходит

Запросы уходят в отказ, хотя всё работало

HTTP/1.1 429 Too Many Requests
Retry-After: 120

Превышен лимит частоты: сервис не сломался, а попросил притормозить. Заголовок Retry-After говорит, через сколько секунд можно повторить, — это не рекомендация, а часть ответа: повтор раньше срока обычно продлевает блокировку.

Код
Кто виноватОшибка клиента
Класс4xx Ошибка клиента
Заголовки
Retry-Afterчерез сколько можно повторить
01

Что делать

Если это чужой сайт

Подождите столько, сколько указано в ответе, и не обновляйте страницу подряд — каждое обновление считается новым запросом и отодвигает разблокировку. Если лимит выдаёт сайт, а не ваш скрипт, помогает пауза в несколько минут.

Если это ваш сервер

Клиенту: читать Retry-After и повторять с экспоненциальной паузой и случайным разбросом — иначе все клиенты вернутся одновременно и упрутся в лимит снова. Серверу: 429 обязан приходить с Retry-After и не должен считаться ошибкой приложения — это штатный ответ, и в мониторинге его полезно отделять от 5xx, иначе график ошибок врёт.

02

С чем путают

503Сервис недоступен

сервис недоступен целиком, а не лично для вас: перегрузка или обслуживание.

503
403Доступ запрещён

вас заблокировали, а не притормозили: ожидание не поможет.

403
408Истекло время запроса

это про медленный запрос от клиента, а не про их количество.

408
03

Как проверить

curl -sI https://api.example.com/items | grep -i -E 'retry-after|ratelimit'

через сколько можно повторить и какой лимит остался

curl -s -o /dev/null -w '%{http_code}\n' https://api.example.com/items

проверить один запрос, не устраивая новую серию

Найти другой код

В справочнике шестьдесят четыре кода с поиском по номеру, названию и смыслу — и разбор частых пар вроде 401 и 403.

Открыть справочник на этом кодеВсе коды

Обновлено

«» добавлен в избранное