> ## Documentation Index
> Fetch the complete documentation index at: https://developers.criteo.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Managing Sellers

export const EndpointBadge = ({method = "GET", children}) => {
  const METHOD_STYLES = {
    GET: {
      bg: "mint-bg-[#2AB673]"
    },
    POST: {
      bg: "mint-bg-[#3064E3]"
    },
    PUT: {
      bg: "mint-bg-[#C28C30]"
    },
    PATCH: {
      bg: "mint-bg-[#DA622B]"
    },
    DELETE: {
      bg: "mint-bg-[#CB3A32]"
    },
    API: {
      bg: "mint-bg-black"
    }
  };
  const key = method.toUpperCase();
  const styles = METHOD_STYLES[key] ?? METHOD_STYLES.API;
  return <div className="relative mt-7">
      <span className={`absolute -top-2 -left-2 z-10 ${styles.bg} text-white px-2.5 py-0.5 rounded-full text-xs font-bold tracking-wide`}>
        {key}
      </span>
      {children}
    </div>;
};

The seller represents the legal person selling products on your platform. The MPO API enables you to manage the advertisement of your Sellers.

## Adding Sellers

Sellers are not added with the API. Instead, they are automatically added from the Catalog you provided us. In your catalog, you should provide the `sellerName` field on the Sellers' products. Products that don't have these fields provided will not be advertised.

<Warning>
  `sellerName` is case-sensitive. If your seller has different case, it will be considered as a different Seller.
</Warning>

<Info>
  You can use your internal ID of the seller as SellerName.
</Info>

