## Introduction

An account represents a brand, agency, marketplace seller, or retailer. It serves as a business and billing entity that contains campaigns.

Accounts are created by Criteo.

Please reach out to your account representative.

---

## Endpoint

| Method | Endpoint | Description |
| --- | --- | --- |
| **GET** | `/accounts` | Get all Accounts |

---

## Account Attributes

| Attribute | Data Type | Description |
| --- | --- | --- |
| `id` | string | Account ID, from a demand or supply account (generated internally by Criteo)<br>Accepted values: string of int64<br>Writeable? N / Nullable? N |
| `name` | string | Account name, arbitrary and defined at account creation<br>Accepted values: up to 510-chars string<br>Writeable? Y / Nullable? N |
| `type` | enum | Account type, with`supply`being the account type for [Retailers](https://developers.criteo.com/retail-media/docs/retailers) and`demand`the account type for the different types of advertisers (brand, marketplace sellers, agencies, etc.)<br>Accepted values:`demand`,`supply`<br>Writeable? N / Nullable? N |
| `subtype` | enum | Account sub-specific for demand accounts<br>Accepted values:`brand`,`seller`<br>Writeable? N / Nullable? Y |
| `countries` | list | Countries associated with the account<br>Accepted values: 2-chars country code (in [ISO-3166](https://www.iso.org/iso-3166-country-codes.html) alpha-2 code; e.g.`US`,`FR`)<br>Writeable? N / Nullable? N |
| `currency` | string | Default currency for billing, budgeting, bid settings & campaign performance metrics<br>Accepted values: 3-chars currency code (in [ISO-4217](https://www.iso.org/iso-4217-currency-codes.html); e.g.`USD`,`EUR`)<br>Writeable? N / Nullable? N |
| `parentAccountLabel` | string | Label used to associate multiple accounts<br>Accepted values: up to 510-chars string<br>Default: same as`name`<br>Writeable? Y / Nullable? N |
| `timeZone` | string | Account time zone<br>Accepted values: time zone identifiers from [IANA (TZ database)](https://www.iana.org/time-zones) (e.g.`America/New_York`,`Europe/Paris`,`Asia/Tokyo`,`UTC`)<br>Writeable? N / Nullable? N |
| `companyName` | string | This optional field, exclusively accessible to marketplaces within the European Union (in compliance with the Digital Service Act - DSA), will display the name of the company associated with the advertisement.<br>Accepted values: up to 255-chars string<br>Writeable? Y / Nullable? Y |
| `onBehalfCompanyName` | string | This optional field, exclusively accessible to marketplaces within the European Union (in compliance with the Digital Service Act - DSA), will display the name of the company (on behalf of`companyName`) associated with the advertisement<br>Accepted values: up to 255-chars string<br>Writeable? Y / Nullable? Y |

### Digital Service Act (DSA)

In compliance with the Digital Services Act (DSA), marketplaces within the European Union will receive information about the company name associated with each advertisement.

---

## Get All Accounts

This endpoint lists all accounts accessible via your API credentials. Results are paginated using `pageIndex` and `pageSize` query parameters; if omitted, defaults to `0` and `25`, respectively. See [API Response](https://developers.criteo.com/criteo-apis/docs/api-response#pagination).

**View in the API Reference** You can also see this endpoint in the [API reference](https://developers.criteo.com/retail-media/reference/authorization/get-token).

**Sample Request**

### cURL

```bash
curl -X GET "https://api.criteo.com/{version}/retail-media/accounts?pageIndex=0&pageSize=25" \
    -H "Authorization: Bearer <MY_ACCESS_TOKEN>"
```

### Python

```python
import requests

url = "https://api.criteo.com/{version}/retail-media/accounts?pageSize=25&pageIndex=0"

payload={}
headers = {
  'Accept': 'application/json',
  'Authorization': 'Bearer <MY_ACCESS_TOKEN>'
}

response = requests.request("GET", url, headers=headers, data=payload)

print(response.text)
```

### Java

```java
OkHttpClient client = new OkHttpClient().newBuilder()
  .build();
MediaType mediaType = MediaType.parse("text/plain");

RequestBody body = RequestBody.create(mediaType, "");

Request request = new Request.Builder()
  .url("https://api.criteo.com/{version}/retail-media/accounts?pageSize=25&pageIndex=0")
  .method("GET", body)
  .addHeader("Accept", "application/json")
  .addHeader("Authorization", "Bearer <MY_ACCESS_TOKEN>")
  .build();

Response response = client.newCall(request).execute();
```

### PHP

```php
<?php
require_once 'HTTP/Request2.php';
$request = new HTTP_Request2();
$request->setUrl('https://api.criteo.com/{version}/retail-media/accounts?pageSize=25&pageIndex=0');
$request->setMethod(HTTP_Request2::METHOD_GET);
$request->setConfig(array(
  'follow_redirects' => TRUE
));

$request->setHeader(array(
  'Accept' => 'application/json',
  'Authorization' => 'Bearer <MY_ACCESS_TOKEN>'
));

try {
  $response = $request->send();
  if ($response->getStatus() == 200) {
    echo $response->getBody();
  }

else {
    echo 'Unexpected HTTP status: ' . $response->getStatus() . ' ' .
    $response->getReasonPhrase();
  }
}

catch(HTTP_Request2_Exception $e) {
  echo 'Error: ' . $e->getMessage();
}
```

**Sample Response**

```json
{
    "metadata": {
        "totalItemsAcrossAllPages": 2,
        "currentPageSize": 25,
        "currentPageIndex": 0,
        "totalPages": 1
    },
    "data": [\
        {\
            "id": "5",\
            "type": "RetailMediaAccount",\
            "attributes": {\
                "name": "Supply Demo Test Account",\
                "type": "supply",\
                "subtype": null,
                "countries": [\
                    "US"\
                ],\
                "currency": "USD",\
                "parentAccountLabel": "Supply Demo Test Account",\
                "timeZone": "America/New_York",\
                "companyName": "Supply Demo Test Account",\
                "onBehalfCompanyName": "Supply Demo Test Account"\
            }\
        },\
        {\
            "id": "368471940340928512",\
            "type": "RetailMediaAccount",\
            "attributes": {\
                "name": "RM API Account",\
                "type": "demand",\
                "subtype": "brand",\
                "countries": [\
                    "US"\
                ],\
                "currency": "USD",\
                "parentAccountLabel": "API Account",\
                "timeZone": "America/New_York",\
                "companyName": "RM API Account",\
                "onBehalfCompanyName": "RM API Account"\
            }\
        }\
    ]
}
```

## Responses

| Response | Description |
| --- | --- |
| 🟢`200` | Call executed with success |

---

## What’s next

- [Account Creation and Management (Private Market)](https://developers.criteo.com/retail-media/docs/account-creation-and-management-private-market)
- [Account Fees (Private Market)](https://developers.criteo.com/retail-media/docs/account-fees)
- [Brands](https://developers.criteo.com/retail-media/docs/brands)
- [Sellers](https://developers.criteo.com/retail-media/docs/sellers)
- [Retailers](https://developers.criteo.com/retail-media/v2025.07/docs/retailers)
