Amazon
Marketplacesamazon.com · amazon.co.uk · amazon.de · +18 more

Amazon proxies for production scraping.

Residential US/EU IPs that don't get challenge-paged. Sticky 30-min sessions for paginated listings, city targeting for accurate local pricing, <1s response on amazon.com. 98.2% success across product, search, and review endpoints.

98.2% success on amazon.com<1s median response21 country marketplaces
4.6 / 5
on Trustpilot · 12 reviews
Used by Amazon price-tracking and SP-API alternative teams
CardsPayPalApple PayCryptoBank
Why Amazon is hard

Amazon's anti-bot stack is one of the most aggressive in e-commerce.

If you've scraped Amazon, you've seen the "Sorry, we just need to make sure you're not a robot" page. Here's what's actually happening - and why residential IPs sidestep most of it.

Captcha challenges

"Are you a robot?" pages triggered on suspicious IPs. Cloudflare-style fingerprinting on the network layer.

Geo-priced content

Same product, different prices per market. amazon.com from a German IP returns translated EU pricing, not US. Country targeting matters.

Aggressive rate limits

Same IP making 10+ req/min on the same ASIN triggers ban-bait. Even residential IPs need rotation/cooldown for scaled scraping.

Session-required pages

Cart, address-checkout, and some review pages require session continuity. Rotating IPs break the flow - sticky sessions fix it.

Amazon-tuned Python script.

Production-ready pattern for ASIN price tracking: rotating residential, US country target, sticky session reserved for reviews. Headers and retry logic tuned to Amazon's quirks.

  • Country: US, switch to -country-de for amazon.de
  • Sessions: rotating for product pages, sticky 30-min for reviews
  • Headers: a real browser User-Agent - Amazon checks it
  • Retries: backoff on 503 / 429 (captcha / rate-limit)
python · Amazon ASIN tracker
import requests, time, random

PROXY = "http://login:country-us@ip.simplynode.io:9003"
PROXIES = {"http": PROXY, "https": PROXY}

HEADERS = {
    "User-Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 14_2) "
                  "AppleWebKit/605.1.15 (KHTML, like Gecko) "
                  "Version/17.2 Safari/605.1.15",
    "Accept-Language": "en-US,en;q=0.9",
}

def fetch_asin(asin, retries=3):
    url = f"https://www.amazon.com/dp/{asin}"
    for attempt in range(retries):
        r = requests.get(url, proxies=PROXIES, headers=HEADERS, timeout=10)
        # 503 = captcha challenge, 429 = rate limit - back off & retry on a new IP
        if r.status_code in (503, 429):
            time.sleep((2 ** attempt) + random.random())
            continue
        if r.status_code == 200:
            return r.text
    return None

# Sticky for paginated reviews - same IP across the entire review walk
def fetch_reviews(asin, pages=10):
    sticky = f"http://login:country-us-session-{asin}-ttl-1800@ip.simplynode.io:9003"
    p = {"http": sticky, "https": sticky}
    for page in range(1, pages + 1):
        url = f"https://www.amazon.com/product-reviews/{asin}?pageNumber={page}"
        yield requests.get(url, proxies=p, headers=HEADERS, timeout=10).text
What to avoid

Four mistakes that get you banned on Amazon.

We see these constantly in customer pipelines. Each fix is a one-line change.

Pitfall 01

Using datacenter proxies on amazon.com

Amazon flags AWS, Hetzner, and DigitalOcean ASNs on sight. You'll hit the captcha page within 5 requests. Doesn't matter how many IPs you rotate.

Residential only. We don't sell datacenter for this reason.

Pitfall 02

Wrong country = wrong prices

Hitting amazon.com from a European IP returns the EU version (often redirected, prices in €). Your scraper records junk data and doesn't know it.

Always pin country: -country-us for amazon.com, -country-de for amazon.de.

Pitfall 03

Rotating mid-review-pagination

Pages 1-10 of reviews share session state. IP switch mid-walk and Amazon returns blank pages with no error code. Looks like the data dried up.

Sticky session per ASIN review walk. Different ASINs = different sessions, fine.

Pitfall 04

No User-Agent or wrong UA string

Default Python requests UA (python-requests/2.31) gets blocked instantly. So does curl/8.0. Amazon parses UA and rejects obvious bots.

Use a real browser UA (Chrome, Safari, Firefox). Rotate UA across rotating IPs.

Pricing

Same residential pricing - no Amazon surcharge.

Some providers charge extra for "premium" targets. We don't. Same $/GB whether you're hitting Amazon or a static blog.

From $4/GB starter to $2.25/GB at scale.

An ASIN page is ~150 KB. 1 GB = ~6,700 product pages at the starter tier. At 100 GB/month (typical price-tracking volume), effective rate drops to $3/GB - ~330K product page loads per month.

See full pricing →
FAQ · Amazon

Scraping Amazon - common questions.

Amazon's robots.txt blocks most automated access, and their Terms of Service prohibit scraping. Public product data has been ruled scrapable in US case law (hiQ v. LinkedIn, Meta v. Bright Data), but the legal landscape is jurisdiction-specific. SimplyNode provides the proxy layer; what you scrape is your responsibility. Most teams scraping Amazon for price intelligence operate under a legal opinion that public-data scraping is permissible.

SP-API only covers SKUs in your own seller account. It doesn't give you competitor pricing, search rankings, or arbitrary ASIN lookup. Scraping is the only way to monitor what you don't own - and it's how every commercial Amazon price-tracker (Keepa, Jungle Scout, Helium 10) gets their data.

All 21 - .com, .co.uk, .de, .fr, .it, .es, .nl, .se, .pl, .ca, .com.mx, .com.br, .co.jp, .in, .com.au, .sg, .ae, .sa, .com.tr, .eg, .cn. Just change -country-{iso} in your credentials. Residential pool covers each market with local IPs.

For US local pricing (which varies by ZIP), combine country + city targeting: -country-us-city-newyork. Amazon serves slightly different prices and Prime delivery options based on inferred user location.

Yes - buy-box availability and "In Stock" status is public on the ASIN page. Actual FBA inventory counts are not exposed publicly; you'd infer from "Only X left" warnings shown on low-stock products. Scrape the ASIN page; parse the relevant DOM nodes.

It happens - they push detection updates every few months. SimplyNode's success-rate dashboard tracks it; you'll see your rate dip from 98% to ~92% during the rollout, then recover within 1-3 days as we adjust routing. We notify customers on Slack/email if a drop persists.

Run your Amazon scraper on residential. Stop fighting captchas.

$4 buys 1 GB · ~6,700 ASIN pages. Test, scale up if it works, refund within 14 days if it doesn't.