429 Too Many Requests significa que você foi limitado: enviou mais requisições do que o servidor permite numa janela, e ele pede que você diminua o ritmo. É um código 4xx, e normalmente é o servidor fazendo seu trabalho, se protegendo de sobrecarga, scraping e brute force.
Por que servidores retornam 429
- Rate limitinga API limita requisições por key/IP/usuário por janela.
- Cotavocê usou o limite do seu plano.
- Proteção contra abusomuitas tentativas de login disparam um bloqueio (é uma feature).
- IP compartilhadovocê está atrás de um NAT/proxy e outro gastou o orçamento.
Como corrigir, como cliente / consumidor de API
- Respeite
Retry-After. A resposta diz quanto esperar. - Use backoff exponencial. Tente a 1s, 2s, 4s, 8s… com jitter, não em loop fechado.
- Faça cache e agrupe. Não re-peça dados que já tem.
- Revise seus limites e os headers
X-RateLimit-*.
Como configurar, como dono da API
- Limite por API key ou usuário, não só por IP.
- Retorne sempre
Retry-Aftere headersX-RateLimit-*. - O rate limiting é um controle de segurança central, está no checklist de segurança de APIs porque sua ausência habilita brute force.
O rate limiting freia o brute force, mas não conserta um endpoint que simplesmente não verifica auth. O pentester com IA da Nurbak escaneia seu repo em busca de verificações de auth ausentes e outros bugs exploráveis, e pode abrir um PR com a correção. Seu primeiro scan é grátis.
