429 Too Many Requests significa que te limitaron: enviaste más peticiones de las que el servidor permite en una ventana, y te pide que bajes el ritmo. Es un código 4xx, y normalmente es el servidor haciendo su trabajo, protegiéndose de sobrecarga, scraping y brute force.
Por qué los servidores devuelven 429
- Rate limitingla API limita peticiones por key/IP/usuario por ventana.
- Cuotausaste el cupo de tu plan.
- Protección contra abusodemasiados intentos de login disparan un bloqueo (es una feature).
- IP compartidaestás detrás de un NAT/proxy y otro gastó el presupuesto.
Cómo arreglarlo, como cliente / consumidor de API
- Respetá
Retry-After. La respuesta te dice cuánto esperar. - Usá backoff exponencial. Reintentá a 1s, 2s, 4s, 8s… con jitter, no en loop cerrado.
- Cacheá y agrupá. No re-pidas datos que ya tenés.
- Revisá tus límites y los headers
X-RateLimit-*.
Cómo configurarlo, como dueño de la API
- Limitá por API key o usuario, no solo por IP.
- Devolvé siempre
Retry-Aftery headersX-RateLimit-*. - El rate limiting es un control de seguridad central, está en el checklist de seguridad de APIs porque su ausencia habilita brute force.
El rate limiting frena el brute force, pero no arregla un endpoint que directamente no chequea auth. El pentester con IA de Nurbak escanea tu repo buscando chequeos de auth faltantes y otros bugs explotables, y puede abrir un PR con el fix. Tu primer escaneo es gratis.
