Proxies para scraping da Amazon: preços, Buy Box e Robot Check (2026)

Publicado em 12 de junho de 2026 · ≈8 min de leitura

A Amazon é uma mina de ouro para monitoramento de preços e pesquisa de produtos, além de ser um dos sites mais agressivamente defendidos da web. Faça scraping a partir de um IP de datacenter e você verá CAPTCHAs, o muro "Robot Check", preços rotativos ou um 503 em poucas requisições. Este guia cobre o que a Amazon verifica, a estratégia de proxy que sobrevive a isso e a disciplina de sessão que mantém os preços e os dados do Buy Box precisos.

O que a Amazon detecta

Residencial, com geo igualada ao marketplace

Proxies de datacenter são um beco sem saída na Amazon em qualquer volume real — exits residenciais com ASNs limpos são o que sustenta a operação. Igualmente importante: iguale o país de saída ao marketplace que você está raspando. Puxar preços de amazon.de através de um exit dos EUA lhe dá preços, moeda e Buy Box dos EUA, o que silenciosamente corrompe seu conjunto de dados. Uma geografia de saída por marketplace.

Sessões sticky para preços precisos

A Amazon personaliza por sessão — adicionar ao carrinho, local de entrega e testes de preço vivem todos em cookies. Se você rotaciona o IP a cada requisição, você reseta esse contexto constantemente e obtém preços e vencedores do Buy Box inconsistentes. Mantenha uma sessão sticky para o scraping completo de um produto e, em seguida, rotacione no limite do produto ou da tarefa:

import itertools, time, random
from curl_cffi import requests

PROXIES = ["socks5h://USERNAME:PASSWORD@us.jibaoproxy.com:913", "..."]
pool = itertools.cycle(PROXIES)

def scrape_product(asin, proxy):
    # Same sticky exit for every page of this product
    s = requests.Session(impersonate="chrome",
                         proxies={"http": proxy, "https": proxy})
    detail = s.get(f"https://www.amazon.com/dp/{asin}")
    offers = s.get(f"https://www.amazon.com/gp/offer-listing/{asin}")
    return detail.text, offers.text

for asin in asins:
    proxy = next(pool)                 # new sticky exit per product
    if "Robot Check" in scrape_product(asin, proxy)[0]:
        # flagged - back off, rotate, retry on a fresh exit
        ...
    time.sleep(random.uniform(2.0, 5.0))

Limite a taxa por exit e recue

Como no scraping de SERP do Google, a disciplina que o mantém vivo é a taxa por exit, não o tamanho do pool. Randomize os intervalos, limite a concorrência por IP e, quando você vir "Robot Check" ou um 503, pare de acessar esse exit e recue — tentar novamente em um IP sinalizado só prolonga o bloqueio.

Não empilhe uma fingerprint do Python

Uma chamada simples de requests envia um JA3 que o marca como automação antes mesmo de a pontuação do IP entrar em jogo. Envie uma fingerprint de navegador com curl_cffi (acima) ou um navegador real — veja Como Burlar o TLS Fingerprinting com curl_cffi. Se a Amazon lançar um muro de CAPTCHA em JS, escale para um mecanismo de navegador real.

Checklist

Para todos os produtos de IP · um enorme pool de nós disponíveis a qualquer momento

Cadastre-se agora e ganhe até 100% de reembolso na sua recarga

Novos usuários recebem 500MB ao se cadastrar, mais um bônus na primeira recarga. Oferta por tempo limitado.