HTTP 429 Too Many Requests
Desacelere: o cliente enviou mais requisições do que o servidor permite numa janela de tempo.
O que significa o HTTP 429
HTTP 429 Too Many Requests significa que o cliente excedeu um limite de requisições — por IP, por chave de API, por usuário ou por endpoint. Servidores bem comportados incluem um cabeçalho Retry-After (segundos ou uma data) e frequentemente cabeçalhos X-RateLimit-* descrevendo a cota.
Para os clientes, a reação correta é sempre a mesma: desacelerar. Tentar novamente imediatamente piora a situação e pode transformar uma limitação temporária em um banimento.
Causas comuns de erros 429
- Um cliente de API consulta com muita frequência ou explode acima de sua cota.
- Web scraping sem atrasos entre requisições.
- Um bug: um loop de nova tentativa sem backoff martelando o mesmo endpoint.
- IP compartilhado (NAT de escritório, VPN, saída serverless) onde o tráfego combinado ultrapassa o limite.
- Endpoints de login limitando tentativas repetidas como proteção contra força bruta.
Como corrigir como cliente/desenvolvedor
- Respeite exatamente o Retry-After; se ausente, use backoff exponencial com jitter (por exemplo, 1s, 2s, 4s, 8s…).
- Leia os cabeçalhos X-RateLimit-Remaining/Redefinir da API e ritme as requisições proativamente.
- Agrupe requisições e armazene respostas em cache em vez de buscar novamente dados idênticos.
- Distribua a carga ao longo do tempo, não entre IPs descartáveis — burlar limites geralmente viola os termos da API.
Como corrigir como proprietário de API
- Sempre envie cabeçalhos Retry-After e de cota para que os clientes possam se comportar.
- Limite a taxa por chave/usuário em vez de por IP simples quando possível, para evitar punir redes compartilhadas.
Exemplo de resposta
HTTP/1.1 429 Too Many Requests
Retry-After: 30
X-RateLimit-Limit: 100
X-RateLimit-Remaining: 0
{"error":"rate_limited","retry_after":30}Perguntas frequentes
Quanto tempo devo esperar após um 429?
O que o Retry-After indicar. Sem ele, comece com um ou dois segundos e dobre o atraso a cada 429 consecutivo (backoff exponencial).
429 significa que fui banido?
Não — é uma limitação temporária. Ignorá-la repetidamente, porém, pode levar a banimentos reais de IP ou chave.
Por que recebo 429 na minha primeira requisição?
O limite provavelmente é compartilhado: seu IP (VPN, rede de escritório) ou chave de API já gastou a cota em outro lugar.