An ASIN can have more than one seller. Offers lists those sellers for one product: price, condition, who ships it, and the seller id. You use it after you already have an ASIN from search, details, or a similar-products call.
👉 To access this endpoint, you must obtain an API key: https://steadyapi.com/register
Authentication
Every call uses a Bearer token from your SteadyAPI dashboard.
Documentation:
https://docs.steadyapi.com/#authenticating-requests
headers = {
'Authorization': 'Bearer YOUR_API_KEY'
}
Where this fits
Start from a product ASIN, then call GET /v1/amazon/products/offers. The seller_id on a row is the input for GET /v1/amazon/seller/profile. This list is not a search. It will not find products by keyword.
Compare Amazon offers
Endpoint: GET /v1/amazon/products/offers
Documentation:
https://docs.steadyapi.com/#amazon-GETapi-v1-amazon-products-offers
Parameters
asin— required, max 20 characters (example:B09TDP1HCV)country— optional marketplace code, defaultUScondition— optional:new,like_new,very_good,good,acceptabledelivery— optional:primeorfreelanguage— optional language code for that marketplace
Omit condition and the list includes every condition. meta.condition is then all. Omit delivery and both Prime and non-Prime offers can appear. meta.delivery is then all. Set delivery to prime when you only want Prime. Country codes are case-insensitive. There is no page parameter.
Python
import requests
url = "https://api.steadyapi.com/v1/amazon/products/offers"
headers = {"Authorization": "Bearer YOUR_API_KEY"}
response = requests.get(url, headers=headers, params={
"asin": "B09TDP1HCV",
"delivery": "prime",
})
response.raise_for_status()
payload = response.json()
print(payload.get("meta", {}).get("asin"))
for offer in payload.get("body") or []:
print(offer.get("product_price"), offer.get("seller"), offer.get("seller_id"))
Annotated sample
{
"product_price": "$24.07",
"product_original_price": null,
"product_condition": "Used - Very Good",
"ships_from": "Amazon.com",
"seller": "Yuanchina",
"seller_id": "A531LOZXINYGL",
"currency": "USD",
"delivery_price": "FREE",
"delivery_time": "Monday, July 21"
}
Store seller_id if you will open the seller profile. Show seller and product_price. The price is a string, not a number. meta.asin is the ASIN you asked for, not a different product. delivery_price in this row is the word FREE. seller_star_rating can be null even when the offer is present.
Practical use
The sample row is a used offer. If you need new items only, pass condition=new. Leaving it off does not mean the first row is new.
product_condition is a display string such as Used - Very Good. The filter you send is the short code very_good, not that display string.
A Prime filter changes who comes back. Read meta.delivery before you compare two saved lists. all and prime are not the same result set.
👉 Get your API key and compare offers: https://steadyapi.com/register