Entrega automática tras confirmar el pago · IP dedicado · Soporte por ticket en el panel Pago local según tu país · Precios en dólares (USD)
ProxyBox
Datos

Error 429 Too Many Requests en scraping: límite por IP, espera y cuándo lo resuelve un proxy

Qué significa el error 429 Too Many Requests en scraping, cómo leer Retry-After, cómo hacer una espera progresiva y cuándo ayuda repartir peticiones entre IP.

Por Redacción ProxyBox · Editor técnico 5 min de lectura scraping · errores · automatización
Guía completa de Datos

Este artículo profundiza en un punto del tema. Para la visión completa, lee Qué es el web scraping: cómo funciona, cuándo es legítimo y dónde entra el proxy.

Una recogida de datos que funcionaba bien empieza a devolver 429 Too Many Requests. Es el servidor diciendo, sin ambigüedad, que has superado el ritmo aceptado. La reacción instintiva (reintentar al instante o cambiar de IP) a veces empeora la situación. El primer paso es averiguar qué se está limitando.

Qué quiere decir el 429

El código 429 indica que el cliente ha enviado demasiadas peticiones en un intervalo de tiempo. No es un error de tu código ni una caída del sitio: es un control de ritmo.

Muchos servidores envían junto con él la cabecera Retry-After, con el tiempo de espera antes del siguiente intento, en segundos o como una fecha. Cuando viene, es la información más valiosa de la respuesta.

Primero: ¿el límite es por qué?

El límite se aplica por Señal típica ¿Ayuda un proxy?
Dirección IP El 429 desaparece al cambiar de red; otras IP siguen normales Sí, repartiendo el volumen
Cuenta o inicio de sesión El 429 acompaña a la cuenta en cualquier red No
Clave o token de API El 429 aparece para la clave, venga de donde venga No
Ventana global del servicio Todos los clientes reciben 429 en el mismo período No

Una prueba rápida: lanza la misma petición, en el mismo momento, desde otra red. Si allí pasa y desde aquí no, el límite probablemente es por dirección.

Espera progresiva: qué hacer en cualquier caso

Sea cual sea la causa, la recogida tiene que reaccionar al 429 sin machacar el servidor:

import time, random, requests

def obtener(url, proxies, intentos=5):
    espera = 2
    for _ in range(intentos):
        r = requests.get(url, proxies=proxies, timeout=30)
        if r.status_code != 429:
            return r
        retry = r.headers.get("Retry-After")
        pausa = int(retry) if retry and retry.isdigit() else espera
        time.sleep(pausa + random.uniform(0, 1))
        espera *= 2
    return r

Lo que hace el código:

  1. Respeta el Retry-After cuando el servidor lo indica.
  2. Sin Retry-After, duplica la espera en cada intento.
  3. Añade una pequeña variación aleatoria, para que varias tareas no vuelvan todas en el mismo instante.
  4. Se detiene tras unos cuantos intentos, en lugar de insistir para siempre.

Cuándo resuelve repartir entre varias IP

Si el límite es por dirección, concentrar toda la recogida en una sola IP es lo que genera el 429. Repartir las peticiones entre muchas direcciones reduce la tasa en cada una:

  • Páginas públicas, sin inicio de sesión → residencial rotativo por GB, que cambia la dirección por petición o por sesión (en ProxyBox, con IP de Brasil).
  • Destino que acepta IPv6 → lote de IPv6, con la rotación hecha por tu aplicación.
  • Destino que acepta datacenter y volumen alto → lote de MIX IPv4.

Aunque repartas, mantén la espera progresiva: protege la recogida cuando se limita una dirección concreta.

Cuándo no cambiar de IP

  • Rutinas con sesión iniciada. Cambiar de IP en mitad de la sesión hace que la cuenta parezca saltar de un sitio a otro. Aquí la respuesta es cola y espera con IP fija.
  • API con clave. El límite es de la clave. Más IP solo generan más 429.
  • Términos del servicio. Si el sitio limita la recogida en sus términos de uso o en el robots.txt, repartir IP para esquivarlo no es un ajuste técnico. Respeta el robots.txt, los términos y la ley, y nuestra política de uso aceptable.

Tampoco es cosa del proxy resolver captchas ni bloqueos que el sitio pone a propósito: si aparecen, es la señal de que el ritmo o el método no son aceptables para ese destino.

Cuidado con el consumo

En el residencial se cobra por GB. Una recogida que repite peticiones por culpa del 429 paga el tráfico de los reintentos. Una espera bien hecha y peticiones más ligeras reducen el coste; los ajustes están en consumo de GB en scraping con proxy.

El 429 en sitios concretos

Los grandes sitios combinan límites por IP, por cuenta y por comportamiento, y cada uno tiene sus propios términos. Lo que permiten y dónde encaja un proxy lo vemos caso a caso en scraping de Amazon y en scraping de Google Maps.

Resumen

  1. Lee el Retry-After e implementa una espera progresiva.
  2. Averigua si el límite es por IP, por cuenta, por clave o global.
  3. Solo con límite por IP, reparte entre direcciones.
  4. En una rutina con sesión iniciada, IP fija con cola.

Qué producto usar para cada tipo de recogida, y cómo elegir entre residencial, IPv6 y datacenter, está en proxy para web scraping.

Preguntas frecuentes

¿Qué significa el error 429?
Es el código HTTP Too Many Requests. El servidor te avisa de que has enviado demasiadas peticiones en un intervalo y tienes que ir más despacio.
¿Qué es la cabecera Retry-After?
Es la indicación del servidor de cuánto tiempo esperar antes de volver a intentarlo, en segundos o como una fecha. Cuando existe, respeta ese valor.
¿Cambiar de IP resuelve el 429?
Solo cuando el límite se aplica por dirección. Si el límite es por cuenta, token o clave de API, el origen de red no cambia el recuento.
¿Proxy rotativo o IP fija para evitar el 429?
Para una recogida sin inicio de sesión con límite por IP, el rotativo reparte el volumen. Para rutinas con sesión iniciada, IP fija con cola y espera, porque cambiar de IP en mitad de la sesión crea otro problema.

¿Quieres aplicarlo en tu operación?

Precio público en dólares, pago local según tu país y entrega automática en el panel tras confirmar el pago. Si no sabes qué tipo elegir, cuéntanos tu operación por WhatsApp: te indicamos el más barato que lo resuelve.

Este contenido es informativo. Un proxy es infraestructura de red: controlamos el origen, la exclusividad y la geolocalización del IP. La aprobación o restricción de cuentas depende también del comportamiento de uso, la huella digital del navegador y las políticas internas de cada plataforma. Consulta la política de uso aceptable.

¿Tienes dudas? Escríbenos por WhatsApp