Caiu ou Não?Pesquisar serviço
PT
Agentes e APIs

Erro 429 Too Many Requests: como resolver em sites, APIs e agentes

O servidor está pedindo que o cliente reduza o ritmo. Recarregar sem parar ou deixar a automação insistir pode prolongar o bloqueio e aumentar o problema.

Computador conectado a serviços em nuvem com indicadores de limite de requisições

Resposta rápida

Erro 429 Too Many Requests significa que o cliente enviou solicitações demais dentro do período aceito pelo servidor. É uma resposta de limitação de taxa, também chamada de rate limit, e não prova que o site ou a API inteira caiu.

Se você é visitante, pare de atualizar a página repetidamente e aguarde antes de testar de novo. Se administra uma integração, leia o corpo e os cabeçalhos da resposta, respeite Retry-After quando ele existir e limite concorrência e novas tentativas. Um robô que insiste imediatamente pode manter o bloqueio ativo e consumir ainda mais capacidade.

O que o visitante pode fazer

Um 429 pode atingir apenas uma conta, endereço IP, rota ou ação. Várias abas abertas, atualizações repetidas, extensões, VPN compartilhada e automações no mesmo acesso podem somar solicitações sem que isso fique evidente na tela.

  • Pare de recarregar a página e feche abas duplicadas do mesmo serviço.
  • Aguarde o período informado na mensagem ou no cabeçalho Retry-After, quando ele estiver visível.
  • Confirme se outro recurso do serviço abre normalmente para separar uma rota limitada de uma indisponibilidade ampla.
  • Se usa VPN ou proxy corporativo, considere que outras pessoas podem compartilhar o mesmo endereço IP e o mesmo limite.
  • Evite trocar de rede para contornar uma proteção legítima. Se o bloqueio persistir além do prazo indicado, registre horário, URL e conta e procure o suporte.

Como ler Retry-After e os cabeçalhos de limite

O RFC 6585 permite que uma resposta 429 inclua Retry-After para indicar quando uma nova tentativa pode ser feita. O valor pode representar um número de segundos ou uma data HTTP, conforme a definição do cabeçalho.

Cada provedor pode publicar cabeçalhos adicionais com limite, capacidade restante e horário de renovação. Não suponha nomes ou unidades: leia a documentação da API e preserve o corpo completo da resposta. Quando Retry-After não existe, aplique uma pausa progressiva e um número máximo de tentativas em vez de repetir imediatamente.

Checklist para diagnosticar o 429 numa API

A primeira pergunta não é como aumentar o limite, mas qual limite foi atingido. A restrição pode ser por usuário, token, endereço IP, organização, endpoint, janela de tempo, volume concorrente ou custo da operação.

  • Registre endpoint, método, status, horário, identificador da requisição, corpo e cabeçalhos sem expor tokens.
  • Confira se a API informa Retry-After, capacidade restante ou horário de renovação da janela.
  • Some todas as instâncias, funções, filas e agentes que compartilham a mesma credencial ou conta.
  • Separe limite por período de excesso de concorrência e de cota contratada, pois cada caso exige uma correção diferente.
  • Verifique se a aplicação está duplicando chamadas, repetindo paginação ou consultando o mesmo dado sem cache.
  • Reproduza com uma solicitação isolada depois da janela indicada antes de alterar credenciais ou contratar mais capacidade.

Como implementar novas tentativas sem criar um loop

A nova tentativa precisa ser limitada e coordenada. Se dezenas de processos voltam ao mesmo tempo, o pico se repete assim que a janela abre. Use atraso progressivo com uma pequena variação aleatória, conhecida como jitter, para distribuir as chamadas.

  • Respeite Retry-After antes de calcular qualquer atraso próprio.
  • Quando o provedor permitir novas tentativas sem Retry-After, aumente o intervalo a cada falha e acrescente jitter.
  • Defina quantidade máxima de tentativas e um prazo total para abandonar a operação com erro claro.
  • Não repita automaticamente operações não idempotentes, como cobrança, criação de pedido ou envio de mensagem, sem uma chave de idempotência compatível.
  • Centralize a fila e o controle de concorrência para que cada processo não interprete o limite de forma isolada.
  • Use cache, eliminação de duplicatas, paginação correta e processamento em lote quando a API oferecer essas opções.

Erro 429 em agentes de IA e automações

Agentes podem transformar um erro temporário em uma tempestade de chamadas quando tentam novamente a mesma ferramenta, abrem tarefas paralelas ou reiniciam o plano sem considerar as tentativas anteriores. O controle de taxa precisa ficar numa camada compartilhada, não apenas no texto de instrução do agente.

Defina orçamento de chamadas por execução, limite de concorrência, fila central, tentativas máximas e estado persistente da janela de espera. O agente deve devolver um erro compreensível quando o limite for alcançado e nunca aumentar privilégios, trocar credenciais ou contratar mais cota sem autorização.

O que observar na API do GitHub

A documentação do GitHub consultada em 1º de setembro de 2026 informa que limites primários e secundários podem produzir resposta 403 ou 429. Quando x-ratelimit-remaining chega a zero, a integração deve aguardar o horário indicado por x-ratelimit-reset. Se Retry-After estiver presente, a espera indicada precisa ser respeitada.

O GitHub também recomenda evitar solicitações concorrentes em excesso e interromper as tentativas após um número definido de falhas. Continuar enviando chamadas durante a limitação pode resultar em bloqueio da integração.

Checklist para quem protege um site com rate limiting

O limite precisa conter abuso sem bloquear usuários legítimos. Antes de aumentar o valor ou desligar a regra, identifique a rota, o padrão de tráfego, o identificador do cliente e a duração do bloqueio.

  • Separe páginas comuns, login, recuperação de senha, formulários e APIs por risco e custo.
  • Use uma resposta 429 clara e inclua Retry-After quando houver um prazo confiável para nova tentativa.
  • Monitore falsos positivos por rota, região, rede compartilhada e tipo de cliente.
  • Evite limites globais tão amplos que um único consumidor afete todos os usuários.
  • Teste a regra com tráfego legítimo e abusivo antes de ampliar uma exceção.

Limites do diagnóstico externo

Uma consulta pública isolada pode receber 200 enquanto a sua conta ou credencial continua limitada. O teste externo não conhece automaticamente a janela, o token, a cota contratada nem as chamadas feitas por outras instâncias.

Também é possível que o provedor devolva 403 para determinados limites. Por isso, o código precisa ser interpretado junto com corpo, cabeçalhos e documentação oficial, sem concluir que toda resposta 403 é permissão ou que todo 429 é uma queda do serviço.

Próxima ação útil

Se o erro apareceu num site, pare as atualizações e compare a URL no diagnóstico web do Caiu ou Não?. Se ocorreu numa API ou agente, salve a resposta completa sem o token, identifique a janela e pause as chamadas conforme Retry-After. Depois, corrija concorrência, duplicação e fila antes de solicitar aumento de limite.

Faça o próximo teste

Fontes consultadas

Os links abaixo servem para conferir conceitos, orientações oficiais e o critério editorial usado neste conteúdo.

Outros guias ligados ao mesmo tipo de problema.