> For the complete documentation index, see [llms.txt](https://easyparser.gitbook.io/easyparser-documentation/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://easyparser.gitbook.io/easyparser-documentation/bulk-integration/data-service-response.md).

# Data Service Response

## Overview

This page describes the structure of the data returned by the Data Service when you retrieve a completed query by its `id`. This is the parsed content you fetch after a bulk job finishes; it is not the webhook payload. The webhook only notifies you that your result IDs are ready.

The outer structure is the same for every operation. Only the content of `json_result.result` changes, since each operation returns its own kind of Amazon data.

{% hint style="warning" %}
**Data Availability**

Completed bulk results are stored temporarily and can be retrieved for up to a maximum of **24 hours**. In some cases data may be removed earlier due to system operations or storage limits. We recommend retrieving and storing your results on your side as soon as they become available, as availability beyond this window cannot be guaranteed.
{% endhint %}

## Top-Level Fields

| Field     | Type    | Description                                                   |
| --------- | ------- | ------------------------------------------------------------- |
| `success` | boolean | Whether the Data Service request itself succeeded.            |
| `data`    | object  | The query record, including its status and the parsed result. |

## `data` Object

Echoes back the query as it was submitted and carries the parsed content once processing is complete.

| Field          | Type                  | Parent | Description                                                                         |
| -------------- | --------------------- | ------ | ----------------------------------------------------------------------------------- |
| `id`           | string                | data   | Unique identifier of the query. This is the `id` you received in the bulk response. |
| `account_id`   | number                | data   | Identifier of the account that submitted the query.                                 |
| `status`       | string                | data   | Processing status of the query. See [**Query Status**](#query-status) below.        |
| `platform`     | string                | data   | The platform the query targets (e.g. `AMZ`).                                        |
| `operation`    | string                | data   | The operation that was executed (e.g. `DETAIL`, `OFFER`, `SELLER_FEEDBACK`).        |
| `domain`       | string                | data   | Domain of the target marketplace (e.g. `.com`, `.de`).                              |
| `payload`      | object                | data   | The original input you submitted for this query (e.g. `{ "asin": "..." }`).         |
| `callback_url` | string                | data   | The callback URL submitted with the bulk request.                                   |
| `create_date`  | string (ISO datetime) | data   | When the query was created.                                                         |
| `json_result`  | object                | data   | The parsed result and its request metadata. Present once processing has finished.   |

## Query Status

The `status` field tells you whether the result is ready.

| Value     | Meaning                                                                                                      |
| --------- | ------------------------------------------------------------------------------------------------------------ |
| `pending` | The query has been accepted and is still being processed. No `json_result` yet.                              |
| `success` | Processing finished successfully. `json_result` contains the parsed data.                                    |
| `failure` | Processing finished but failed. `json_result.result` is empty and `request_info.error_details` explains why. |

Check `status` before reading `json_result`. A `pending` query has no result data yet, so retry after a short interval.

{% hint style="info" %}
A bulk request has a processing timeout of **5 minutes**, regardless of how many items it contains. Queries that do not complete within that window end with `failure`.
{% endhint %}

<details>

<summary>Sample Response – pending query</summary>

{% code overflow="wrap" %}

```json
{
  "success": true,
  "data": {
    "id": "019efb81-eb45-7e4f-a6a2-9bdcc619921e",
    "account_id": 555,
    "status": "pending",
    "platform": "AMZ",
    "operation": "OFFER",
    "domain": ".com",
    "callback_url": "https://example.com/webhook",
    "payload": {
      "url": "https://www.amazon.com/sp?ie=UTF8&seller=A29DXXRE3BKYH7",
      "link": "/sp?ie=UTF8&seller=A29DXXRE3BKYH7"
    },
    "create_date": "2026-06-24T21:20:56.111Z"
  }
}
```

{% endcode %}

</details>

<details>

<summary>Sample Response – failed query</summary>

{% code overflow="wrap" %}

```json
{
  "success": true,
  "data": {
    "account_id": 555,
    "callback_url": "https://example.com/webhook",
    "create_date": "2026-06-24T21:20:56.185Z",
    "domain": ".com",
    "id": "019efb81-eb45-7e4f-a6a2-9bdcc619921e",
    "json_result": {
      "request_info": {
        "id": "019efb81-eb45-7e4f-a6a2-9bdcc619921e",
        "success": false,
        "status_code": 0,
        "error_details": [
          {
            "error_code": 5002,
            "message": "Something Went Wrong."
          }
        ],
        "address": {
          "zipCode": ["19805"],
          "city": null,
          "country_code": null,
          "district": null
        }
      },
      "result": {}
    },
    "operation": "OFFER",
    "payload": {
      "url": "https://www.amazon.com/sp?ie=UTF8&seller=A29DXXRE3BKYH7",
      "link": "/sp?ie=UTF8&seller=A29DXXRE3BKYH7"
    },
    "platform": "AMZ",
    "status": "failure"
  }
}
```

{% endcode %}

</details>

> For a `success` response, see [**Example Responses**](#example-responses) below. The `result` object there is abbreviated; the operation's own response page lists every field it returns.

## `json_result` Object

Present once the query has finished processing. It holds the parsed data and the technical details of the fetch.

| Field          | Type   | Parent       | Description                                                             |
| -------------- | ------ | ------------ | ----------------------------------------------------------------------- |
| `request_info` | object | json\_result | Technical details of the fetch, including status, errors, and location. |
| `result`       | object | json\_result | The parsed Amazon data. Its structure depends on the operation.         |

### **`request_info`**

Diagnostic information about how the query was fetched and parsed.

| Field            | Type             | Parent                  | Description                                                                                                                   |
| ---------------- | ---------------- | ----------------------- | ----------------------------------------------------------------------------------------------------------------------------- |
| `id`             | string           | request\_info           | Query ID, matching `data.id`. Useful for tracing and re-fetching.                                                             |
| `success`        | boolean          | request\_info           | Whether the result was fetched and parsed successfully.                                                                       |
| `status_code`    | number           | request\_info           | Status code of the fetch. `200` on success. `0` indicates the page could not be fetched or parsed.                            |
| `error_details`  | array of objects | request\_info           | Errors encountered during processing. Empty when the query succeeded.                                                         |
| ↳ `error_code`   | number           | error\_details\[]       | Numeric code identifying the error (e.g. `5002`).                                                                             |
| ↳ `message`      | string           | error\_details\[]       | Description of the error (e.g. `"Something Went Wrong."`).                                                                    |
| `address`        | object           | request\_info           | Location used to localize the request. May be absent for operations that do not use location (e.g. `SALES_ANALYSIS_HISTORY`). |
| ↳ `zipCode`      | array of strings | request\_info > address | Zip code(s) used to localize the request.                                                                                     |
| ↳ `city`         | string \| null   | request\_info > address | Resolved city, when available.                                                                                                |
| ↳ `country_code` | string \| null   | request\_info > address | Resolved country code, when available.                                                                                        |
| ↳ `district`     | string \| null   | request\_info > address | Resolved district, when available.                                                                                            |

### **`result`**

Contains the parsed Amazon data. The structure of this object is specific to the operation you ran, and matches the result structure returned by the same operation in the Real-Time Integration.

The table below lists the top-level keys of `result` for each operation. For the full field-by-field breakdown, see the response page of the corresponding operation.

| Operation                | Top-level keys in `result`                                                                                                                                                           | Full reference                                                                                                     |
| ------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------ |
| `DETAIL`                 | The product object itself (`asin`, `title`, `brand`, `buybox_winner`, `variants`, `images`, `videos`, `specifications`, `rating_breakdown`, `top_reviews`, `customer_say`, and more) | [Detail](/easyparser-documentation/real-time-integration/detail/response.md)                                       |
| `OFFER`                  | `offer.offer_results[]`, `pagination`, `product`                                                                                                                                     | [Offer](/easyparser-documentation/real-time-integration/offer/response.md)                                         |
| `SEARCH`                 | `search_results[]`, `pagination`, `refinements`, `related_searches`, `result_information`, `delivered_to`                                                                            | [Search](/easyparser-documentation/real-time-integration/search/response.md)                                       |
| `SELLER_PROFILE`         | `seller_details`, `ask_a_question`, `not_match`                                                                                                                                      | [Seller Profile](/easyparser-documentation/real-time-integration/seller-profile/response.md)                       |
| `SELLER_PRODUCTS`        | `seller_products[]`, `pagination`, `refinements`, `delivered_to`                                                                                                                     | [Seller Products](/easyparser-documentation/real-time-integration/seller-products/response.md)                     |
| `SELLER_FEEDBACK`        | `seller_feedback[]`, `pagination`                                                                                                                                                    | [Seller Feedback](/easyparser-documentation/real-time-integration/seller-feedback/response.md)                     |
| `PRODUCT_LOOKUP`         | `result.search_result.products[]`, `result.country_code`                                                                                                                             | [Product Lookup](/easyparser-documentation/real-time-integration/product-lookup/response.md)                       |
| `PACKAGE_DIMENSION`      | `package`, `product`, `country_code`                                                                                                                                                 | [Package Dimension](/easyparser-documentation/real-time-integration/package-dimension/response.md)                 |
| `BEST_SELLERS_RANK`      | `product` (including `bestseller`), `country_code`                                                                                                                                   | [Best Sellers Rank](/easyparser-documentation/real-time-integration/best-sellers-rank/response.md)                 |
| `SALES_ANALYSIS_HISTORY` | `history[]`, `product`                                                                                                                                                               | [Sales Analysis & History](/easyparser-documentation/real-time-integration/sales-analysis-and-history/response.md) |

{% hint style="info" %}
Several operations return a `pagination` object inside `result`, but its fields differ by operation. For example, `SEARCH` and `SELLER_PRODUCTS` return `current_page`, `last_visible_page`, and `result_count`, while `SELLER_FEEDBACK` returns `current_page`, `has_next_page`, and `next_page`. See the operation's own response page for the exact shape.
{% endhint %}

{% hint style="warning" %}
For `PRODUCT_LOOKUP`, the content is currently nested one level deeper than in other operations, at `json_result.result.result`. This extra nesting will be flattened in a future update. If you integrate against it today, be prepared to update the path when that change is announced.
{% endhint %}

## Example Responses

The envelope is identical for every operation. The example below shows a `DETAIL` query, followed by a section showing how `result` differs per operation. In both cases the `result` object is abbreviated: only a few representative fields are shown, not the complete field list.

<details>

<summary>Sample response – DETAIL (abbreviated <code>result</code>)</summary>

<pre class="language-json" data-overflow="wrap"><code class="lang-json">  {
  "success": true,
  "data": {
    "account_id": 555,
    "callback_url": "https://example.com/webhook",
    "create_date": "2026-06-24T22:31:10.482Z",
    "domain": ".com",
    "id": "019efbc1-2a7e-71d4-9f3c-4a1b8e2d5c60",
    "json_result": {
      "request_info": {
        "id": "019efbc1-2a7e-71d4-9f3c-4a1b8e2d5c60",
        "success": true,
        "status_code": 200,
        "error_details": [],
        "address": {
          "zipCode": [
            "19805"
          ],
          "city": null,
          "country_code": null,
          "district": null
        }
      },
      "result": {
        "asin": "B0F18KTG8Q",
        "title": "TOURIT Cooler Backpack 32 Cans Large Capacity Insulated Backpack Cooler Bag",
        "brand": "TOURIT",
        "link": "https://www.amazon.com/dp/B0F18KTG8Q",
        "rating": "4.5",
        "ratings_total": 2487,
        "main_image": {
          "id": "41b8ItfyBzL",
          "link": "https://m.media-amazon.com/images/I/41b8ItfyBzL.jpg"
        },
        "buybox_winner": {
          "price": {
            "symbol": "$",
            "raw": "$24.99",
            "currency": "USD",
            "value": "24.99"
          },
          "availability": {
            "raw": "In Stock"
          },
          "seller_type": {
            "type": "FBA",
            "is_fulfilled_by_amazon": true
          }
        },
        "variants": [
          {
            "asin": "B0F18KTG8Q",
            "title": "Green",
            "is_current_product": true,
            "dimensions": [
              {
                "name": "Color",
                "value": "Green"
              }
            ]
          }
        ],
        "top_reviews": [
          {
    "id": "R3KQWZ8N2PLXVA",
    "title": "Perfect for beach days",
    "rating": "5.0",
<strong>    "body": "Took this to the lake and it kept everything cold for the whole     afternoon. The padded straps make a real difference when it is packed full, and the front pocket holds keys and sunscreen without getting damp.",
</strong>    "date": {
      "raw": "Reviewed in the United States on June 12, 2026"
    },
    "profile": {
      "id": "AF4KDLQ7NX2MTBWZ3RHVY6PSCQ5A",
      "name": "Daniel R.",
      "link": "https://www.amazon.com/gp/profile/amzn1.account.AF4KDLQ7NX2MTBWZ3RHVY6PSCQ5A"
    },
    "link": "https://www.amazon.com/gp/customer-reviews/R3KQWZ8N2PLXVA",
    "helpful_votes": 3,
    "verified_purchase": true,
    "vine_program": false,
    "is_global_review": true,
    "review_country": "USA"
  }
        ]
      }
    },
    "operation": "DETAIL",
    "payload": {
      "asin": "B0F18KTG8Q"
    },
    "platform": "AMZ",
    "status": "success"
  }
}
</code></pre>

A `DETAIL` result returns far more fields than shown here, including `specifications`, `images`, `videos`, `categories`, `rating_breakdown`, `customer_say`, and many others. See the [Detail](/easyparser-documentation/real-time-integration/detail/response.md) response page for the complete list.

</details>

<details>

<summary>The <code>result</code> object by operation</summary>

```json
// OFFER
{
  "offer": {
    "offer_results": [
      {
        "buybox_winner": true,
        "position": 0,
        "condition": {
          "is_new": true,
          "title": "New"
        },
        "price": {
          "symbol": "$",
          "raw": "$24.99",
          "value": "24.99"
        },
        "seller": {
          "id": "A29DXXRE3BKYH7",
          "name": "TOURIT Official Store",
          "rating": "5.0"
        },
        "seller_type": {
          "fba": true,
          "fbm": false,
          "is_prime": true
        }
      }
    ]
  },
  "pagination": {
    "current_page": 1,
    "total_pages": 1,
    "total_results": 6,
    "current_offer_count": 6
  },
  "product": {
    "asin": "B0F18KTG8Q",
    "title": "TOURIT Cooler Backpack",
    "rating": "4.5",
    "offer_count": 6
  }
}
```

```json
// PRODUCT_LOOKUP (note the extra `result` nesting)
{
  "result": {
    "country_code": "US",
    "search_result": {
      "products": [
        {
          "asin": "B000024D4S",
          "title": "Wish You Were Here",
          "brand": "Parlophone",
          "manufacturer": "Capitol",
          "link": "https://www.amazon.com/dp/B000024D4S",
          "identifiers": [
            {
              "type": "upc",
              "value": "724382975021"
            },
            {
              "type": "ean",
              "value": "0724382975021"
            }
          ]
        }
      ],
      "total_product_count": 2
    }
  }
}

```

```json
// PACKAGE_DIMENSION
{
  "country_code": "US",
  "package": {
    "dimensions": {
      "length": 12.95,
      "width": 5.91,
      "height": 4.21,
      "unit": "inches"
    },
    "weight": {
      "value": 1.759,
      "unit": "pounds"
    }
  },
  "product": {
    "asin": "B0F25371FH",
    "brand": "STANLEY",
    "title": "STANLEY Quencher H2.0 Tumbler with Handle and Straw",
    "link": "https://www.amazon.com/dp/B0F25371FH",
    "weight": {
      "value": 1.75,
      "unit": "pounds"
    }
  }
}

```

```json
// BEST_SELLERS_RANK
{
  "country_code": "US",
  "product": {
    "asin": "B0F25371FH",
    "brand_name": "STANLEY",
    "title": "STANLEY Quencher H2.0 Tumbler with Handle and Straw",
    "link": "https://www.amazon.com/gp/product/B0F25371FH",
    "bestseller": {
      "rank": 4,
      "context_name": "Kitchen & Dining",
      "sub_category_id": "46802055"
    },
    "reviews": {
      "rating_value": 4.7,
      "total_count": 100732
    }
  }
}
```

```json
// SALES_ANALYSIS_HISTORY
{
  "history": [
    {
      "date": "2026-06-21T00:00:00.000Z",
      "average_price": 36.18,
      "best_seller_rank": 6,
      "purchases": 1,
      "total_offers": 2,
      "views": 97
    }
  ],
  "product": {
    "asin": "B0F25371FH",
    "brand": "STANLEY",
    "name": "STANLEY Quencher H2.0 Tumbler",
    "category": "Kitchen & Dining/Storage & Organization/Thermoses",
    "marketplace": "US",
    "performance": {
      "sales": {
        "purchases_last30_days": 7,
        "purchases_last90_days": 47
      },
      "traffic": {
        "views_last30_days": 661,
        "views_last90_days": 4290
      }
    }
  }
}
```

```json
// SEARCH
{
  "search_results": [
    {
      "asin": "B0XXXXXXXX",
      "position": 1,
      "title": "Example product title",
      "brand": "Example Brand",
      "is_prime": true,
      "is_sponsored": false,
      "price": {
        "symbol": "$",
        "raw": "$29.99",
        "value": "29.99"
      }
    }
  ],
  "pagination": {
    "current_page": 1,
    "last_visible_page": 7,
    "result_count": 16
  },
  "result_information": {
    "search_term": "car",
    "total_product_count": 1000,
    "begin": 1,
    "end": 16
  },
  "refinements": {
    "brands": [],
    "condition": []
  },
  "related_searches": [
    {
      "query": "car accessories",
      "link": "/s?k=car+accessories"
    }
  ],
  "delivered_to": "Wilmington 19805"
}
```

```json
// SELLER_PRODUCTS
{
  "seller_products": [
    {
      "asin": "B0XXXXXXXX",
      "position": 1,
      "title": "Example seller product",
      "is_prime": true,
      "price": {
        "symbol": "$",
        "raw": "$19.99",
        "value": "19.99"
      }
    }
  ],
  "pagination": {
    "current_page": 1,
    "last_visible_page": 3,
    "result_count": 16
  },
  "refinements": {
    "availability": [],
    "condition": []
  },
  "delivered_to": "Wilmington 19805"
}
```

```json
// SELLER_PROFILE
{
  "seller_details": {
    "name": "Amazon Resale",
    "business_name": "Amazon.com Services, Inc",
    "business_address": "410 Terry Avenue North, Seattle, WA, 98109-5210, US",
    "business_country": "US",
    "rating": 0,
    "ratings_total": 0,
    "store_link": "https://www.amazon.com/s?ie=UTF8&me=A2L77EE7U53NWQ"
  },
  "ask_a_question": "https://www.amazon.com/gp/help/contact-us/general-questions.html"
  
}
```

```json
// SELLER_FEEDBACK
{
  "seller_feedback": [
    {
      "rater": "Blas5455",
      "rating": 5,
      "body": "Their customer service was excellent.",
      "date": {
        "raw": "June 23, 2026",
        "timestamp": 1782172800000
      },
      "has_response": false,
      "profile": {
        "url": "/gp/profile/amzn1.account.AFZ4R6ZW3MPMHMOUBXLPAR3NGISA"
      }
    }
  ],
  "pagination": {
    "current_page": 1,
    "has_next_page": true,
    "next_page": 2
  }
}
```

</details>

#### Next Steps

Once you have retrieved a result, store it on your side within the 24-hour availability window. To interpret the contents of `result`, refer to the response page of the operation you ran. If a query returns `failure`, check `request_info.error_details` for the reason before retrying.
