Offer Response
result contains a summary of the product and the list of seller offers for the requested ASIN. Every response uses the shared response envelope (request_info, request_parameters, request_metadata, result).
Response structure
result├── product Product summary└── offer ├── offer_results[] One object per seller offer │ ├── offer_id, offer_asin, position, buybox_winner, is_prime, source_page │ ├── price │ ├── prices[] │ ├── discount_info │ ├── promotion │ ├── condition │ ├── delivery │ │ └── price │ ├── minimum_order_quantity │ ├── maximum_order_quantity │ └── seller ├── available_filters Filter types that apply to the listing └── pagination[] One object per requested pageResult fields
Some offer fields appear only when Amazon shows the data for that offer, for example discount_info, prices[], delivery.date, condition.comments and the seller rating fields. Treat every nested field as optional.
result.product
| Field | Type | Description |
|---|---|---|
asin | string | ASIN of the product. |
title | string | Full product title. |
link | string | URL of the product detail page. |
image | string | Amazon image ID, for example 31J5v542jbL. Not a full URL. |
rating | number or numeric string | Average customer rating, for example 4.5. |
ratings_total | integer | Total number of customer ratings. |
offer_count | integer | Number of offers available for the product. |
result.offer
| Field | Type | Description |
|---|---|---|
offer_results | array | Seller offers. See offer_results[]. |
available_filters | object | Filter types that apply to the listing. See result.offer.available_filters. |
offer_results[]
| Field | Type | Description |
|---|---|---|
offer_id | string | URL-encoded identifier of the offer. |
offer_asin | string | ASIN the offer belongs to. |
position | integer | Position of the offer in the list, starting at 0. |
buybox_winner | boolean | true if this offer holds the Buy Box. |
is_prime | boolean | true if the offer is Prime-eligible. |
promotion.has_coupon | boolean | true if a coupon is available for the offer. |
minimum_order_quantity.value | integer | Minimum quantity per order. |
maximum_order_quantity.value | integer | Maximum quantity per order. |
source_page | integer | Offer page the offer was read from. |
offer_results[].price
| Field | Type | Description |
|---|---|---|
symbol | string | Currency symbol, for example $. |
value | string | Numeric price as a string, for example "45.00". |
currency | string | Currency code, for example USD. |
raw | string | Price as shown on Amazon, for example $45.00. |
offer_results[].prices[]
| Field | Type | Description |
|---|---|---|
is_rrp | boolean | true if this entry is the list price (recommended retail price). |
symbol | string | Currency symbol. |
value | string | Numeric price as a string. |
currency | string | Currency code. |
raw | string | Price as shown on Amazon. |
offer_results[].discount_info
| Field | Type | Description |
|---|---|---|
discount_percent | number | Discount as a percentage of the list price. |
discount_amount | number | Discount amount in the offer currency. |
raw | string | Discount as shown on Amazon, for example -8%. |
offer_results[].condition
| Field | Type | Description |
|---|---|---|
is_new | boolean | true if the item is new. |
title | string | Condition label, for example New or Used - Good. |
comments | string | Seller notes on the condition, usually for used items. |
offer_results[].delivery
| Field | Type | Description |
|---|---|---|
fulfilled_by_amazon | boolean | true if Amazon fulfills the offer (FBA). |
shipped_from_outside_country | boolean | true if the item ships from outside the marketplace country. |
date | string | Delivery date as shown on Amazon. |
countdown | string | Time left to order for the shown delivery date, for example 3 hrs 33 mins. |
price.symbol | string | Currency symbol of the shipping cost. |
price.value | string | Numeric shipping cost as a string. Empty when shipping is free. |
price.currency | string | Currency code of the shipping cost. |
price.raw | string | Shipping cost as shown on Amazon, for example FREE. |
price.is_free | boolean | true if shipping is free. |
offer_results[].seller
| Field | Type | Description |
|---|---|---|
id | string | Amazon seller ID. |
name | string | Seller display name. |
link | string | URL of the seller page on Amazon. |
rating | number or numeric string | Seller rating, for example "5.0". |
ratings_percentage_positive | number | Share of positive seller ratings, in percent. |
ratings_total | integer | Total number of seller ratings. |
result.offer.available_filters
| Field | Type | Description |
|---|---|---|
offers_prime | boolean | true if the Prime filter applies to the listing. |
offers_free_shipping | boolean | true if the free shipping filter applies. |
offers_condition_new | boolean | true if the New condition filter applies. |
offers_condition_used | boolean | true if a Used condition filter applies. |
offers_condition_used_like_new | boolean | true if the Used - Like New filter applies. |
offers_condition_used_very_good | boolean | true if the Used - Very Good filter applies. |
offers_condition_used_good | boolean | true if the Used - Good filter applies. |
offers_condition_used_acceptable | boolean | true if the Used - Acceptable filter applies. |
Sample response
The sample shows the result object only; the envelope fields are left out.
Sample response (OFFER, .com)
{ "result": { "product": { "title": "Stanley Quencher H2.0 Tumbler with Handle and Straw 40 oz | Flowstate 3-Position Lid | Cup Holder Compatible for Travel | Insulated Stainless Steel Cup | BPA-Free | Toast", "rating": 4.5, "ratings_total": 58883, "image": "31J5v542jbL", "asin": "B0DQY6J9TL", "link": "https://amazon.com/dp/B0DQY6J9TL", "offer_count": 2 }, "offer": { "offer_results": [ { "offer_id": "%2FawUBrUy1tL1HtpUTwqrYqS0Rh9756vboab8%2Fj3fodnmDS5OS1q9ZZi6Y2RwM3gSWOQzgLWLMHNLtDtneLUK%2BqNdlmsmxAtbTnHoOfCA46c9AlXy%2B5xRJ3iZtmP0eG08BDgrHlLXylyMqALuZP6jNQ%3D%3D", "is_prime": true, "offer_asin": "B0DQY6J9TL", "position": 0, "buybox_winner": true, "promotion": { "has_coupon": false }, "price": { "symbol": "$", "value": "45.00", "currency": "USD", "raw": "$45.00" }, "minimum_order_quantity": { "value": 1 }, "maximum_order_quantity": { "value": 2 }, "condition": { "is_new": true, "title": "New" }, "delivery": { "fulfilled_by_amazon": true, "shipped_from_outside_country": false, "countdown": "3 hrs 33 mins", "price": { "symbol": "$", "value": "", "currency": "USD", "raw": "FREE", "is_free": true } }, "seller": { "name": "Amazon.com", "link": "https://amazon.com" } }, { "offer_id": "%2FawUBrUy1tL1HtpUTwqrYqS0Rh9756vbroWJ2Xr%2FcmaPa21a18TIeMcZzck2ITnUm%2BoknPHlOvGLsnbKiltKOGLwJ0MugJxk92efDv2DGF%2B9oFCn6XlT%2BWEVsgREfu8zpafU9EGspidwHGAKIq%2BDSZcKcHCnRF3Ea79VJ%2FqmQPQlAjPPklzYDA06oOoMkcb3", "is_prime": true, "offer_asin": "B0DQY6J9TL", "position": 1, "buybox_winner": false, "promotion": { "has_coupon": false }, "price": { "symbol": "$", "value": "38.54", "currency": "USD", "raw": "$38.54" }, "minimum_order_quantity": { "value": 1 }, "maximum_order_quantity": { "value": 1 }, "condition": { "is_new": false, "title": "Used - Good", "comments": "Minor cosmetic damage on top, front or side of the item. Item may not come in original packaging." }, "delivery": { "fulfilled_by_amazon": true, "shipped_from_outside_country": false, "countdown": "3 hrs 33 mins", "price": { "symbol": "$", "value": "", "currency": "USD", "raw": "FREE", "is_free": true } }, "seller": { "name": "Amazon Resale", "link": "https://www.amazon.com/Warehouse-Deals/b?ie=UTF8&node=10158976011" } } ], "available_filters": { "offers_prime": false, "offers_free_shipping": false, "offers_condition_new": false, "offers_condition_used": false, "offers_condition_used_like_new": false, "offers_condition_used_very_good": false, "offers_condition_used_good": false, "offers_condition_used_acceptable": false } } }}Notes
Pagination details
result.offer.pagination is an array with one object per requested page, in page order. A requested page beyond the last one still gets an entry, with current_offer_count 0, and is still charged.
| Field | Type | Description |
|---|---|---|
current_page | integer | Page number of this entry. |
current_offer_count | integer | Number of offers on this page. |
total_pages | integer | Number of offer pages Amazon has for the product. |
total_results | integer | Total number of offers Amazon has for the product. |
not_match | array | Names of expected fields that were not found on this page, for example available_filters. |
To read all offers, check total_pages in the first response and request only the pages that exist. In Data Service results, pagination can be a single object with the same fields.
Errors
- Always check
request_info.successandrequest_info.error_details, even when the HTTP status is200. On failure,resultis an empty object. - Request validation errors (page window, language) are listed on the Request page.