Product details describe one ASIN. Similar products are the other items shown next to that ASIN: title, price, rating, review count, image, and link. You pass the ASIN from search or from product details. country chooses the marketplace. It defaults to US.
👉 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
Search is GET /v1/amazon/products/search. Details are GET /v1/amazon/products/details. Either one can give you an ASIN. This call returns related ASINs. Offers for one of those ASINs are GET /v1/amazon/products/offers. Reviews are GET /v1/amazon/products/reviews. Bestsellers are a different route, GET /v1/amazon/rankings/best-sellers, and they are not this similar list.
Products related to one ASIN
Endpoint: GET /v1/amazon/products/similar
Documentation:
https://docs.steadyapi.com/#amazon-GETapi-v1-amazon-products-similar
Parameters
asin— required Amazon ASINcountry— optional marketplace code, defaultUS. Accepted values includeUS,CA,MX,BR,UK,DE,FR,IT,ES,JP,AU,IN,AE,NL,SE,PL,EG,ZA,BE,NG,IE,SA,TR, andSG
asin is the product you start from. country changes the marketplace, the currency in meta, and which similar items come back. The code is case-insensitive. An unknown country is rejected. There is no page parameter.
Python
import requests
url = "https://api.steadyapi.com/v1/amazon/products/similar"
headers = {"Authorization": "Bearer YOUR_API_KEY"}
response = requests.get(url, headers=headers, params={
"asin": "B09SM24S8C",
"country": "US",
})
response.raise_for_status()
payload = response.json()
print(payload.get("meta", {}).get("currency"))
for item in payload.get("body", [])[:8]:
print(item.get("asin"), item.get("title"), item.get("price"), item.get("rating"))
Annotated sample
{
"asin": "B09Z8P34NM",
"title": "SAMSUNG Galaxy A13 LTE, Factory Unlocked Smartphone, Android Cell Phone, 32GB, Black (Renewed)",
"image": "https://m.media-amazon.com/images/I/61IX%2B1qw35L._AA160_.jpg",
"price": "$106.02",
"url": "https://www.amazon.com/dp/B09Z8P34NM/ref=aod_recs_desktop_prsubs_0",
"rating": "4.1 out of 5 stars",
"reviews": 941
}
Store the related asin. That is the id for a details or offers call. title, price, and url are the card. price is a display string. rating is a phrase such as 4.1 out of 5 stars, not a bare number. reviews is the review count. meta.asin is the ASIN you asked about, which is different from the related asin on each row. meta.currency and meta.marketplace follow country. For this US example, currency is USD and the source ASIN is B09SM24S8C.
Practical use
The list is one page. If body is empty, that ASIN had no similar carousel on that marketplace. Changing country is a different catalog, not a retry of the same page.
Do not treat rating as a float. It includes the words out of 5 stars. reviews is the integer count.
The related asin is what you pass to product details. The source ASIN stays in meta.asin. Mixing them up loads the product you already had.
👉 Get your API key and open similar products: https://steadyapi.com/register