# Data Service Response

> Fields, status values, samples and errors of the query record that the Easyparser Data Service returns for a bulk query.

Source: https://docs.easyparser.com/bulk-integration/data-service-response

The Data Service returns a query record for each bulk query you retrieve with a [Data Service Request](/bulk-integration/data-service-request). The outer structure is the same for every operation; only `data.json_result.result` changes, because each operation returns its own kind of Amazon data.

This page describes the record returned by `GET https://data.easyparser.com/v1/queries/{id}`. It is not the webhook payload: the webhook sent to your `callback_url` only tells you that a query has finished.

## Response structure

```
success
message                  (when present)
data
  id
  bulk_request_id
  group_id
  account_id
  status                 pending | success | failure
  platform
  operation
  domain
  payload
  callback_url
  create_date
  json_result            (once processing has finished)
    request_info
      id, success, status_code
      error_details[]    { error_code, message }
      address            { zipCode[], city, country_code, district }
    result               (operation-specific)
  links[]                { type, href, method, format, raw }
```

## Response fields

### Top level

| Field | Type | Description |
|---|---|---|
| `success` | boolean | Whether the Data Service request itself succeeded. It is `true` for a `failure` query too; check `data.status` for the query outcome. |
| `message` | string | Error or status message, when present. |
| `data` | object | The query record, including its status and, once finished, the parsed result. |

### `data`

