All Offers
Get all seller offers for any Amazon product
The All Offers endpoint retrieves every seller listing for a specific product, including pricing, shipping costs, seller information, and Buy Box status. This is the same data you see on Amazon's "All Offers" page (structured as JSON for easy price comparison, seller analysis, and competitive intelligence).
Endpoint
GET https://api.scrape.do/plugin/amazon/offer-listingInput Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
token | string | ✅ | Your Scrape.do API authentication token |
asin | string | ✅ | Amazon Standard Identification Number (10-character product ID) |
geocode | string | ✅ | Country code (e.g., us, gb, de, jp) |
zipcode | string | ✅ | Postal code formatted according to country requirements |
super | boolean | ❌ | Enable residential/mobile proxies (default: false) |
Response Parameters
| Field | Type | Description |
|---|---|---|
asin | string | Product ASIN number |
status | string | Request status (success or error) |
errorMessage | string | Error message if request failed |
offers | array | List of all seller offers |
Offer Object Fields
| Field | Type | Description |
|---|---|---|
condition | string | Product condition (New, Used, Refurbished, etc.) |
offerHeader | string | Offer header text |
sellerId | string | Unique seller identifier |
merchantName | string | Seller/merchant display name |
shippingTime | object | Shipping time details including deliveryDate |
listingPrice | object | Current offer price with currencyCode and amount |
listPrice | object | Original list price (if discounted) |
discount | object | Discount details with percentage, amount, and currencyCode |
shipping | object | Shipping cost with currencyCode and amount |
shipsFrom | string | Shipping origin location |
isFulfilledByAmazon | boolean | Whether the offer is FBA (Fulfilled by Amazon) |
primeInformation | object | Prime eligibility details |
isBuyBoxWinner | boolean | Whether this offer holds the Buy Box |
quantity | number | Available stock quantity |
Example Usage
Step 1: Find the Target Product
Navigate to any Amazon product page or the "All Offers" page. For this example, we'll check all sellers for a Bluetooth headphone:

