Перейти к основному содержанию
Заголовки лимитов приходят на маршрутах с ограничением частоты. Мастер-ключи и ключи из UNLIMITED_API_KEYS обходят этот лимит и могут не получать X-RateLimit-*. Имена HTTP-заголовков нечувствительны к регистру: X-Ratelimit-Limit и X-RateLimit-Limit равнозначны. Новый валидный ключ сначала проверяется в IP-бакете; после прогрева кэша применяется персональный лимит (например, 40 → 120 для статистики). Retry-After возвращается при ограничении. На OpenAI-совместимых методах /v1/* те же значения приходят под именами OpenAI: x-ratelimit-limit-requests, x-ratelimit-remaining-requests и x-ratelimit-reset-requests (время до сброса, например 1s). Подробнее — в обзоре AI API.

Ответ 429

При превышении лимита API отвечает HTTP 429. В теле только код и сообщение, время ожидания — в заголовках:
Если продолжать слать запросы после 429, ключ или IP временно блокируется: приходит код 5039, а Retry-After показывает, сколько ждать.

Как обрабатывать

  • Следите за X-RateLimit-Remaining и сбавляйте темп, когда он подходит к нулю.
  • После 429 подождите Retry-After секунд и повторите только отклонённый запрос.
  • Не повторяйте изменяющие запросы вслепую после обрыва сети: сначала проверьте, применился ли запрос.
  • Кэшируйте ответы, которые редко меняются.
Перед API стоит Cloudflare, у него свои ограничения. Если с одного IP идёт слишком много запросов, Cloudflare сам отвечает ошибкой 1015 (HTTP 429) — это его страница, а не JSON API, и без заголовков X-RateLimit-*. Сбавьте частоту запросов и подождите несколько минут: повторные попытки во время блокировки продлевают её.