The catalog can be updated from the [Criteo Product Catalog API](/marketing-solutions/v2026-preview/docs/product-importer-api) or directly from [Commerce Growth Dashboard](https://help.criteo.com/kb/guide/en/introducing-product-catalog-HuVC8b4c4e/Steps/3316715).

***

## Removing Sellers

A Seller can be removed by removing its products from the Feed. If you want to stop an advertising a Seller immediately, you can suspend the budgets of its Seller-Campaigns (see "[Suspend a budget](/marketing-solutions/v2025.10/docs/managing-budgets#suspending-budgets)" section).

***

## Getting Sellers

In order to see the list of sellers that were extracted, you can make the following call:

<EndpointBadge method="get">
  ```http theme={null}
  /marketplace-performance-outcomes/sellers
  ```
</EndpointBadge>

**Sample response**

```json JSON theme={null}
[{
   "id" : "1",
   "sellerName": "AHepburn",
},{
   "id" : "2",
   "sellerName": "HBogart"
},{
   "id" : "3",
   "sellerName": "NewTech"
}]
```

A seller is defined by the following:

**`sellerName`**\
This corresponds to the `sellerId` that was specified in the product catalog you provided.

**`sellerId`**\
This `sellerId` identifies your seller. It is attributed by our Seller ingestion system.

<table>
  <thead>
    <tr>
      <th>
        <p>
          Parameter
        </p>
      </th>

      <th>
        <p>
          Definition
        </p>
      </th>

      <th>
        <p>
          Type
        </p>
      </th>

      <th>
        <p>
          Required?
        </p>
      </th>
    </tr>
  </thead>

  <tbody>
    <tr>
      <td>
        <p>
          <code>
            advertiserId
          </code>
        </p>
      </td>

      <td>
        <p>
          Return sellers for the given advertiser Id. Default is to not filter on advertiser
        </p>
      </td>

      <td>
        <p>
          <code>
            integer
          </code>
        </p>
      </td>

      <td>
        <p>
          No
        </p>
      </td>
    </tr>

    <tr>
      <td>
        <p>
          <code>
            campaignId
          </code>
        </p>
      </td>

      <td>
        <p>
          Return sellers for the given campaign Id. Default is to not filter on campaign
        </p>
      </td>

      <td>
        <p>
          <code>
            integer
          </code>
        </p>
      </td>

      <td>
        <p>
          No
        </p>
      </td>
    </tr>

    <tr>
      <td>
        <p>
          <code>
            sellerName
          </code>
        </p>
      </td>

      <td>
        <p>
          Returns only sellers with the given

          <code>
            sellerName
          </code>

          value.
        </p>
      </td>

      <td>
        <p>
          <code>
            string
          </code>
        </p>
      </td>

      <td>
        <p>
          No
        </p>
      </td>
    </tr>

    <tr>
      <td>
        <p>
          <code>
            sellerStatus
          </code>
        </p>
      </td>

      <td>
        <p>
          Return only sellers with a specific status. Possible values:

          <b>
            Inactive
          </b>

          , \*\*
        </p>

        <p>
          Active\*\*.
        </p>
      </td>

      <td>
        <p>
          <code>
            string
          </code>
        </p>
      </td>

      <td>
        <p>
          No
        </p>
      </td>
    </tr>

    <tr>
      <td>
        <p>
          <code>
            withBudgetStatus
          </code>
        </p>
      </td>

      <td>
        <p>
          Return sellers with any budget having the given state. Default is to not filter on the budget state. Possible values:

          <b>
            Archived
          </b>

          , \*\*
        </p>

        <p>
          Current

          <b>
            ,
          </b>
        </p>

        <p>
          Scheduled\*\*
        </p>
      </td>

      <td>
        <p>
          <code>
            string
          </code>
        </p>
      </td>

      <td>
        <p>
          No
        </p>
      </td>
    </tr>

    <tr>
      <td>
        <p>
          <code>
            withProducts
          </code>
        </p>
      </td>

      <td>
        <p>
          Return sellers with or without products in the catalog. The default is not to filter on products in the catalog.
        </p>
      </td>

      <td>
        <p>
          <code>
            boolean
          </code>
        </p>
      </td>

      <td>
        <p>
          No
        </p>
      </td>
    </tr>
  </tbody>
</table>

<Warning>
  There is an enrichment delay of 24 to 48 hours from when a product is placed in the catalog and becomes available.
</Warning>

***

## Get Specific Seller

You can also fetch the details of a single Seller using the following request:

<EndpointBadge method="get">
  ```http theme={null}
  /marketplace-performance-outcomes/sellers/{sellerId}
  ```
</EndpointBadge>

**Sample response**

```json theme={null}
{
  "id": "123456",
  "sellerName": "HBogart"
}
```

***

## Get a collection of budgets for selected Seller

The following endpoint retrieves a list of budgets for a specific seller, applying any optional filters provided as a query parameters.\
If no filters are given, return all budgets the user can access, excluding those with an `endDate` in the past.\
When multiple filters are used, only budgets that meet all the specified criteria are returned.\
For more information, refer to the [budgets endpoint documentation](/marketing-solutions/v2025.10/docs/managing-budgets).

<EndpointBadge method="get">
  ```http theme={null}
  /marketplace-performance-outcomes/sellers/{sellerId}/budgets
  ```
</EndpointBadge>

**Sample response**

```json theme={null}
[
  {
    "id": "123456",
    "sellerId": "123456",
    "campaignIds": [
      123532
    ],
    "budgetType": "Daily",
    "amount": 12.0000,
    "startDate": "2021-02-25",
    "endDate": "Never",
    "spend": null,
    "status": "Current",
    "isSuspended": false
  }
]
```

You can apply the following query parameters to the endpoint to specify filters:

<table>
  <thead>
    <tr>
      <th>
        <p>
          Parameter
        </p>
      </th>

      <th>
        <p>
          Definition
        </p>
      </th>

      <th>
        <p>
          Type
        </p>
      </th>

      <th>
        <p>
          Required?
        </p>
      </th>
    </tr>
  </thead>

  <tbody>
    <tr>
      <td>
        <p>
          <code>
            sellerId
          </code>
        </p>
      </td>

      <td>
        <p>
          Filters budgets to those owned by the specified seller.
        </p>
      </td>

      <td>
        <p>
          <code>
            string
          </code>
        </p>
      </td>

      <td>
        <p>
          Yes
        </p>
      </td>
    </tr>

    <tr>
      <td>
        <p>
          <code>
            campaignId
          </code>
        </p>
      </td>

      <td>
        <p>
          Filters budgets to those funding the specified campaign.
        </p>
      </td>

      <td>
        <p>
          <code>
            integer
          </code>
        </p>
      </td>

      <td>
        <p>
          No
        </p>
      </td>
    </tr>

    <tr>
      <td>
        <p>
          <code>
            endAfterDate
          </code>
        </p>
      </td>

      <td>
        <p>
          Returns budgets ending after the given date (

          <code>
            yyyy-MM-DD
          </code>

          ). If omitted, only budgets still active are returned.
        </p>
      </td>

      <td>
        <p>
          <code>
            string
          </code>
        </p>
      </td>

      <td>
        <p>
          No
        </p>
      </td>
    </tr>

    <tr>
      <td>
        <p>
          <code>
            startBeforeDate
          </code>
        </p>
      </td>

      <td>
        <p>
          Returns budgets starting on or before the given date (

          <code>
            yyyy-MM-DD
          </code>

          ).
        </p>
      </td>

      <td>
        <p>
          <code>
            string
          </code>
        </p>
      </td>

      <td>
        <p>
          No
        </p>
      </td>
    </tr>

    <tr>
      <td>
        <p>
          <code>
            status
          </code>
        </p>
      </td>

      <td>
        <p>
          Filters budgets by the specified status. Possible values:

          <b>
            Archived
          </b>

          , \*\*
        </p>

        <p>
          Current

          <b>
            ,
          </b>
        </p>

        <p>
          Scheduled\*\*.
        </p>
      </td>

      <td>
        <p>
          <code>
            string
          </code>
        </p>
      </td>

      <td>
        <p>
          No
        </p>
      </td>
    </tr>

    <tr>
      <td>
        <p>
          <code>
            type
          </code>
        </p>
      </td>

      <td>
        <p>
          Filters budgets by the specified budget type.
        </p>
      </td>

      <td>
        <p>
          <code>
            string
          </code>
        </p>
      </td>

      <td>
        <p>
          No
        </p>
      </td>
    </tr>

    <tr>
      <td>
        <p>
          <code>
            withBalance
          </code>
        </p>
      </td>

      <td>
        <p>
          Returns only budgets that currently have a remaining balance.
        </p>
      </td>

      <td>
        <p>
          <code>
            boolean
          </code>
        </p>
      </td>

      <td>
        <p>
          No
        </p>
      </td>
    </tr>

    <tr>
      <td>
        <p>
          <code>
            withSpend
          </code>
        </p>
      </td>

      <td>
        <p>
          Returns budgets that have a positive spend amount.
        </p>
      </td>

      <td>
        <p>
          <code>
            boolean
          </code>
        </p>
      </td>

      <td>
        <p>
          No
        </p>
      </td>
    </tr>
  </tbody>
</table>

***

## Get a collection of campaigns for selected Seller

The following endpoint returns a list of seller campaigns for the specified seller, applying any optional filters provided.

If no filters are given, it returns the full collection accessible to the user.\
When multiple filters are used, only campaigns meeting all filter criteria are included.\
For more information, see the [seller campaigns endpoint documentation](/marketing-solutions/v2025.10/docs/managing-campaigns).

<EndpointBadge method="get">
  ```http theme={null}
  /marketplace-performance-outcomes/sellers/{sellerId}/seller-campaigns
  ```
</EndpointBadge>

**Sample response**

```json theme={null}
[
  {
    "id": "10624700.225662",
    "sellerId": "10624700",
    "campaignId": 225662,
    "bid": null,
    "suspendedSince": "2021-03-07T23:06:15.17",
    "suspensionReasons": [
      "NoBudgetDefined"
    ]
  }
]
```

You can apply the following query parameters to the endpoint to specify filters:

<table>
  <thead>
    <tr>
      <th>
        <p>
          Parameter
        </p>
      </th>

      <th>
        <p>
          Definition
        </p>
      </th>

      <th>
        <p>
          Type
        </p>
      </th>

      <th>
        <p>
          Required?
        </p>
      </th>
    </tr>
  </thead>

  <tbody>
    <tr>
      <td>
        <p>
          <code>
            sellerId
          </code>
        </p>
      </td>

      <td>
        <p>
          Limits results to campaigns belonging to the specified seller.
        </p>
      </td>

      <td>
        <p>
          <code>
            string
          </code>
        </p>
      </td>

      <td>
        <p>
          Yes
        </p>
      </td>
    </tr>

    <tr>
      <td>
        <p>
          <code>
            budgetStatus
          </code>
        </p>
      </td>

      <td>
        <p>
          Filters campaigns by the budget status. Possible values:

          <b>
            Archived
          </b>

          , \*\*
        </p>

        <p>
          Current

          <b>
            ,
          </b>
        </p>

        <p>
          Scheduled\*\*.
        </p>
      </td>

      <td>
        <p>
          <code>
            string
          </code>
        </p>
      </td>

      <td>
        <p>
          No
        </p>
      </td>
    </tr>

    <tr>
      <td>
        <p>
          <code>
            campaignId
          </code>
        </p>
      </td>

      <td>
        <p>
          Filters campaigns linked to the specified campaign ID.
        </p>
      </td>

      <td>
        <p>
          <code>
            integer
          </code>
        </p>
      </td>

      <td>
        <p>
          No
        </p>
      </td>
    </tr>

    <tr>
      <td>
        <p>
          <code>
            sellerStatus
          </code>
        </p>
      </td>

      <td>
        <p>
          Filters campaigns by the seller's status. Possible values:

          <b>
            Inactive
          </b>

          , \*\*
        </p>

        <p>
          Active\*\*.
        </p>
      </td>

      <td>
        <p>
          <code>
            string
          </code>
        </p>
      </td>

      <td>
        <p>
          No
        </p>
      </td>
    </tr>
  </tbody>
</table>

<br />

## What's next

* [Managing Campaigns](/marketing-solutions/v2025.10/docs/managing-campaigns)
* [Managing Budgets](/marketing-solutions/v2025.10/docs/managing-budgets)
* [Getting statistics](/marketing-solutions/v2025.10/docs/getting-statistics)
* [Validation Errors](/marketing-solutions/v2025.10/docs/validation-errors)
