A Amazon é um dos marketplaces mais protegidos do mundo. Seu sistema anti-bot bloqueia 90% das tentativas de coleta automática de dados sobre preços, estoques e posições de produtos. Para vendedores e profissionais de marketing, isso é um problema crítico: sem dados atualizados da concorrência, é impossível ajustar a estratégia de precificação e continuar lucrativo.
Neste guia, vamos analisar os mecanismos técnicos de proteção da Amazon, mostrar métodos comprovados para contornar o anti-bot e configurar um sistema de monitoramento de preços que funcione de forma estável por meses sem bloqueios.
Por que a Amazon bloqueia o scraping: mecanismos de proteção
A Amazon perde milhões de dólares devido ao scraping: concorrentes copiam dados sobre produtos, preços, avaliações, e vendedores desonestos usam automação para manipular posições. Por isso, a empresa investe enormes quantias em sistemas anti-bot que operam em vários níveis simultaneamente.
Principais componentes da proteção da Amazon:
- AWS WAF (Web Application Firewall) — analisa o tráfego de entrada e bloqueia endereços IP suspeitos no nível da rede. Monitora a frequência de solicitações, geografia, reputação do IP.
- Cloudfront CDN — rede de entrega de conteúdo distribuída com seus próprios algoritmos de filtragem de bots. Verifica cabeçalhos de solicitações, cookies, impressões digitais TLS do navegador.
- Sistema de Gerenciamento de Bots — utiliza aprendizado de máquina para analisar o comportamento dos usuários. Monitora movimentos do mouse, velocidade de rolagem, padrões de cliques.
- CAPTCHA e páginas de desafio — exibidas em caso de atividade suspeita. Exigem a resolução de um quebra-cabeça ou a entrada de um CAPTCHA para continuar.
- Rate limiting — restrições rigorosas no número de solicitações de um único IP: geralmente 10-20 solicitações por minuto para usuários não autenticados.
Todos esses sistemas trabalham em conjunto e trocam dados. Se pelo menos um deles suspeitar de um bot — o IP é colocado na lista negra por 24-48 horas, e às vezes até para sempre.
Importante: A Amazon mostra preços diferentes para diferentes regiões e tipos de usuários. O bloqueio não é apenas a falta de acesso, mas também a obtenção de dados desatualizados, o que é crítico para o monitoramento da concorrência.
Como a Amazon identifica bots: 7 sinais principais
O sistema anti-bot da Amazon analisa dezenas de parâmetros de cada solicitação. Aqui estão os sinais-chave pelos quais ele reconhece a automação:
1. Reputação do endereço IP
A Amazon mantém um banco de dados de endereços IP de data centers, serviços de VPN, proxies públicos. Solicitações de tais endereços recebem atenção aumentada ou são bloqueadas imediatamente. O sistema também monitora o histórico de atividade: se um IP faz muitas solicitações para páginas de produtos — isso é suspeito.
O que é verificado: pertencimento a data centers conhecidos (AWS, Google Cloud, DigitalOcean), presença em bancos de dados de proxies públicos, número de solicitações na última hora, geografia (solicitações de países inesperados).
2. User-Agent e cabeçalhos HTTP
Muitos scrapers usam User-Agent padrão de bibliotecas: python-requests/2.28.0 ou não enviam esse cabeçalho. A Amazon reconhece imediatamente tais solicitações.
Sinais suspeitos: ausência de cabeçalhos Accept-Language, Accept-Encoding; discrepância entre User-Agent e outros cabeçalhos (por exemplo, User-Agent do Chrome, mas cabeçalhos como os do Firefox); ausência de Referer ao navegar entre páginas; versões antigas de navegadores.
3. Impressões digitais TLS/SSL (fingerprinting)
Ao estabelecer uma conexão HTTPS, o navegador envia um conjunto de parâmetros de criptografia (cipher suites, extensions, versão TLS). Esse conjunto é único para cada navegador. Bibliotecas como requests ou curl têm impressões digitais diferentes das de navegadores reais — a Amazon percebe isso.
4. JavaScript e Canvas fingerprinting
A Amazon carrega código JavaScript que coleta informações sobre o navegador: resolução da tela, fontes instaladas, funções WebGL suportadas, parâmetros Canvas. Clientes HTTP simples não executam JavaScript e se revelam imediatamente.
5. Cookies e sessões
A Amazon estabelece muitos cookies na primeira visita: session-id, ubid-main, x-main e outros. A ausência desses cookies ou seus valores incorretos são sinais de um bot. O sistema também monitora o tempo de vida da sessão: um usuário real não faz 100 solicitações em 30 segundos.
6. Padrões de comportamento
Uma pessoa real abre a página inicial, procura um produto, navega por categorias, lê descrições, volta para trás. Um bot solicita imediatamente URLs específicos de produtos em uma sequência perfeita sem atrasos.
Padrões suspeitos: solicitações apenas para páginas de produtos sem visitar a página inicial; sequência perfeita de URLs (product1, product2, product3...); ausência de solicitações para estáticos (imagens, CSS, JS); intervalos iguais entre solicitações.
7. Frequência de solicitações
Mesmo com uma emulação perfeita do navegador, uma frequência de solicitações muito alta revelará um bot. A Amazon monitora o número de solicitações de um IP por minuto, hora, dia. Exceder os limites (geralmente 10-20 solicitações/minuto para visitantes) resulta em bloqueio.
Escolha de proxies para contornar o anti-bot: residenciais vs data centers
A escolha correta do tipo de proxy é 70% do sucesso em contornar a proteção da Amazon. Vamos analisar três tipos principais e sua aplicabilidade para scraping do marketplace.
| Tipo de proxy | Nível de confiança da Amazon | Velocidade | Aplicação |
|---|---|---|---|
| Residenciais | Muito alto (IPs reais de usuários domésticos) | Média (50-150 ms) | Scraping principal, altos volumes |
| Móveis | Máximo (IPs de operadoras móveis) | Baixa (200-500 ms) | Contornar bloqueios rigorosos, contas |
| Data centers | Baixo (a Amazon conhece esses IPs) | Muito alta (10-30 ms) | Testes, tarefas pontuais |
Proxies residenciais — a escolha ideal
Para scraping estável da Amazon, recomenda-se proxies residenciais — eles usam endereços IP de usuários domésticos reais, que a Amazon não pode bloquear em massa sem correr o risco de bloquear compradores reais.
Vantagens dos proxies residenciais para a Amazon:
- IPs pertencem a provedores de internet (Comcast, AT&T, Verizon nos EUA), e não a data centers
- Baixa porcentagem de bloqueios: menos de 2% com a configuração correta de rotação
- Possibilidade de escolha de geografia: EUA, Reino Unido, Alemanha e outros países para obter preços locais
- Suporte a sessões sticky: um IP pode ser usado por 10-30 minutos para simular um usuário real
Parâmetros importantes ao escolher proxies residenciais:
- Tamanho do pool de IP: mínimo de 1 milhão de endereços para rotação eficaz
- Geografia: escolha o país onde a Amazon opera (EUA, Reino Unido, Alemanha, Japão, etc.)
- Tipo de rotação: suporte a sessões sticky com tempo de vida de 10-30 minutos
- Protocolo: HTTP/HTTPS e SOCKS5 para compatibilidade com diferentes ferramentas
Quando usar proxies móveis
Proxies móveis usam IPs de operadoras móveis (4G/5G). A Amazon quase nunca bloqueia tais endereços, pois por trás de um IP podem estar milhares de usuários reais devido à tecnologia CGNAT.
Quando optar por proxies móveis:
- Trabalho com contas de vendedores da Amazon (Seller Central) — para eles a estabilidade do IP é crítica
- Contornar bloqueios rigorosos após o banimento de IPs residenciais
- Scraping com autenticação (por exemplo, preços para assinantes Prime)
- Pequenos volumes de dados (até 1000 produtos por dia) — proxies móveis são mais caros
A desvantagem dos proxies móveis é o alto custo e a menor velocidade devido às características das redes móveis. Para scraping em massa de milhares de produtos, eles não são eficazes.
Por que data centers não são adequados
Proxies de data centers usam IPs de servidores AWS, Google Cloud, DigitalOcean. A Amazon reconhece tais endereços instantaneamente — eles estão em bancos de dados ASN (sistemas autônomos) de data centers.
Problemas ao usar data centers: bloqueio após 5-10 solicitações; CAPTCHAs constantes; exibição de preços desatualizados ou páginas vazias; banimento de IP para sempre após várias tentativas.
A única situação em que se pode usar data centers é para testar o scraper em um pequeno número de produtos (10-20) antes de iniciar com proxies residenciais.
Estratégia de rotação de endereços IP: frequência e geografia
Mesmo com proxies residenciais, uma rotação de IP incorreta levará a bloqueios. A Amazon monitora o comportamento de cada endereço e bane aqueles que fazem muitas solicitações ou se comportam de forma suspeita.
Frequência ideal de rotação
Existem duas abordagens para rotação: após cada solicitação (rotating proxies) e com tempo de vida fixo (sticky sessions). Para a Amazon, a segunda opção é mais eficaz.
Estratégia recomendada de sticky sessions:
- Tempo de vida do IP: 10-15 minutos — equilíbrio ideal entre simulação de um usuário real e risco de bloqueio
- Número de solicitações por IP: não mais que 15-20 solicitações durante a vida útil da sessão
- Atraso entre solicitações: 3-7 segundos (aleatório, não fixo!)
- Imitação de comportamento: primeira solicitação — página inicial ou categoria, em seguida — páginas de produtos
Exemplo de cenário para um IP: abrir a página inicial da Amazon.com → esperar 5 seg → abrir a categoria Eletrônicos → esperar 4 seg → abrir produto 1 → esperar 6 seg → abrir produto 2 → ... → após 15 solicitações, mudar o IP.
Dica para altas cargas:
Se precisar fazer scraping de milhares de produtos por hora, use um pool de 50-100 sessões simultâneas com diferentes IPs. Cada sessão faz 10-15 solicitações com atrasos, depois muda o IP. Isso resulta em 500-1500 solicitações por hora sem bloqueios.
Distribuição geográfica
A Amazon mostra preços, sortimentos e condições de entrega diferentes dependendo da localização do usuário. Para um monitoramento correto, é necessário usar proxies do mesmo país que o marketplace alvo.
Correspondência entre marketplaces e geolocalização de proxies:
- Amazon.com (EUA): use proxies dos EUA, preferencialmente de diferentes estados para diversidade
- Amazon.co.uk (Reino Unido): proxies do Reino Unido
- Amazon.de (Alemanha): proxies da Alemanha
- Amazon.co.jp (Japão): proxies do Japão
Importante: não use proxies de outros países para scraping de um marketplace específico. Por exemplo, solicitações à Amazon.com com IPs da Índia ou Rússia parecem suspeitas e frequentemente recebem CAPTCHAs.
Evite reutilizar IPs
Mesmo que o IP não esteja bloqueado, não o reutilize dentro de 2-3 horas. A Amazon memoriza o histórico de atividade de cada endereço. Se o mesmo IP aparecer a cada 15 minutos durante o dia — isso é um sinal claro de automação.
Regra de rotação: o pool mínimo para operação estável é de 500-1000 IPs únicos. Isso garante diversidade suficiente para que cada endereço seja usado não mais que 1-2 vezes por dia.
Emulação de navegador real: cabeçalhos e impressões digitais
Mesmo com proxies residenciais e rotação correta, o scraper será bloqueado se não emular um navegador real. A Amazon verifica dezenas de parâmetros de solicitações HTTP e do ambiente JavaScript.
Cabeçalhos HTTP corretos
Clientes HTTP simples (requests, curl, wget) enviam um conjunto mínimo de cabeçalhos, que revela imediatamente um bot. É necessário copiar os cabeçalhos de um navegador real.
Cabeçalhos obrigatórios para a 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
Pontos críticos:
- User-Agent: use a versão atual do Chrome ou Firefox (verifique a cada 2-3 meses). Versões antigas de navegadores são suspeitas.
- Accept-Language: deve corresponder à geografia do proxy (en-US para os EUA, en-GB para o Reino Unido, de-DE para a Alemanha)
- Cabeçalhos Sec-Fetch-*: apareceram em navegadores modernos, sua ausência é um sinal de cliente antigo
- Referer: ao navegar entre páginas, sempre envie o Referer da página anterior
Impressão digital TLS e contorno
A Amazon analisa os parâmetros da conexão TLS: versão do protocolo, conjunto de cifras, extensões. Bibliotecas padrão (OpenSSL em Python requests) têm impressões digitais diferentes das de navegadores.
Solução: use ferramentas que emulem o TLS do navegador:
- curl-impersonate: versão do curl que copia as impressões digitais TLS do Chrome e Firefox
- tls-client (Python): biblioteca com suporte a fingerprinting de navegador
- Playwright/Puppeteer: navegadores reais em modo headless — emulação ideal, mas mais lenta
JavaScript e cookies
A Amazon executa código JavaScript ao carregar a página, que estabelece cookies e coleta informações sobre o navegador. Sem a execução desse código, você não obterá dados completos e rapidamente será bloqueado.
Ações obrigatórias:
- Use ferramentas com suporte a JavaScript: Selenium, Playwright, Puppeteer
- Salve todos os cookies entre solicitações dentro de uma sessão
- Aguarde o carregamento completo da página (evento DOMContentLoaded) antes de extrair dados
- Imite ações do usuário: rolagem, pausas aleatórias
A Amazon estabelece cookies críticos: session-id, ubid-main, x-main. Sem eles, você receberá um CAPTCHA ou uma página vazia.
Limites de solicitações e atrasos entre elas
Mesmo uma emulação perfeita do navegador não salvará você do banimento se fizer muitas solicitações. A Amazon limita rigorosamente a frequência de acessos de um único IP.
Limites documentados da Amazon
Não há dados oficiais sobre limites, mas com base em testes da comunidade, os valores aproximados são conhecidos:
| Tipo de usuário | Limite de solicitações/minuto | Limite de solicitações/hora |
|---|---|---|
| Usuário não autenticado | 10-15 | 200-300 |
| Comprador autenticado | 20-30 | 500-800 |
| API da Amazon (oficial) | Sem limite | Depende do plano |
Exceder os limites resulta em CAPTCHA, bloqueio temporário (1-24 horas) ou banimento permanente do IP em caso de violações sistemáticas.
Atrasos ideais entre solicitações
Intervalos fixos (por exemplo, exatamente 5 segundos) revelam um bot. Uma pessoa real faz pausas de diferentes durações: lê a descrição do produto, compara preços, se distrai.
Estratégia recomendada de atrasos:
- Atraso básico: 3-7 segundos (valor aleatório do intervalo)
- Primeira solicitação na sessão: 5-10 segundos (simulação de carregamento da página inicial)
- Após erro ou CAPTCHA: 30-60 segundos antes de repetir
- Entre troca de IP: 2-3 segundos para "reconexão"
Exemplo de implementação de atraso aleatório: sleep(random.uniform(3, 7)) — cada pausa será única.
Distribuição de carga ao longo do tempo
Não inicie o scraping de milhares de produtos ao mesmo tempo à meia-noite. A Amazon monitora picos de atividade. Distribua a tarefa ao longo de várias horas ou durante todo o dia.
Exemplo: é necessário fazer scraping de 5000 produtos. Divida em 10 pacotes de 500 produtos, inicie cada pacote com um intervalo de 1-2 horas. Isso se parece com a atividade orgânica de diferentes usuários.
Ferramentas prontas para scraping da Amazon
Escrever um scraper do zero é difícil e demorado. Existem soluções prontas que já implementam o contorno do anti-bot, rotação de proxies e emulação de navegador.
1. Bright Data Web Scraper IDE
Ferramenta em nuvem com modelos prontos para a Amazon. Não requer programação — você configura seletores de dados através de uma interface visual. Proxies embutidos e contorno de CAPTCHA.
Pontos positivos: funciona imediatamente, rotação automática de IP, suporte a JavaScript. Pontos negativos: caro ($500+ por mês), dependência de serviço externo.
2. Octoparse
Aplicativo desktop para Windows com construtor visual de scrapers. Há uma versão em nuvem para executar tarefas 24/7. Suporta integração com proxies.
Configuração de proxies no Octoparse: Configurações → Configurações de Proxy → adicione uma lista de proxies no formato IP:PORT:USER:PASS → ative a rotação.
Pontos positivos: não precisa de código, interface amigável, há um plano gratuito. Pontos negativos: limitações na quantidade de páginas na versão gratuita, dificuldades com CAPTCHAs.
3. ScrapingBee API
Serviço API para scraping com contorno automático de proteção. Você envia a URL e recebe o HTML. Rotação de proxies embutida e execução de JavaScript.
Exemplo 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"
Pontos positivos: integração simples, não precisa de seus próprios proxies. Pontos negativos: pago (a partir de $49/mês), limites na quantidade de solicitações.
4. Playwright + proxies próprios (para desenvolvedores)
Se você sabe programar, a melhor opção é usar Playwright (ou Puppeteer) com proxies residenciais. Controle total sobre o processo e custo mínimo.
Exemplo de configuração de proxies no 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()
# Primeira solicitação - página inicial
page.goto("https://www.amazon.com")
time.sleep(random.uniform(3, 5))
# Solicitação de produto
page.goto("https://www.amazon.com/dp/B08N5WRWNW")
page.wait_for_load_state("networkidle")
# Extração de dados
title = page.locator("#productTitle").inner_text()
price = page.locator(".a-price-whole").first.inner_text()
print(f"Título: {title}, Preço: ${price}")
browser.close()
Pontos positivos: controle total, mais barato que serviços em nuvem, escalabilidade. Pontos negativos: requer habilidades de programação, necessidade de lidar com CAPTCHAs por conta própria.
Recomendações para escolha de ferramenta
| Sua situação | Ferramenta recomendada |
|---|---|
| Não sei programar, preciso de 100-500 produtos por dia | Octoparse + proxies residenciais |
| Preciso testar uma ideia rapidamente, tenho orçamento | ScrapingBee API |
| Sei programar, preciso de milhares de produtos | Playwright/Puppeteer + proxies residenciais |
| Grande orçamento, preciso de máxima confiabilidade | Bright Data Web Scraper |
O que fazer em caso de bloqueio: diagnóstico e soluções
Mesmo seguindo todas as regras, bloqueios podem ocorrer. É importante entender a causa e corrigir o problema rapidamente.
Tipos de bloqueios e seus sinais
1. CAPTCHA (código de estado 503 ou redirecionamento para /errors/validateCaptcha):
- Causa: atividade suspeita com o IP, mas não bloqueio total
- Solução: mudar o IP, aumentar os atrasos entre solicitações, adicionar simulação de ações do usuário
- Automação: usar serviços de resolução de CAPTCHA (2Captcha, Anti-Captcha) — mas isso desacelera o scraping
2. Bloqueio de IP (código 403 ou página vazia):
- Causa: IP entrou na lista negra devido ao excesso de limites ou uso de data centers
- Solução: mudar o IP imediatamente, verificar o tipo de proxy (talvez estejam sendo usados data centers em vez de residenciais)
- Duração: geralmente 24-48 horas, às vezes para sempre
3. "Para discutir o acesso automatizado aos dados da Amazon, entre em contato com api-services-support@amazon.com":
- Causa: A Amazon identificou claramente a automação e sugere usar a API oficial
- Solução: melhorar a emulação do navegador, verificar a impressão digital TLS, reduzir a frequência de solicitações pela metade
Checklist de diagnóstico de problemas
Se você está recebendo bloqueios, verifique na seguinte ordem:
- Tipo de proxy: certifique-se de que está usando proxies residenciais e não de data centers. Você pode verificar em whoer.net
- Geografia: o IP deve ser do mesmo país que o marketplace (EUA para .com, Reino Unido para .co.uk)
- User-Agent: versão atual do Chrome/Firefox (não mais velha que 3-4 meses)
- Cookies: estão sendo salvos entre solicitações dentro da sessão?
- JavaScript: está sendo executado (se você estiver usando Playwright/Puppeteer — deve ser executado)
- Frequência de solicitações: não mais que 10-15 por minuto de um único IP
- Atrasos: aleatórios, não fixos
- Rotação de IP: cada endereço é usado não mais que 1 vez a cada 2-3 horas
Medidas de emergência em caso de bloqueios em massa
Se a maioria das solicitações estiver bloqueada (mais de 30%):
- Pare o scraping por 2-3 horas — deixe a Amazon "esquecer" sua atividade
- Mude o provedor de proxies — talvez o pool de IP já esteja comprometido
- Reduza a carga em 3-5 vezes — em vez de 100 solicitações por hora, faça 20-30
- Troque para proxies móveis — eles praticamente não são bloqueados, embora sejam mais caros
- Adicione mais simulação de humano: transições aleatórias entre categorias, busca de produtos através da barra de pesquisa, e não URLs diretas
Atenção: Se seu IP for banido permanentemente (bloqueio dura mais de 72 horas), não tente usá-lo novamente. A Amazon raramente remove bans permanentes. Mude para um novo pool de proxies.
Conclusão
Contornar o anti-bot da Amazon é uma tarefa complexa que requer a combinação de proxies corretos, emulação precisa do navegador e limites razoáveis de solicitações. Os pontos-chave para um scraping bem-sucedido são: uso de proxies residenciais do mesmo país que o marketplace; rotação de IP a cada 10-15 minutos com limite de 15-20 solicitações por sessão; emulação completa de um navegador moderno com cabeçalhos corretos e execução de JavaScript; atrasos aleatórios de 3-7 segundos entre solicitações.
Ao seguir essas regras, a porcentagem de solicitações bem-sucedidas atinge 95-98%, e bloqueios se tornam raridade. O mais importante é não ter pressa e imitar o comportamento de um usuário real, e não tentar fazer scraping de milhares de produtos em minutos.
Para um funcionamento estável com a Amazon, recomendamos usar proxies residenciais que garantam uma coleta de dados eficaz e segura.