Skip to main content

Product Details

This guide will help developers to retrieve details about an individual product on an Amazon Business marketplace.

Prerequisites

To follow this tutorial, you will need:

  1. A Storefront installation with a properly configured connection to Amazon Business as described in the Setup guide.
  2. A process of creating access tokens as described in the Authorization guide.

Retrieving Product Details

Once we have results from a response of the Search API, we can retrieve all details of a product by means of the Product Details API. Technically, it's similar to how we execute a search: It's just a different endpoint and different request and response schema.

Again, we will use an access token (i.e. YOUR_ACCESS_TOKEN). You will need to pick up the id passed as part of a previous search result (e.g. s_CgpCMDdaUEtONllSEAIaAlVTIgVlbi1VUyjChT0 if you're following the example from the search guide):


...
{
"id": "s_CgpCMDdaUEtONllSEAIaAlVTIgVlbi1VUyjChT0",
"provider": "amazon",
"sku": "B07ZPKN6YR",
"name": "Apple iPhone 11, 64GB, Black - Unlocked (Renewed)",
...
},
...

We'll use YOUR_RESULT_ID as a placeholder in the following code snippets:

curl --request GET \
--header 'authorization: YOUR_ACCESS_TOKEN' \
--url 'https://YOUR_DOMAIN/api/v1/amazon/products/YOUR_PRODUCT_ID'

Parameters

ParameterInTypeRequiredDescription
amountpathstringtrueID of the product to retrieve from a previous search result

Response

If everything goes well, you will get a successful HTTP response with status 200 OK and a payload containing the product details.

{
"id": "s_CgpCMDdaUEtONllSEAIaAlVTIgVlbi1VUyjChT0",
"provider": "amazon",
"name": "Apple iPhone 11, 64GB, Black - Unlocked (Renewed)",
"offersCount": 4,
"taxonomies": [
...
],
"images": [
...
],
"offers": [
{
"id": "kBVluNB7",
"productId": "s_CgpCMDdaUEtONllSEAIaAlVTIgVlbi1VUyjChT0",
"provider": "amazon",
"price": {
"amount": 364,
"currency": "USD",
"formatted": "$ 364.00"
},
...
},
...
],
...
}

Response schema

Status Code 200

NameTypeRequiredDescription
idstringtrueAn opaque, unique identifier for the product; use it to initiate the punchout process
providerstringtrueAlways amazon for the Storefront API for Amazon Business
namestringtrueName of the product
offersCountinteger(int32)falseNumber of offers for this product
offersarray(Offer)falseInformation about the offers from various merchants on Amazon
taxonomiesarray(Taxonomy)falseInformation about the standard classifications such as UNSPSC or eCl@ss
imagesarray(Image)falseImages of the product in various sizes and from different angles
asinstringfalseAmazon Standard Identification Number (ASIN) of the product, Amazon's unique product identifier
featuresarray(string)falseList of features in a textual form
starRatingnumber(float64)falseRating of the product on Amazon in the form of a numerical value between 0.0 (bad) and 5.0 (good)
reviewCountnumber(int32)falseNumber of reviews on Amazon
productOverviewobjectfalseAn unordered list of characteristics of the product, e.g. its manufacturer, width, or height
bookobject(Book)falseIf the product is a book, this object has additional information

Offer

NameTypeRequiredDescription
idstringtrueAn opaque, unique identifier for the offer
productIdstringtrueAn opaque, unique identifier for the product
providerstringtrueAlways amazon for the Storefront API for Amazon Business
vendorstringfalseName of the vendor
priceobject(Money)truePrice (per unit) for which the merchant will sell this product. Notice that quantity-based pricing tiers might also apply (see quantityPrice).
quantityPricearray(QuantityPriceTier)falseA structure that represents the pricing tiers if the order quantity has an effect on the price.
quantityDiscountsAvailablebooleanfalseIndicates whether quantity discounts are available for this offer
deliverystringfalseDescribes delivery details of the offer in textual form, e.g. Free delivery until Friday
shippingOptionsarray(ShippingOption)falseThe options for shipping a product offer
availabilitystringfalseAvailability details in textual form, e.g. In Stock
priceUnitstringfalsePrice unit in textual form, e.g. per 100 EA
priceTaxLabelstringfalseDescribes tax-related details of the offer in textual form, e.g. excl. taxes
priceInfostringfalseFurther details regarding the price, in textual form, e.g. Quantity discounts available
preferredbooleanfalseIndicates whether this is a preferred product according to the buying guidance settings of the purchasing organization
blockedbooleanfalseIndicates whether this is blocked according to the buying guidance settings of the purchasing organization. These products should be disabled from adding to the shopping cart.
quantityMinnumber(int64)falseMinimum order quantity accepted
quantityMaxnumber(int64)falseMaximum order quantity accepted
conditionstringfalseDescribes whether the product is new, refurbished etc. One of: new, used, collectible, or refurbished
fulfillmentstringfalseTextual information about the fulfillment, e.g. whether it's fulfilled by Amazon or a 3rd party

ShippingOption

NameTypeRequiredDescription
shippingCostobject(shippingCost)trueThe cost related to shipping an item
deliveryRangeobject(DeliveryDateRange)trueThe delivery window for shipping a product offer
deliveryInformationstringtrueString representation of the estimated delivery time and delivery price
thresholdCostobject(ThresholdPrice)trueThe threshold for free shipping. When the total cost of the order exceeds this cost, shipping is free

ShippingDetails

NameTypeRequiredDescription
valueobject(Money)trueThe charges related to shipping a product offer

DeliveryDateRange

NameTypeRequiredDescription
maxstring (date-time)trueThe maximum local delivery date and time to ship a product offer
minstring (date-time)trueThe minimum local delivery date and time to ship a product offer

ThresholdPrice

NameTypeRequiredDescription
valueobject(Money)trueThe threshold for free shipping. The shipping cost is applicable when the value of the order is below this cost. When the order value exceeds this cost, shipping is free

Quantity Price Tier

NameTypeRequiredDescription
minQuantitynumber(float64)trueMinimum quantity at which the given price will be applied
priceobject(Price)truePrice of the product/offer if the quantity is greater than or equal to minQuantity

Taxonomy

NameTypeRequiredDescription
typestringtrueType of the taxonomy. One of: unspsc or eclass
codestringtrueCode in the standard classification specified by type, e.g. 44121903
versionstringfalseVersion of the standard classification specified by type, e.g. 6.0315
displayNamestringfalseHuman readable, localized text of the classification code, e.g. Pen refills

Money

NameTypeRequiredDescription
amountnumbertrueAmount of the price. Minimum is 0.0
currencystringtrueCurrency code as of ISO 3166
formattedstringfalseA localized, textual form of the monetary value

Image

NameTypeRequiredDescription
urlstringtrueURL to the image
widthinteger(int32)falseWidth of the image in pixels
heightinteger(int32)falseHeight of the image in pixels
altTextstringfalseAlternative text to further describe the image
kindstringfalseDescribes the size/purpose of the image: thumbnail, small, medium, or large

Book

NameTypeRequiredDescription
isbn10stringfalse10-digit ISBN of the book
isbn13stringfalse13-digit ISBN of the book
publicationDatestring(date)falseDate when the book has been published
publishedLanguagestringfalseLanguage under which the book is published

If you want to dig into the details of the response structure, please look into the API reference and/or the Swagger/OpenAPI specification.

Errors

In case of an error, you can use the HTTP status code and the response body to find out what went wrong.

HTTP Status CodeDescription
400 Bad RequestThe server understood your request but is unable to complete it, e.g. because a required parameter is missing.
401 UnauthorizedYou sent invalid or expired credentials.
500 Internal Server ErrorSomething went wrong on our side.

Example:

{
"error": {
"code": 404,
"message": "Product not found."
}
}