HTTP 429 Too Many Requests

Reduce la velocidad: el cliente envió más solicitudes de las que el servidor permite en una ventana de tiempo.

Qué significa HTTP 429

HTTP 429 Too Many Requests significa que el cliente excedió un límite de solicitudes — por IP, por clave de API, por usuario o por endpoint. Los servidores bien diseñados incluyen una cabecera Retry-After (segundos o una fecha) y a menudo cabeceras X-RateLimit-* que describen la cuota.

Para los clientes, la reacción correcta es siempre la misma: reducir la velocidad. Reintentar de inmediato lo empeora y puede escalar una limitación temporal a una prohibición.

Causas comunes de los errores 429

  • Un cliente de API sondea con demasiada frecuencia o supera su cuota en ráfagas.
  • Web scraping sin retrasos entre solicitudes.
  • Un error: un bucle de reintento sin backoff golpeando el mismo endpoint.
  • IP compartida (NAT de oficina, VPN, salida serverless) donde el tráfico combinado cruza el límite.
  • Endpoints de inicio de sesión que limitan intentos repetidos como protección contra fuerza bruta.

Cómo solucionarlo como cliente/desarrollador

  • Respeta Retry-After exactamente; si está ausente, usa backoff exponencial con jitter (por ejemplo, 1s, 2s, 4s, 8s…).
  • Lee las cabeceras X-RateLimit-Remaining/Restablecer de la API y ritma las solicitudes de forma proactiva.
  • Agrupa las solicitudes y cachea las respuestas en lugar de volver a obtener datos idénticos.
  • Distribuye la carga a lo largo del tiempo, no entre IPs desechables — evadir los límites normalmente viola los términos de la API.

Cómo solucionarlo como propietario de la API

  • Envía siempre Retry-After y cabeceras de cuota para que los clientes puedan comportarse bien.
  • Limita la velocidad por clave/usuario en lugar de por IP pura cuando sea posible, para evitar penalizar redes compartidas.

Ejemplo de respuesta

HTTP/1.1 429 Too Many Requests
Retry-After: 30
X-RateLimit-Limit: 100
X-RateLimit-Remaining: 0

{"error":"rate_limited","retry_after":30}

Preguntas frecuentes

¿Cuánto debería esperar después de un 429?

Lo que diga Retry-After. Sin él, empieza con uno o dos segundos y duplica la espera en cada 429 consecutivo (backoff exponencial).

¿Significa 429 que estoy bloqueado?

No — es una limitación temporal. Sin embargo, ignorarla repetidamente puede llevar a prohibiciones reales de IP o de clave.

¿Por qué recibo 429 en mi primera solicitud?

El límite probablemente es compartido: tu IP (VPN, red de oficina) o clave de API ya gastó la cuota en otro lugar.