Amazon scraping — full guide + top-5 proxies
Amazon has one of the strictest rate-limit and bot-detection setups in e-commerce. Here's how to pick a proxy stack for the typical scenarios: price monitoring, dropshipping research, ASIN tracking.
Top-5 providers for this task
PROXYDECK editorial estimate based on tests over the past 6 months. We weighed success rate on this exact target, price, use-case tolerance, and compliance.
ⓘ Connect buttons may be affiliate links: your price does not change, and commission does not affect our scores. How we earn
How to set up — step by step
1. Set up rotation per request
Amazon rate-limits aggressively per IP — 50–100 requests / hour is the typical ceiling from a single address. Rotate every request:
import requests, random
PROXIES = [...] # your residential pool
def fetch_amazon(asin):
proxy = random.choice(PROXIES)
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64)',
'Accept-Language': 'en-US,en;q=0.9'
}
return requests.get(
f'https://amazon.com/dp/{asin}',
proxies={'http': proxy, 'https': proxy},
headers=headers,
timeout=15
)
2. Block images / CSS — saves 70–80% bandwidth
An Amazon product page weighs ~300–500 KB. Without images and CSS — 50–80 KB. A 4–6× bandwidth saving is the difference between $200/mo and $50/mo on residential.
3. Add retry logic for 503 / 429
Take a fresh IP on retry. Five consecutive 503s from different IPs means your fingerprint is detected — widen the User-Agent rotation pool.
4. Respect robots.txt and the ToS
Amazon's ToS forbids scraping, but it's a contractual breach, not a crime (see hiQ vs LinkedIn). Don't scrape authenticated pages and don't resell raw data directly.