# Seller Information

Source: https://env.7xmtools.com/api-docs/seller.html

Retrieve [seller objects](https://env.7xmtools.com/api-docs/seller-object.html) by seller ID — optionally including the seller's storefront, a list of ASINs the merchant is listing on Amazon.

GET · 1 token per seller (+9 for storefront)

This API retrieves the [seller object](https://env.7xmtools.com/api-docs/seller-object.html) using the seller ID. If a seller is not found in our database, no tokens will be consumed and no data will be provided.

> **Looking for seller IDs?** The [Seller Finder](https://env.7xmtools.com/api-docs/seller-finder.html) searches the seller database by name, business details, ratings, fulfilment and catalogue profile, and returns the seller IDs this request expects.

## Endpoint

```
GET https://api.keepa.com/seller?key=<yourAccessKey>&domain=<domainId>&seller=<sellerId>
```

## Parameters

| Parameter | Required | Description |
| --- | --- | --- |
| `key` | required | Your private API key. |
| `domain` | required | Integer value for the Amazon locale you want to access. See the table of valid domain IDs below. |
| `seller` | required | The seller ID of the merchant you want to request. For batch requests, provide a comma-separated list of seller IDs (up to **100**). The seller ID is part of the [offer object](https://env.7xmtools.com/api-docs/offer-object.html) and can also be found on Amazon's seller profile pages in the `seller` parameter of the URL. Example: seller ID **A2L77EE7U53NWQ** — [Amazon.com Warehouse Deals](https://www.amazon.com/sp?marketplaceID=ATVPDKIKX0DER&seller=A2L77EE7U53NWQ). |
| `storefront` | optional | Include an ASIN list of the items the seller is listing. Valid values: **0** (false), **1** (true). Additional token cost: **9**. Example: `&storefront=1`. See [the storefront parameter](https://env.7xmtools.com/api-docs/seller.html#storefront-parameter) below for details. |

### Valid domain IDs

| Domain ID | Locale |
| --- | --- |
| **1** | com |
| **2** | co.uk |
| **3** | de |
| **4** | fr |
| **5** | co.jp |
| **6** | ca |
| **8** | it |
| **9** | es |
| **10** | in |
| **11** | com.mx |
| **12** | com.br |

### The `storefront` parameter

If specified and set to `1`, the seller object will contain additional information about the items the seller is listing on Amazon, including:

- A list of ASINs (`asinList`)
- Last-seen timestamps for each ASIN (`asinListLastSeen`)

If no data is available, no additional tokens will be consumed.

- The ASIN list can contain up to **100,000** items.
- Using the `storefront` parameter does **not** trigger any new data collection and does **not** increase the processing time of the request.

> **Important:** Seller ID batch requests are **not allowed** when requesting the storefront and will cause an error if submitted.

### About the storefront

The storefront of a seller is a list of items the merchant is offering on Amazon. Keepa provides ASINs that are currently listed, as well as ASINs this merchant has listed within the past 7 days.

#### Collection through the Keepa database

- Seller ASINs are collected daily by scanning the Keepa database for products sold by the seller.
- Popular ASINs and competitive offers are more likely to be included.
- Utilizing Keepa's vast offers database allows collecting more ASINs than Amazon's storefront page displays.
- However, the fewer items a seller is listing, the less likely Keepa has recently tracked any of their offers.
- The ASIN lists may be incomplete, and data may be outdated.
- If the storefront is requested via the `storefront` parameter, this list will always be included in the seller object unless there is no data or the seller has no items.
- A storefront ASIN list can contain up to **100,000** ASINs, sorted by the last time an active offer by the seller was verified (freshest first).
- Each ASIN in the list comes with a last-seen timestamp.

## Token Cost

- **1 token** per requested seller.
- If a seller is not found in the database, **no tokens** are consumed and no data is provided.
- Requesting the storefront (`storefront=1`) costs an additional **9 tokens**. If no storefront data is available, no additional tokens are consumed.

**Total token cost with `storefront=1`:**

- If storefront data is available and contains at least 2 ASINs: **1** (seller object) + **9** (storefront data) = **10** tokens.
- Otherwise: **1** token for the seller object.

## Response

The response contains a `sellers` field with a map of [seller objects](https://env.7xmtools.com/api-docs/seller-object.html). Within this map:

- Each **key** corresponds to a `sellerId`.
- Each **value** is the associated seller object.
- If no sellers are found, this map will be empty.
- If any specified `sellerId` is invalid, an error will be indicated within the error field.

## Examples

### Basic seller request

Request the seller object for the Amazon.com Warehouse Deals merchant (seller ID `A2L77EE7U53NWQ`, domain 1 = amazon.com):

```bash
https://api.keepa.com/seller?key=YOUR_API_KEY&domain=1&seller=A2L77EE7U53NWQ
```

**Java**

```java
KeepaAPI api = new KeepaAPI("YOUR_API_KEY");
Request r = Request.getSellerRequest(AmazonLocale.US, "A2L77EE7U53NWQ");
api.sendRequest(r)
    .done(result -> {
        Seller seller = result.sellers.get("A2L77EE7U53NWQ");
        System.out.println(seller.sellerName);
    })
    .fail(failure -> System.out.println(failure));
```

**PHP**

```php
<?php
use Keepa\KeepaAPI;
use Keepa\API\Request;
use Keepa\API\ResponseStatus;
use Keepa\objects\AmazonLocale;

$api = new KeepaAPI("YOUR_API_KEY");
$response = $api->sendRequestWithRetry(Request::getSellerRequest(AmazonLocale::US, ["A2L77EE7U53NWQ"]));
if ($response->status == ResponseStatus::OK) {
    print_r($response->sellers);
}
```

**Python**

```python
import requests

params = {"key": "YOUR_API_KEY", "domain": 1, "seller": "A2L77EE7U53NWQ"}
r = requests.get("https://api.keepa.com/seller", params=params)
data = r.json()
print(data["sellers"]["A2L77EE7U53NWQ"]["sellerName"])
```

**Node.js**

```javascript
const res = await fetch("https://api.keepa.com/seller?key=YOUR_API_KEY&domain=1&seller=A2L77EE7U53NWQ");
const data = await res.json();
console.log(data.sellers["A2L77EE7U53NWQ"].sellerName);
```

**cURL**

```bash
curl -s "https://api.keepa.com/seller?key=YOUR_API_KEY&domain=1&seller=A2L77EE7U53NWQ"
```

For a batch request, pass a comma-separated list of up to 100 seller IDs (not allowed together with `storefront`):

```bash
https://api.keepa.com/seller?key=YOUR_API_KEY&domain=1&seller=A2L77EE7U53NWQ,A3EX3RPFGJNC29
```

### Example response

```json
{
  "timestamp": 1753560000000,
  "tokensLeft": 273,
  "refillIn": 32000,
  "refillRate": 5,
  "tokenFlowReduction": 0,
  "tokensConsumed": 1,
  "processingTimeInMs": 12,
  "sellers": {
    "A2L77EE7U53NWQ": {
      "sellerId": "A2L77EE7U53NWQ",
      "sellerName": "Amazon Warehouse",
      "domainId": 1,
      "trackingSince": 5236320,
      "lastUpdate": 7661520,
      "hasFBA": true
    }
  }
}
```

Response shortened for readability; illustrative values. Timestamps such as `trackingSince` and `lastUpdate` are in Keepa Time minutes. All seller object fields are described on the [Seller Object](https://env.7xmtools.com/api-docs/seller-object.html) page.

### Storefront request

Request the same seller including its storefront ASIN list (`storefront=1`, costs up to 10 tokens in total):

```bash
https://api.keepa.com/seller?key=YOUR_API_KEY&domain=1&seller=A2L77EE7U53NWQ&storefront=1
```

**Java**

```java
KeepaAPI api = new KeepaAPI("YOUR_API_KEY");
Request r = Request.getSellerRequest(AmazonLocale.US, "A2L77EE7U53NWQ", true)  // storefront;
api.sendRequest(r)
    .done(result -> {
        Seller seller = result.sellers.get("A2L77EE7U53NWQ");
        System.out.println(seller.asinList.length + " storefront ASINs");
    })
    .fail(failure -> System.out.println(failure));
```

**PHP**

```php
<?php
use Keepa\KeepaAPI;
use Keepa\API\Request;
use Keepa\API\ResponseStatus;
use Keepa\objects\AmazonLocale;

$api = new KeepaAPI("YOUR_API_KEY");
$response = $api->sendRequestWithRetry(Request::getSellerRequest(AmazonLocale::US, ["A2L77EE7U53NWQ"], true));
if ($response->status == ResponseStatus::OK) {
    $seller = $response->sellers["A2L77EE7U53NWQ"];
    echo count($seller->asinList) . " storefront ASINs";
}
```

**Python**

```python
import requests

params = {"key": "YOUR_API_KEY", "domain": 1, "seller": "A2L77EE7U53NWQ", "storefront": 1}
r = requests.get("https://api.keepa.com/seller", params=params)
seller = r.json()["sellers"]["A2L77EE7U53NWQ"]
print(len(seller["asinList"]), "storefront ASINs")
```

**Node.js**

```javascript
const res = await fetch("https://api.keepa.com/seller?key=YOUR_API_KEY&domain=1&seller=A2L77EE7U53NWQ&storefront=1");
const data = await res.json();
const seller = data.sellers["A2L77EE7U53NWQ"];
console.log(seller.asinList.length, "storefront ASINs");
```

**cURL**

```bash
curl -s "https://api.keepa.com/seller?key=YOUR_API_KEY&domain=1&seller=A2L77EE7U53NWQ&storefront=1"
```

### Example response with storefront

```json
{
  "timestamp": 1753560060000,
  "tokensLeft": 263,
  "refillIn": 28000,
  "refillRate": 5,
  "tokenFlowReduction": 0,
  "tokensConsumed": 10,
  "processingTimeInMs": 18,
  "sellers": {
    "A2L77EE7U53NWQ": {
      "sellerId": "A2L77EE7U53NWQ",
      "sellerName": "Amazon Warehouse",
      "domainId": 1,
      "trackingSince": 5236320,
      "lastUpdate": 7661520,
      "hasFBA": true,
      "asinList": ["B0F3GWXLTS", "B07PGL2ZSL", "B08N5WRWNW"],
      "asinListLastSeen": [7662840, 7662710, 7661950]
    }
  }
}
```

Response shortened for readability; illustrative values. A real storefront `asinList` can contain up to 100,000 ASINs, sorted freshest first; `asinListLastSeen` holds the matching last-seen timestamps in Keepa Time minutes.
