Proxies pour le scraping d'Amazon : prix, Buy Box et Robot Check (2026)

Publié le 12 juin 2026 · ≈8 min de lecture

Amazon est une mine d'or pour la surveillance des prix et la recherche de produits, et l'un des sites les plus agressivement défendus du web. Faites-en le scraping depuis une IP de centre de données et vous verrez des CAPTCHA, le mur « Robot Check », des prix changeants ou un 503 en seulement une poignée de requêtes. Ce guide couvre ce qu'Amazon vérifie, la stratégie de proxy qui y survit et la discipline de session qui maintient l'exactitude des prix et des données de la Buy Box.

Ce qu'Amazon détecte

Résidentiel, avec géo alignée sur le marketplace

Les proxies de centre de données sont une impasse sur Amazon à tout volume réel : les exits résidentiels avec des ASN propres sont ce qui le soutient. Tout aussi important : faites correspondre le pays de l'exit au marketplace que vous scrapez. Récupérer les prix d'amazon.de via un exit américain vous donne les prix, la devise et la Buy Box des États-Unis, ce qui corrompt silencieusement votre jeu de données. Une géographie d'exit par marketplace.

Sessions sticky pour des prix exacts

Amazon personnalise par session : l'ajout au panier, le lieu de livraison et les tests de prix vivent tous dans des cookies. Si vous faites tourner l'IP à chaque requête, vous réinitialisez constamment ce contexte et obtenez des prix et des gagnants de la Buy Box incohérents. Maintenez une session sticky pendant tout le scrape d'un produit, puis faites tourner à la limite du produit ou de la tâche :

import itertools, time, random
from curl_cffi import requests

PROXIES = ["socks5h://USERNAME:[email protected]: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))

Limitez le débit par exit et faites du backoff

Comme avec le scraping des SERP de Google, la discipline qui vous garde en vie est le débit par exit, pas la taille du pool. Randomisez les intervalles, plafonnez la concurrence par IP, et quand vous voyez « Robot Check » ou un 503, arrêtez de solliciter cet exit et faites du backoff — réessayer sur une IP marquée ne fait qu'allonger le blocage.

N'empilez pas une empreinte Python

Un simple appel requests envoie un JA3 qui vous marque comme automatisation avant même que le score de l'IP ne s'applique. Envoyez une empreinte de navigateur avec curl_cffi (ci-dessus) ou un vrai navigateur — voir Contourner le fingerprinting TLS avec curl_cffi. Si Amazon vous oppose un mur de CAPTCHA basé sur JS, passez à un véritable moteur de navigateur.

Liste de contrôle

Pour tous les produits IP · un immense pool de nœuds disponibles à tout moment

Inscrivez-vous maintenant et obtenez jusqu'à 100 % de remboursement sur votre recharge

Les nouveaux utilisateurs reçoivent 500 Mo à l'inscription, plus un bonus sur la première recharge. Offre à durée limitée.