# Offer: Response

> Response fields of the Easyparser Offer (OFFER) operation: product summary, seller offers, Buy Box flag and available filters.

Source: https://docs.easyparser.com/real-time-integration/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](/real-time-integration/overview#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 page
```

## Result 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)

```json
{
  "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](/bulk-integration/data-service-response) results, `pagination` can be a single object with the same fields.

### Errors

- Always check `request_info.success` and `request_info.error_details`, even when the HTTP status is `200`. On failure, `result` is an empty object.
- Request validation errors (page window, language) are listed on the [Request](/real-time-integration/offer/request#notes) page.
