E-commerce
Amazon Offers Scraper
amazon.com
A product page shows one price: the Buy Box offer. Every other seller of the same product sits in Amazon's All buying options panel, which the page loads on demand, ten offers at a time. A dedicated plugin endpoint reads that panel for you: give it an ASIN with a marketplace, or a product URL, and it returns the Buy Box (featured) offer first, then each other offer with its price, list price and savings, shipping cost and total, condition with the seller's own condition note, the delivery dates Amazon promises, where it ships from, the seller's name, id and rating, and whether Amazon sells or fulfils the offer and it is Prime. Filter with Amazon's own condition, free-delivery and Prime filters, and page through long lists, up to five pages in one call. The request exits from the marketplace's home country, so prices, shipping costs and delivery dates are the ones a local shopper sees, in the store's own currency.
What you can extract
- The Buy Box (featured) offer first, flagged buyBoxWinner, then every other offer Amazon lists
- Price with its ISO currency, list price and savings percentage
- Shipping cost (0 for free delivery) and the total of price and shipping
- Condition as Amazon words it, a normalised condition type and the seller's condition note
- Delivery date, the faster or Prime-member alternative, ships-from and a note when the item ships from abroad
- Seller name, id, profile link, star rating, number of ratings and positive share
- Sold by Amazon, fulfilled by Amazon (FBA) and Prime flags
- Product title, rating, review count, the total number of offers and pages
Dedicated endpoints
/marketplace/amazon-offers Amazon offers (all sellers)
Every offer for one product, by ASIN (with marketplace) or product URL: title, rating, reviewCount, totalOffers, totalPages, buyBox and offers (buyBoxWinner, offerId, condition, conditionType, conditionNote, price, currency, listPrice, savingsPercent, shippingPrice, totalPrice, delivery, deliveryDate, alternativeDelivery, shipsFrom, internationalShippingNote, sellerName, sellerId, sellerUrl, sellerRating, sellerRatingCount, sellerPositivePercent, soldByAmazon, fulfilledByAmazon, prime). condition filters to new or used (and the used grades), free_shipping and prime to those offers; page and pages (1-5 per call, each billed) page through the list. Any of the 20 regional marketplaces; proxy_country defaults to the marketplace's home country.
Supported marketplaces
Prices come back in each marketplace's local currency, with the exit pinned to that country automatically.
| Marketplace | Currency |
|---|---|
amazon.com | USD |
amazon.co.uk | GBP |
amazon.de | EUR |
amazon.fr | EUR |
amazon.it | EUR |
amazon.es | EUR |
amazon.nl | EUR |
amazon.se | SEK |
amazon.pl | PLN |
amazon.com.be | EUR |
amazon.com.tr | TRY |
amazon.ca | CAD |
amazon.com.mx | MXN |
amazon.com.br | BRL |
amazon.co.jp | JPY |
amazon.in | INR |
amazon.ae | AED |
amazon.sa | SAR |
amazon.sg | SGD |
amazon.com.au | AUD |
How to scrape it
curl -X POST \
-H "X-ScrapeUnblocker-Key: $SU_API_KEY" \
"https://api.scrapeunblocker.com/marketplace/amazon-offers?asin=B07VGRJDFY&marketplace=amazon.com"import requests
resp = requests.post(
"https://api.scrapeunblocker.com/marketplace/amazon-offers",
headers={"X-ScrapeUnblocker-Key": SU_API_KEY},
params={"asin": "B07VGRJDFY", "marketplace": "amazon.com"},
)
print(resp.text)import { ScrapeUnblockerClient } from 'scrapeunblocker';
const su = new ScrapeUnblockerClient({ apiKey: process.env.SU_API_KEY });
const offers = await su.amazonOffers({
asin: 'B07VGRJDFY',
marketplace: 'amazon.com',
condition: 'used',
});
console.log(offers); Requests are POST and take their parameters in the query string. Browser rendering always happens - there is no flag to enable.
Example response
{
"asin": "B07VGRJDFY",
"marketplace": "amazon.com",
"url": "https://www.amazon.com/dp/B07VGRJDFY",
"offersUrl": "https://www.amazon.com/gp/product/ajax/aodAjaxMain/?asin=B07VGRJDFY&pc=dp",
"title": "Nintendo Switch with Neon Blue and Neon Red Joy‑Con",
"image": "https://m.media-amazon.com/images/I/41BK-AwtV9L.jpg",
"rating": 4.8,
"reviewCount": 80878,
"filters": {
"condition": "all",
"freeShipping": false,
"prime": false
},
"page": 1,
"pagesFetched": 1,
"lastPageFetched": 1,
"hasMore": true,
"nextPage": 2,
"totalOffers": 66,
"totalOffersText": "65 other options",
"totalPages": 7,
"hasBuyBox": true,
"offersCollected": 11,
"offers": [
{
"buyBoxWinner": true,
"offerId": "vKWEFTwdiHUiujXaQtc2LzQ+...",
"condition": "New",
"conditionType": "new",
"conditionNote": null,
"price": 324.0,
"currency": "USD",
"priceRaw": "$324.00",
"listPrice": null,
"listPriceRaw": null,
"savingsPercent": null,
"shippingPrice": 0.0,
"shippingRaw": "FREE",
"totalPrice": 324.0,
"delivery": "FREE delivery November 5 - 7",
"deliveryDate": "November 5 - 7",
"alternativeDelivery": "Or fastest delivery Thursday, November 5",
"alternativeDeliveryDate": "Thursday, November 5",
"shipsFrom": "Amazon.com",
"internationalShippingNote": null,
"sellerName": "foxracing747",
"sellerId": "A2FNJK7KJVY243",
"sellerUrl": "https://www.amazon.com/sp?seller=A2FNJK7KJVY243",
"sellerRating": 4.5,
"sellerRatingCount": 202,
"sellerPositivePercent": 94,
"soldByAmazon": false,
"fulfilledByAmazon": true,
"prime": true,
"page": 1,
"position": 1
},
{
"buyBoxWinner": false,
"offerId": "vKWEFTwdiHUiujXaQtc2LzQ+...",
"condition": "Used - Acceptable",
"conditionType": "used",
"conditionNote": "SWITCH COMES WITH RANDOM COLORED LEFT AND RIGHT JOY-CON ONLY. WILL HAVE SCRATCHES/WEAR. NO CABLES/DOCK INCLUDED.",
"price": 169.95,
"currency": "USD",
"priceRaw": "$169.95",
"listPrice": null,
"listPriceRaw": null,
"savingsPercent": null,
"shippingPrice": 0.0,
"shippingRaw": "FREE",
"totalPrice": 169.95,
"delivery": "FREE delivery November 4 - 6",
"deliveryDate": "November 4 - 6",
"alternativeDelivery": null,
"alternativeDeliveryDate": null,
"shipsFrom": "Console Replay",
"internationalShippingNote": null,
"sellerName": "Console Replay",
"sellerId": "A3PEV2IAOYFKM6",
"sellerUrl": "https://www.amazon.com/sp?seller=A3PEV2IAOYFKM6",
"sellerRating": 4.0,
"sellerRatingCount": 407,
"sellerPositivePercent": 74,
"soldByAmazon": false,
"fulfilledByAmazon": false,
"prime": false,
"page": 1,
"position": 2
}
],
"proxyCountry": "US",
"exitCountry": "us",
"exitProvider": "isp"
} Frequently asked questions
Is it legal to scrape Amazon offers?
Collecting publicly available offer data - prices, shipping, conditions and the seller names Amazon shows every visitor - is lawful in many jurisdictions, but the rules depend on your country, the data you collect and how you use it. You stay responsible for how you use it. ScrapeUnblocker returns the public offer list; what you collect and how you use it is your decision.
How do I scrape Amazon offers without getting blocked?
Amazon runs its own bot detection and answers traffic it does not trust with a captcha page or an empty answer. The /marketplace/amazon-offers plugin reads the All buying options panel without a browser, over fresh exits in the marketplace's home country, treats a captcha or an empty answer as a miss and tries another exit. In ScrapeUnblocker's benchmark it returned the offer list on 99.5% of 1,138 calls with different products and marketplaces, about 2.6s per call.
Which offer is the Buy Box?
The first offer on page 1, flagged buyBoxWinner: true and also returned as buyBox, is the featured offer Amazon shows on the product page. Amazon lists it whatever filter you set, as it does on the site; every other offer follows it. A product with no featured offer (hasBuyBox: false) still returns its other offers.
How do I get every seller of a product with many offers?
Amazon lists ten offers per page, plus the Buy Box offer on page 1. The response says totalOffers, totalPages, hasMore and nextPage: follow nextPage, or pass pages (up to 5) to read several pages in one call. Each page read is billed as one request, and reading stops early at the last page.
Can I see who the sellers are?
Each offer carries the seller's name, id, profile link, star rating, number of ratings and positive share. Pass the sellerId to our Amazon Seller plugin (/marketplace/amazon-seller) for the full profile: feedback over 1, 3 and 12 months and lifetime, and the business name and address Amazon publishes.
How much does it cost to scrape Amazon offers?
Each page of offers read is one request: page 1 has up to 11 offers (the Buy Box offer and 10 others), and pagesFetched shows the exact number. 1 request = 1 credit, EUR 1.00 per 1,000 on pay as you go, down to about EUR 0.55 per 1,000 on the Ultimate plan. Blocks and timeouts are not billed, and the free trial includes 500 requests with no card.
Related scrapers
Amazon Offers and other names and marks of amazon.com belong to their owner and are used here only to identify the website this API works with. ScrapeUnblocker is an independent service, not affiliated with, endorsed by or sponsored by the owner of amazon.com.
Start scraping this site today
Free tier included. No credit card required to test it.