Amazon es uno de los marketplaces más protegidos del mundo. Su sistema antibot bloquea el 90% de los intentos de recolección automática de datos sobre precios, existencias y posiciones de productos. Para los vendedores y los especialistas en marketing, esto es un problema crítico: sin datos actualizados de la competencia, es imposible ajustar la estrategia de precios y seguir siendo rentable.
En esta guía, analizaremos los mecanismos técnicos de protección de Amazon, mostraremos métodos probados para eludir el antibot y configuraremos un sistema de monitoreo de precios que funcione de manera estable durante meses sin bloqueos.
Por qué Amazon bloquea el scraping: mecanismos de protección
Amazon pierde millones de dólares debido al scraping: los competidores copian datos sobre productos, precios, reseñas, y los vendedores deshonestos utilizan la automatización para manipular posiciones. Por lo tanto, la empresa invierte enormes recursos en sistemas antibot que operan en varios niveles simultáneamente.
Componentes principales de la protección de Amazon:
- AWS WAF (Web Application Firewall) — analiza el tráfico entrante y bloquea direcciones IP sospechosas a nivel de red. Monitorea la frecuencia de solicitudes, geografía, reputación de IP.
- Cloudfront CDN — red de entrega de contenido distribuida con sus propios algoritmos de filtrado de bots. Verifica los encabezados de las solicitudes, cookies, huellas digitales TLS del navegador.
- Sistema de Gestión de Bots — utiliza aprendizaje automático para analizar el comportamiento de los usuarios. Monitorea movimientos del ratón, velocidad de desplazamiento, patrones de clics.
- CAPTCHA y páginas de desafío — se muestran ante actividades sospechosas. Requieren resolver un rompecabezas o ingresar un CAPTCHA para continuar.
- Limitación de tasa — restricciones estrictas sobre la cantidad de solicitudes desde una IP: generalmente 10-20 solicitudes por minuto para usuarios no registrados.
Todos estos sistemas trabajan en conjunto y comparten datos. Si al menos uno de ellos sospecha de un bot, la IP se coloca en una lista negra durante 24-48 horas, y a veces para siempre.
Importante: Amazon muestra diferentes precios para diferentes regiones y tipos de usuarios. El bloqueo no solo significa falta de acceso, sino también recibir datos desactualizados, lo cual es crítico para el monitoreo de la competencia.
Cómo Amazon identifica bots: 7 señales clave
El sistema antibot de Amazon analiza decenas de parámetros de cada solicitud. Aquí están las señales clave que utiliza para reconocer la automatización:
1. Reputación de la dirección IP
Amazon mantiene una base de datos de direcciones IP de centros de datos, servicios VPN, proxies públicos. Las solicitudes desde tales direcciones reciben atención adicional o son bloqueadas de inmediato. El sistema también monitorea el historial de actividad: si una IP hace demasiadas solicitudes a páginas de productos, eso es sospechoso.
Qué se verifica: pertenencia a centros de datos conocidos (AWS, Google Cloud, DigitalOcean), presencia en bases de datos de proxies públicos, cantidad de solicitudes en la última hora, geografía (solicitudes de países inesperados).
2. User-Agent y encabezados HTTP
Muchos scrapers utilizan User-Agent estándar de bibliotecas: python-requests/2.28.0 o ni siquiera envían este encabezado. Amazon reconoce instantáneamente tales solicitudes.
Señales sospechosas: ausencia de encabezados Accept-Language, Accept-Encoding; discrepancia entre User-Agent y otros encabezados (por ejemplo, User-Agent de Chrome, pero encabezados como los de Firefox); ausencia de Referer al navegar entre páginas; versiones antiguas de navegadores.
3. Huellas digitales TLS/SSL (fingerprinting)
Al establecer una conexión HTTPS, el navegador envía un conjunto de parámetros de cifrado (cipher suites, extensions, versión TLS). Este conjunto es único para cada navegador. Bibliotecas como requests o curl tienen huellas digitales diferentes a las de los navegadores reales, lo que Amazon puede detectar.
4. JavaScript y Canvas fingerprinting
Amazon carga código JavaScript que recopila información sobre el navegador: resolución de pantalla, fuentes instaladas, funciones WebGL soportadas, parámetros de Canvas. Los simples clientes HTTP no ejecutan JavaScript y se delatan de inmediato.
5. Cookies y sesiones
Amazon establece muchas cookies en la primera visita: session-id, ubid-main, x-main y otras. La ausencia de estas cookies o sus valores incorrectos son un signo de un bot. Además, el sistema monitorea la duración de la sesión: un usuario real no hace 100 solicitudes en 30 segundos.
6. Patrones de comportamiento
Una persona real abre la página principal, busca un producto, navega por categorías, lee descripciones, vuelve atrás. Un bot solicita inmediatamente URLs específicas de productos en una secuencia perfecta sin retrasos.
Patrones sospechosos: solicitudes solo a páginas de productos sin visitar la página principal; secuencia perfecta de URLs (product1, product2, product3...); ausencia de solicitudes a estáticos (imágenes, CSS, JS); intervalos iguales entre solicitudes.
7. Frecuencia de solicitudes
Incluso con una emulación perfecta del navegador, una frecuencia de solicitudes demasiado alta delatará a un bot. Amazon monitorea la cantidad de solicitudes desde una IP por minuto, hora, día. Superar los límites (generalmente 10-20 solicitudes/minuto para invitados) resulta en un bloqueo.
Elección de proxies para eludir el antibot: residenciales vs centros de datos
La elección correcta del tipo de proxy es el 70% del éxito en eludir la protección de Amazon. Analizaremos tres tipos principales y su aplicabilidad para el scraping del marketplace.
| Tipo de proxy | Nivel de confianza de Amazon | Velocidad | Aplicación |
|---|---|---|---|
| Residenciales | Muy alto (IPs reales de usuarios domésticos) | Media (50-150 ms) | Scraping principal, altos volúmenes |
| Móviles | Máximo (IPs de operadores móviles) | Baja (200-500 ms) | Eludir bloqueos estrictos, cuentas |
| Centros de datos | Bajo (Amazon conoce estas IP) | Muy alta (10-30 ms) | Pruebas, tareas únicas |
Proxies residenciales — la mejor elección
Para un scraping estable de Amazon, se recomiendan proxies residenciales — utilizan direcciones IP de usuarios domésticos reales, que Amazon no puede bloquear masivamente sin arriesgarse a bloquear a compradores reales.
Ventajas de los proxies residenciales para Amazon:
- Las IP pertenecen a proveedores de internet (Comcast, AT&T, Verizon en EE. UU.), no a centros de datos
- Bajo porcentaje de bloqueos: menos del 2% con una rotación adecuada
- Posibilidad de elegir geografía: EE. UU., Reino Unido, Alemania y otros países para obtener precios locales
- Soporte para sesiones pegajosas: una IP se puede usar durante 10-30 minutos para simular un usuario real
Parámetros importantes al elegir proxies residenciales:
- Tamaño del pool de IP: mínimo 1 millón de direcciones para una rotación efectiva
- Geografía: elija un país donde Amazon opere (EE. UU., Reino Unido, Alemania, Japón, etc.)
- Tipo de rotación: soporte para sesiones pegajosas con una vida útil de 10-30 minutos
- Protocolo: HTTP/HTTPS y SOCKS5 para compatibilidad con diferentes herramientas
Cuándo usar proxies móviles
Los proxies móviles utilizan IP de operadores móviles (4G/5G). Amazon prácticamente nunca bloquea tales direcciones, ya que detrás de una IP pueden estar miles de usuarios reales debido a la tecnología CGNAT.
Cuándo elegir proxies móviles:
- Trabajo con cuentas de vendedores de Amazon (Seller Central) — para ellos la estabilidad de la IP es crítica
- Eludir bloqueos estrictos después de un baneo de IP residenciales
- Scraping con autorización (por ejemplo, precios para suscriptores Prime)
- Bajos volúmenes de datos (hasta 1000 productos al día) — los proxies móviles son más caros
La desventaja de los proxies móviles es su alto costo y menor velocidad debido a las características de las redes móviles. Para el scraping masivo de miles de productos, no son efectivos.
Por qué los centros de datos no son adecuados
Los proxies de centros de datos utilizan IP de servidores de AWS, Google Cloud, DigitalOcean. Amazon reconoce tales direcciones de inmediato, ya que están en bases de datos de ASN (sistemas autónomos) de centros de datos.
Problemas al usar centros de datos: bloqueo después de 5-10 solicitudes; captchas constantes; visualización de precios obsoletos o páginas vacías; baneo de IP para siempre después de varios intentos.
El único caso en el que se pueden usar centros de datos es para probar un scraper en un número pequeño de productos (10-20) antes de lanzarlo en proxies residenciales.
Estrategia de rotación de direcciones IP: frecuencia y geografía
Incluso con proxies residenciales, una rotación incorrecta de IP llevará a bloqueos. Amazon monitorea el comportamiento de cada dirección y banea aquellas que hacen demasiadas solicitudes o se comportan de manera sospechosa.
Frecuencia óptima de rotación
Existen dos enfoques para la rotación: después de cada solicitud (rotating proxies) y con un tiempo de vida fijo (sticky sessions). Para Amazon, la segunda opción es más efectiva.
Estrategia recomendada de sticky sessions:
- Tiempo de vida de la IP: 10-15 minutos — equilibrio óptimo entre imitación de un usuario real y riesgo de bloqueo
- Cantidad de solicitudes por IP: no más de 15-20 solicitudes durante la vida de la sesión
- Retraso entre solicitudes: 3-7 segundos (aleatorio, no fijo!)
- Imitación de comportamiento: primera solicitud — página principal o categoría, luego — páginas de productos
Ejemplo de escenario para una IP: abrir Amazon.com → esperar 5 seg → abrir categoría Electrónica → esperar 4 seg → abrir producto 1 → esperar 6 seg → abrir producto 2 → ... → después de 15 solicitudes cambiar IP.
Consejo para altas cargas:
Si necesitas hacer scraping de miles de productos por hora, utiliza un pool de 50-100 sesiones simultáneas con diferentes IP. Cada sesión hace 10-15 solicitudes con retrasos, luego cambia IP. Esto proporciona 500-1500 solicitudes por hora sin bloqueos.
Distribución geográfica
Amazon muestra diferentes precios, surtido y condiciones de entrega según la ubicación del usuario. Para un monitoreo correcto, es necesario utilizar proxies del mismo país que el marketplace objetivo.
Correspondencia entre marketplaces y geolocalización de proxies:
- Amazon.com (EE. UU.): use proxies de EE. UU., preferiblemente de diferentes estados para variedad
- Amazon.co.uk (Reino Unido): proxies del Reino Unido
- Amazon.de (Alemania): proxies de Alemania
- Amazon.co.jp (Japón): proxies de Japón
Importante: no use proxies de otros países para hacer scraping de un marketplace específico. Por ejemplo, las solicitudes a Amazon.com desde IP de India o Rusia parecen sospechosas y a menudo obtienen captchas.
Evite reutilizar IP
Incluso si la IP no está bloqueada, no la reutilice durante 2-3 horas. Amazon recuerda el historial de actividad de cada dirección. Si la misma IP aparece cada 15 minutos durante el día, es una señal clara de automatización.
Regla de rotación: el pool mínimo para un funcionamiento estable es de 500-1000 IP únicas. Esto asegura suficiente variedad para que cada dirección se use no más de 1-2 veces al día.
Emulación de un navegador real: encabezados y huellas digitales
Incluso con proxies residenciales y una rotación adecuada, el scraper será bloqueado si no emula un navegador real. Amazon verifica decenas de parámetros de solicitudes HTTP y el entorno de JavaScript.
Encabezados HTTP correctos
Los simples clientes HTTP (requests, curl, wget) envían un conjunto mínimo de encabezados que delatan instantáneamente a un bot. Es necesario copiar los encabezados de un navegador real.
Encabezados obligatorios para Amazon:
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36 Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8 Accept-Language: en-US,en;q=0.9 Accept-Encoding: gzip, deflate, br Connection: keep-alive Upgrade-Insecure-Requests: 1 Sec-Fetch-Dest: document Sec-Fetch-Mode: navigate Sec-Fetch-Site: none Sec-Fetch-User: ?1 Cache-Control: max-age=0
Puntos críticos:
- User-Agent: use la versión actual de Chrome o Firefox (verifique cada 2-3 meses). Las versiones antiguas de los navegadores son sospechosas.
- Accept-Language: debe coincidir con la geografía del proxy (en-US para EE. UU., en-GB para Reino Unido, de-DE para Alemania)
- Encabezados Sec-Fetch-*: aparecieron en navegadores modernos, su ausencia es un signo de un cliente antiguo
- Referer: al navegar entre páginas, siempre envíe el Referer de la página anterior
Huellas digitales TLS y elusión
Amazon analiza los parámetros de la conexión TLS: versión del protocolo, conjunto de cifrado, extensiones. Las bibliotecas estándar (OpenSSL en Python requests) tienen huellas digitales diferentes a las de los navegadores.
Solución: use herramientas que emulan TLS del navegador:
- curl-impersonate: versión de curl que copia las huellas digitales TLS de Chrome y Firefox
- tls-client (Python): biblioteca con soporte para fingerprinting de navegador
- Playwright/Puppeteer: navegadores reales en modo headless — emulación perfecta, pero más lentos
JavaScript y cookies
Amazon ejecuta código JavaScript al cargar la página, que establece cookies y recopila información sobre el navegador. Sin ejecutar este código, no obtendrá datos completos y rápidamente caerá en un bloqueo.
Acciones obligatorias:
- Utilice herramientas con soporte para JavaScript: Selenium, Playwright, Puppeteer
- Guarde todas las cookies entre solicitudes dentro de una sesión
- Espere a que la página se cargue completamente (evento DOMContentLoaded) antes de extraer datos
- Imite acciones del usuario: desplazamiento, pausas aleatorias
Amazon establece cookies críticas: session-id, ubid-main, x-main. Sin ellas, obtendrá un captcha o una página vacía.
Límites de solicitudes y retrasos entre ellas
Incluso la emulación perfecta de un navegador no salvará de un baneo si se hacen demasiadas solicitudes. Amazon limita estrictamente la frecuencia de solicitudes desde una IP.
Límites documentados de Amazon
No hay datos oficiales sobre los límites, pero basándose en pruebas de la comunidad, se conocen valores aproximados:
| Tipo de usuario | Límite de solicitudes/minuto | Límite de solicitudes/hora |
|---|---|---|
| Usuario no registrado | 10-15 | 200-300 |
| Comprador registrado | 20-30 | 500-800 |
| API de Amazon (oficial) | Sin límite | Depende del plan |
Superar los límites resulta en un captcha, bloqueo temporal (1-24 horas) o baneo permanente de IP en caso de violaciones sistemáticas.
Retrasos óptimos entre solicitudes
Intervalos fijos (por ejemplo, exactamente 5 segundos) delatan a un bot. Una persona real hace pausas de diferentes longitudes: lee la descripción del producto, compara precios, se distrae.
Estrategia de retrasos recomendada:
- Retraso básico: 3-7 segundos (valor aleatorio del rango)
- Primera solicitud en la sesión: 5-10 segundos (imitando la carga de la página principal)
- Después de un error o captcha: 30-60 segundos antes de repetir
- Entre cambios de IP: 2-3 segundos para "reconectar"
Ejemplo de implementación de un retraso aleatorio: sleep(random.uniform(3, 7)) — cada pausa será única.
Distribución de carga a lo largo del tiempo
No inicie el scraping de miles de productos al mismo tiempo a las 00:00. Amazon monitorea picos de actividad. Distribuya la tarea durante varias horas o todo el día.
Ejemplo: necesita hacer scraping de 5000 productos. Divídalo en 10 paquetes de 500 productos, ejecute cada paquete con un intervalo de 1-2 horas. Esto parece una actividad orgánica de diferentes usuarios.
Herramientas listas para el scraping de Amazon
Es difícil y lleva tiempo escribir un scraper desde cero. Existen soluciones listas que ya implementan el eludir el antibot, la rotación de proxies y la emulación de navegadores.
1. Bright Data Web Scraper IDE
Herramienta en la nube con plantillas listas para Amazon. No requiere programación: configure selectores de datos a través de una interfaz visual. Proxies integrados y elusión de captchas.
Pros: funciona de inmediato, rotación automática de IP, soporte para JavaScript. Contras: caro ($500+ al mes), dependencia de un servicio externo.
2. Octoparse
Aplicación de escritorio para Windows con un constructor visual de scrapers. Hay una versión en la nube para ejecutar tareas 24/7. Soporta integración con proxies.
Configuración de proxies en Octoparse: Configuración → Configuración de Proxy → agregar lista de proxies en el formato IP:PORT:USER:PASS → habilitar rotación.
Pros: no se necesita código, interfaz conveniente, hay un plan gratuito. Contras: limitaciones en la cantidad de páginas en la versión gratuita, dificultades con captchas.
3. ScrapingBee API
Servicio API para scraping con elusión automática de protección. Envía la URL, recibe HTML. Rotación de proxies integrada y ejecución de JavaScript.
Ejemplo de uso:
curl "https://app.scrapingbee.com/api/v1/?api_key=YOUR_KEY&url=https://www.amazon.com/dp/B08N5WRWNW&render_js=true&premium_proxy=true&country_code=us"
Pros: integración sencilla, no se necesitan proxies propios. Contras: de pago (desde $49/mes), límites en la cantidad de solicitudes.
4. Playwright + proxies propios (para desarrolladores)
Si sabe programar, la mejor opción es usar Playwright (o Puppeteer) con proxies residenciales. Control total sobre el proceso y costo mínimo.
Ejemplo de configuración de proxies en Playwright (Python):
from playwright.sync_api import sync_playwright
import random
import time
proxy_list = [
{"server": "http://proxy1.example.com:8080", "username": "user", "password": "pass"},
{"server": "http://proxy2.example.com:8080", "username": "user", "password": "pass"},
]
with sync_playwright() as p:
proxy = random.choice(proxy_list)
browser = p.chromium.launch(proxy=proxy, headless=True)
context = browser.new_context(
user_agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36",
locale="en-US",
timezone_id="America/New_York"
)
page = context.new_page()
# Primera solicitud - página principal
page.goto("https://www.amazon.com")
time.sleep(random.uniform(3, 5))
# Solicitud de producto
page.goto("https://www.amazon.com/dp/B08N5WRWNW")
page.wait_for_load_state("networkidle")
# Extracción de datos
title = page.locator("#productTitle").inner_text()
price = page.locator(".a-price-whole").first.inner_text()
print(f"Título: {title}, Precio: ${price}")
browser.close()
Pros: control total, más barato que los servicios en la nube, escalable. Contras: requiere habilidades de programación, debe manejar captchas por su cuenta.
Recomendaciones para elegir una herramienta
| Su situación | Herramienta recomendada |
|---|---|
| No sé programar, necesito 100-500 productos al día | Octoparse + proxies residenciales |
| Necesito probar una idea rápidamente, tengo presupuesto | ScrapingBee API |
| Sé programar, necesito miles de productos | Playwright/Puppeteer + proxies residenciales |
| Gran presupuesto, necesito máxima fiabilidad | Bright Data Web Scraper |
Qué hacer en caso de bloqueo: diagnóstico y soluciones
Incluso al seguir todas las reglas, a veces ocurren bloqueos. Es importante entender la causa y corregir el problema rápidamente.
Tipos de bloqueos y sus señales
1. CAPTCHA (código de estado 503 o redirección a /errors/validateCaptcha):
- Causa: actividad sospechosa desde la IP, pero no un bloqueo completo
- Solución: cambiar IP, aumentar los retrasos entre solicitudes, agregar imitación de acciones del usuario
- Automatización: usar servicios de resolución de captcha (2Captcha, Anti-Captcha) — pero esto ralentiza el scraping
2. Bloqueo de IP (código 403 o página vacía):
- Causa: la IP ha sido incluida en la lista negra debido a superar los límites o usar centros de datos
- Solución: cambiar IP de inmediato, verificar el tipo de proxy (posiblemente se están usando centros de datos en lugar de residenciales)
- Duración: generalmente 24-48 horas, a veces para siempre
3. "Para discutir el acceso automatizado a los datos de Amazon, comuníquese con api-services-support@amazon.com":
- Causa: Amazon ha identificado claramente la automatización y sugiere usar la API oficial
- Solución: mejorar la emulación del navegador, verificar la huella digital TLS, reducir la frecuencia de solicitudes a la mitad
Lista de verificación para el diagnóstico de problemas
Si recibe bloqueos, verifique en orden:
- Tipo de proxy: asegúrese de que está utilizando residenciales, no centros de datos. Puede verificarlo en whoer.net
- Geografía: la IP debe ser del mismo país que el marketplace (EE. UU. para .com, Reino Unido para .co.uk)
- User-Agent: versión actual de Chrome/Firefox (no más de 3-4 meses)
- Cookies: se guardan entre solicitudes dentro de la sesión
- JavaScript: se ejecuta (si usa Playwright/Puppeteer — debe ejecutarse)
- Frecuencia de solicitudes: no más de 10-15 por minuto desde una IP
- Retrasos: aleatorios, no fijos
- Rotación de IP: cada dirección se utiliza no más de 1 vez cada 2-3 horas
Medidas de emergencia ante bloqueos masivos
Si la mayoría de las solicitudes están siendo bloqueadas (más del 30%):
- Detenga el scraping durante 2-3 horas — dé a Amazon tiempo para "olvidar" su actividad
- Cambie el proveedor de proxies — es posible que el pool de IP ya esté comprometido
- Reduzca la carga en 3-5 veces — en lugar de 100 solicitudes por hora, haga 20-30
- Cambie a proxies móviles — prácticamente no son bloqueados, aunque son más caros
- Aumente la imitación de un humano: transiciones aleatorias entre categorías, búsqueda de productos a través de la barra de búsqueda, no URLs directas
Atención: Si su IP está baneada permanentemente (bloqueo que dura más de 72 horas), no intente usarla nuevamente. Amazon rara vez levanta baneos permanentes. Cambie a un nuevo pool de proxies.
Conclusión
Eludir el antibot de Amazon es una tarea compleja que requiere una combinación de proxies adecuados, emulación precisa de navegador y límites de solicitudes razonables. Los puntos clave para un scraping exitoso son: usar proxies residenciales del mismo país que el marketplace; rotación de IP cada 10-15 minutos con un límite de 15-20 solicitudes por sesión; emulación completa de un navegador moderno con encabezados correctos y ejecución de JavaScript; retrasos aleatorios de 3-7 segundos entre solicitudes.
Al seguir estas reglas, el porcentaje de solicitudes exitosas alcanza el 95-98%, y los bloqueos se convierten en una rareza. Lo principal es no apresurarse y simular el comportamiento de un usuario real, en lugar de intentar hacer scraping de miles de productos en minutos.
Para un funcionamiento estable con Amazon, recomendamos usar proxies residenciales que aseguren la continuidad y efectividad del scraping.