Step 2: Get the ASIN
Extract the ASIN from the product URL:
- URL:
amazon.com/dp/B0DGJ7HYG1(the ASIN isB0DGJ7HYG1)
Step 3: Send the API Request
curl --location --request GET 'https://api.scrape.do/plugin/amazon/offer-listing?token=<SDO-token>&asin=B0DGJ7HYG1&geocode=US&zipcode=10001&super=true'import requests
import json
token = "<SDO-token>"
asin = "B0DGJ7HYG1"
geocode = "US"
zipcode = "10001"
url = f"https://api.scrape.do/plugin/amazon/offer-listing?token={token}&asin={asin}&geocode={geocode}&zipcode={zipcode}&super=true"
response = requests.request("GET", url)
print(json.dumps(response.json(), indent=2))const axios = require('axios');
const token = "<SDO-token>";
const asin = "B0DGJ7HYG1";
const geocode = "US";
const zipcode = "10001";
const url = `https://api.scrape.do/plugin/amazon/offer-listing?token=${token}&asin=${asin}&geocode=${geocode}&zipcode=${zipcode}&super=true`;
axios.get(url)
.then(response => {
console.log(JSON.stringify(response.data, null, 2));
})
.catch(error => {
console.error(error);
});package main
import (
"fmt"
"io/ioutil"
"net/http"
)
func main() {
token := "<SDO-token>"
asin := "B0DGJ7HYG1"
geocode := "US"
zipcode := "10001"
url := fmt.Sprintf(
"https://api.scrape.do/plugin/amazon/offer-listing?token=%s&asin=%s&geocode=%s&zipcode=%s&super=true",
token, asin, geocode, zipcode,
)
resp, err := http.Get(url)
if err != nil {
panic(err)
}
defer resp.Body.Close()
body, _ := ioutil.ReadAll(resp.Body)
fmt.Println(string(body))
}require 'net/http'
require 'json'
token = "<SDO-token>"
asin = "B0DGJ7HYG1"
geocode = "US"
zipcode = "10001"
url = URI("https://api.scrape.do/plugin/amazon/offer-listing?token=#{token}&asin=#{asin}&geocode=#{geocode}&zipcode=#{zipcode}&super=true")
response = Net::HTTP.get(url)
puts JSON.pretty_generate(JSON.parse(response))import java.net.HttpURLConnection;
import java.net.URL;
import java.io.BufferedReader;
import java.io.InputStreamReader;
public class AmazonOfferListing {
public static void main(String[] args) throws Exception {
String token = "<SDO-token>";
String asin = "B0DGJ7HYG1";
String geocode = "US";
String zipcode = "10001";
String url = String.format(
"https://api.scrape.do/plugin/amazon/offer-listing?token=%s&asin=%s&geocode=%s&zipcode=%s&super=true",
token, asin, geocode, zipcode
);
HttpURLConnection conn = (HttpURLConnection) new URL(url).openConnection();
conn.setRequestMethod("GET");
BufferedReader reader = new BufferedReader(new InputStreamReader(conn.getInputStream()));
String line;
StringBuilder response = new StringBuilder();
while ((line = reader.readLine()) != null) {
response.append(line);
}
reader.close();
System.out.println(response.toString());
}
}using System;
using System.Net.Http;
using System.Threading.Tasks;
class Program
{
static async Task Main()
{
string token = "<SDO-token>";
string asin = "B0DGJ7HYG1";
string geocode = "US";
string zipcode = "10001";
string url = $"https://api.scrape.do/plugin/amazon/offer-listing?token={token}&asin={asin}&geocode={geocode}&zipcode={zipcode}&super=true";
using HttpClient client = new HttpClient();
string response = await client.GetStringAsync(url);
Console.WriteLine(response);
}
}<?php
$token = "<SDO-token>";
$asin = "B0DGJ7HYG1";
$geocode = "US";
$zipcode = "10001";
$url = "https://api.scrape.do/plugin/amazon/offer-listing?token={$token}&asin={$asin}&geocode={$geocode}&zipcode={$zipcode}&super=true";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
curl_close($ch);
echo json_encode(json_decode($response), JSON_PRETTY_PRINT);
?>Step 4: Receive All Seller Offers
The API returns a complete list of all sellers with their pricing and fulfillment details:
{
"asin": "B0DGJ7HYG1",
"status": "success",
"errorMessage": null,
"offers": [
{
"condition": "New",
"offerHeader": "New",
"merchantName": "Amazon Resale",
"shippingTime": {
"minimumHours": 72,
"maximumHours": 168,
"deliveryDate": "December 23 - 29"
},
"listingPrice": {
"currencyCode": "USD",
"amount": 99.99
},
"listPrice": {
"currencyCode": "USD",
"amount": 179.00
},
"discount": {
"percentage": 44.14,
"amount": 79.01,
"currencyCode": "USD"
},
"shipping": {
"currencyCode": "USD",
"amount": 0.00
},
"shipsFrom": "United States",
"isFulfilledByAmazon": true,
"primeInformation": {
"isPrime": true,
"isNationalPrime": true
},
"isBuyBoxWinner": true,
"quantity": 3
},
{
"condition": "New",
"offerHeader": "New",
"sellerId": "ALAQLAKJ574UN",
"merchantName": "6ave",
"shippingTime": {
"minimumHours": 24,
"maximumHours": 48,
"deliveryDate": "Thursday, December 11"
},
"listingPrice": {
"currencyCode": "USD",
"amount": 196.98
},
"shipping": {
"currencyCode": "USD",
"amount": 0.00
},
"shipsFrom": "United States",
"isFulfilledByAmazon": false,
"primeInformation": {
"isPrime": false
},
"isBuyBoxWinner": false,
"quantity": 30
}
]
}The isBuyBoxWinner field indicates which seller currently holds the Buy Box (the default seller when customers click "Add to Cart"). This is valuable for competitive pricing analysis.
Response is limited to a maximum of 4MB. Offers are returned with complete price, seller, and shipping information.