| Field | Type | Description |
|---|---|---|
| `id` | string | Query ID. The `results[].id` you received in the Bulk Service Response. |
| `bulk_request_id` | string | ID of the bulk request (the whole submission). Matches `meta_data.bulk_request_id` in the Bulk Service Response. |
| `group_id` | string | ID of the request object (group) the query was generated from. Matches `data.accepted[].group_id` in the Bulk Service Response. |
| `account_id` | integer | ID of the account that submitted the query. |
| `status` | string | Processing status of the query. See [Status values](#status-values). |
| `platform` | string | Target platform, for example `AMZ`. |
| `operation` | string | Operation that was run, for example `DETAIL`, `OFFER` or `SELLER_FEEDBACK`. |
| `domain` | string | Marketplace domain, for example `.com` or `.de`. |
| `payload` | object | The single input value this query was created from, for example `{ "asin": "B0F18KTG8Q" }`. |
| `callback_url` | string | The `callback_url` of the group this query belongs to. |
| `create_date` | string | When the query was created (ISO 8601 date-time). |
| `json_result` | object | The parsed result and fetch details. Present once processing has finished; absent while `status` is `pending`. |
| `links` | array | Links to the query record and to its result. See `data.links[]` below. Not shown in the samples on this page. |

> **INFO:** Every query record carries the three IDs from the Bulk Service Response: `bulk_request_id` identifies the whole submission, `group_id` the request object, and `id` the single query. Use them to map each result back to the input it came from. You can also track the submission on the [Bulk Requests page](https://app.easyparser.com/bulk-requests) of the web app.

### `data.json_result`

| Field | Type | Description |
|---|---|---|
| `request_info` | object | Technical details of the fetch: success, status code, errors and location. |
| `result` | object | The parsed Amazon data. Its structure depends on the operation. Empty (`{}`) when the query failed. |

### `json_result.request_info`

| Field | Type | Description |
|---|---|---|
| `id` | string | Query ID, the same value as `data.id`. |
| `success` | boolean | Whether the page was fetched and parsed successfully. |
| `status_code` | integer | Status code of the fetch. `200` on success; `0` when the page could not be fetched or parsed. |
| `error_details` | array | Errors raised during processing. Empty when the query succeeded. |
| `error_details[].error_code` | integer | Numeric error code, for example `5002`. |
| `error_details[].message` | string | Error description, for example `Something Went Wrong.` |
| `address` | object | Location used to localize the request. May be absent for operations that do not use a location, such as `SALES_ANALYSIS_HISTORY`. |
| `address.zipCode` | array | Zip code or codes used, as strings. |
| `address.city` | string or null | Resolved city, when available. |
| `address.country_code` | string or null | Resolved country code, when available. |
| `address.district` | string or null | Resolved district, when available. |

### `json_result.result`

`result` holds the parsed data of the operation you ran. Its fields follow the response of the same operation in the Real-Time API, so use the operation's response page for the full field list. The table lists the top-level keys you find in Data Service results.

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

Some result shapes in the Data Service samples differ from the Real-Time API samples:

- `DETAIL`: the product fields are directly under `json_result.result` (for example `json_result.result.title`). This differs from the Real-Time Detail response, which nests them under `result.detail`.
- `PRODUCT_LOOKUP`: the sample shows `country_code` and `search_result` under an extra `result` key.
- Pagination: `OFFER`, `SEARCH`, `SELLER_PRODUCTS` and `SELLER_FEEDBACK` return a `pagination` object inside `result`, and its fields differ by operation. `OFFER` uses `current_page`, `total_pages`, `total_results` and `current_offer_count`; `SEARCH` and `SELLER_PRODUCTS` use `current_page`, `last_visible_page` and `result_count`; `SELLER_FEEDBACK` uses `current_page`, `has_next_page` and `next_page`.

### `data.links[]`

| Field | Type | Description |
|---|---|---|
| `type` | string | `self` points to the query record; `result` points to the parsed data. |
| `href` | string | Full URL to call. |
| `method` | string | HTTP method to use: `GET`. |
| `format` | string | Format of the response the link returns, for example `json`. |
| `raw` | boolean | Whether the link returns the query record rather than the parsed result. |

## Status values

Check `data.status` before you read `json_result`.

| Value | Meaning |
|---|---|
| `pending` | The query was accepted and is still processing. There is no `json_result` yet; retry after a short interval, for example 10 seconds. |
| `success` | Processing finished. `json_result.result` contains the parsed data. |
| `failure` | Processing finished without data. `json_result.result` is empty and `json_result.request_info.error_details` explains why. |

`success` and `failure` are final. Processing times out after 5 minutes; a query that does not finish in time ends with `failure`.

> **WARNING:** Results are stored for at most 24 hours and can be removed earlier. Retrieve and store each result on your side as soon as its status is `success`.

## Sample responses

The samples are abbreviated: each `result` shows only a few representative fields. See the operation's response page for the complete field list.

#### Sample response (pending query, SEARCH, .com)

```json
{
  "success": true,
  "data": {
    "id": "01a111a8-0d0b-7f0c-b381-8c1c88084534",
    "account_id": 555,
    "status": "pending",
    "platform": "AMZ",
    "operation": "SEARCH",
    "domain": ".com",
    "callback_url": "https://example.com/webhook",
    "payload": {
      "keyword": "car play winter smart pen redesign"
    },
    "create_date": "2026-10-06T14:39:48.472Z",
    "bulk_request_id": "01a111a8-0cf8-7ed5-b104-0b1c78bcd2a1",
    "group_id": "01a111a8-0d0b-7f0c-b381-8c1d2e5feb39"
  }
}
```

#### Sample response (failed query, OFFER, .com)

```json
{
  "success": true,
  "data": {
    "account_id": 555,
    "bulk_request_id": "01a03e40-5b12-7c3e-9d4a-2f8e6b1c7a90",
    "callback_url": "https://example.com/webhook",
    "create_date": "2026-06-24T21:20:56.185Z",
    "domain": ".com",
    "group_id": "01a03e40-5b1a-7f02-8c6d-4e9a3b2d1f58",
    "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"
  }
}
```

#### Sample response (successful query, DETAIL, .com)

```json
//DETAIL
{
  "success": true,
  "data": {
    "account_id": 555,
    "bulk_request_id": "01a03f12-8c40-7a1d-b2e5-6d9f0a3c4e71",
    "callback_url": "https://example.com/webhook",
    "create_date": "2026-06-24T22:31:10.482Z",
    "domain": ".com",
    "group_id": "01a03f12-8c47-7b58-a1f3-9e2c5d8b6a04",
    "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",
            "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.",
            "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"
  }
}
```

#### Abbreviated result by operation

Each snippet shows only the `result` object of a successful query, not the full record.

```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
// 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
// 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
// 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
// SEARCH
{
  "delivered_to": "Wilmington 19805",
  "pagination": {
    "current_page": 1,
    "current_page_link": "k=car&language=en_US&qid=1791297656&xpid=re54g8dzVxg2Q",
    "last_visible_page": 20,
    "next_page_link": "/s?k=car&page=2&language=en_US&xpid=re54g8dzVxg2Q&qid=1791297656&ref=sr_pg_1",
    "result_count": 22
  },
  "refinements": {
    "department": [
      {
        "heading_id": "n-title",
        "name": "Automotive",
        "refinement_display_name": "Department",
        "value": "n/15684181",
        "link": "/s?k=car&rh=n%3A15684181"
      }
    ]
  },
  "related_searches": [
    {
      "query": "car accessories",
      "link": "/s?k=car+accessories"
    }
  ],
  "result_information": {
    "begin": 1,
    "end": 16,
    "raw": "1-16 of over 100,000 results for 'car'",
    "search_term": "car",
    "total_product_count": 100000
  },
  "search_results": [
    {
      "asin": "B0D4215HCX",
      "position": 2,
      "title": "LISEN Retractable Car Charger, 84W Car Charger USB C Fast Charge,4 in 1",
      "is_prime": true,
      "is_sponsored": false,
      "main_image": {
        "id": "71Ryl5xKbuL",
        "link": "https://m.media-amazon.com/images/I/71Ryl5xKbuL.jpg"
      },
      "price": {
        "currency": "USD",
        "raw": "$15.31",
        "symbol": "$",
        "value": "15.31"
      },
      "prices": [
        { "currency": "USD", "raw": "$15.31", "symbol": "$", "value": "15.31" },
        { "currency": "USD", "is_rrp": true, "raw": "$19.99", "symbol": "$", "value": "19.99" }
      ],
      "bought_activity": {
        "period": "past month",
        "raw": "10K+ bought in past month",
        "symbol": "K",
        "value": 10000
      },
      "rating": "4.5",
      "ratings_total": 25275,
      "source_page": 1
    }
  ]
}
```

```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
// 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_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_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
  }
}
```

```json
// SIMILAR_PRODUCTS
{
  "product": {
    "asin": "B0G2V8898X",
    "brand": "Spedal",
    "category": "Car & Vehicle Electronics/Vehicle Electronics Accessories/Audio & Video Accessories",
    "image": {
      "id": "41J-WgccuxL",
      "link": "https://m.media-amazon.com/images/I/41J-WgccuxL.jpg",
      "variant": "MAIN"
    },
    "title": "Spedal 2026 2-in-1 Wireless CarPlay & Android Auto Adapter",
    "similar": [
      {
        "asin": "B0G64V3PVR",
        "brand": "OTTOCAST",
        "category": "Car & Vehicle Electronics/Vehicle Electronics Accessories/Audio & Video Accessories",
        "image": {
          "id": "31WBjLekrEL",
          "link": "https://m.media-amazon.com/images/I/31WBjLekrEL.jpg",
          "variant": "MAIN"
        },
        "title": "OTTOCAST Mini Edge 2-in-1 Wireless CarPlay & Android Auto Adapter 2026"
      },
      {
        "asin": "B0HCCY69WS",
        "brand": "LAMTTO",
        "category": "Car & Vehicle Electronics/Vehicle Electronics Accessories/Audio & Video Accessories",
        "image": {
          "id": "41FoFyc2ctL",
          "link": "https://m.media-amazon.com/images/I/41FoFyc2ctL.jpg",
          "variant": "MAIN"
        },
        "title": "LAMTTO Wireless CarPlay and Android Auto Adapter with Gemini AI YouTube"
      }
    ]
  }
}
```

## Errors

| Case | What you receive | What to do |
|---|---|---|
| Missing or invalid API key | HTTP `401` or `403` | Send a valid key in the `api-key` header. |
| Unknown or expired query | HTTP `404`, or `success: false` with `error_code` `3404` | Check that you sent `results[].id` (not `bulk_request_id` or `group_id`). Results older than 24 hours are no longer available. |
| Query failed | `data.status` is `failure` and `json_result.request_info.error_details` lists the errors, for example `5002` `Something Went Wrong.` | Read `error_details` for the reason, then submit the input again in a new bulk request. |
| Page could not be fetched or parsed | `json_result.request_info.status_code` is `0` | Same as a failed query. |

## Related

- [Data Service Request](/bulk-integration/data-service-request): endpoints, headers and code examples
- [Bulk Service Response](/bulk-integration/bulk-service-response): where `bulk_request_id`, `group_id` and query IDs come from
- [Bulk API overview](/bulk-integration/overview): the full bulk workflow
- [Detail response](/real-time-integration/detail/response): full field reference for product data
