> ## 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.

# Brands

## **Introduction**

A brand is a collection of products marketed and sold under a unified name.

The brands associated with an account define the products that the account can promote on retailer sites.

An account can have access to one or more brands, and this access is typically managed by Criteo.

Brand attributes are standardized across retailers to ensure consistency.

## **Endpoint**

| Method  | Endpoint                       | Description  |
| ------- | ------------------------------ | ------------ |
| **GET** | `/accounts/{accountId}/brands` | Get Accounts |

## **Brand Attributes**

| Attribute | Data Type | Description                                                          |
| --------- | --------- | -------------------------------------------------------------------- |
| `id`      | string    | Brand IDAccepted values: int64 Writeable? N / Nullable? N            |
| `name`    | string    | Brand nameAccepted values: 510 char limit Writeable: N / Nullable? N |

## **Get All Brands**

This endpoint lists all brands associated with an account. Results are paginated.

<Info>
  **View in the API Reference**

  You can also check this endpoint in [the API reference](/retail-media/v2025.01/reference/campaign/accounts-get-v-1-external-account-brands-by-account-id).
</Info>

### Sample Request

<CodeGroup>
  ```bash cURL theme={null}
  curl -X GET "https://api.criteo.com/{version}/retail-media/accounts/18446744073709551616/brands" \
      -H "Authorization: Bearer <MY_ACCESS_TOKEN>"
  ```

  ```python Python theme={null}
  import requests

  url = "https://api.criteo.com/{version}/retail-media/accounts/4/brands"

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

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

  print(response.text)
  ```

  ```java Java theme={null}
  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/4/brands")
    .method("GET", body)
    .addHeader("Accept", "application/json")
    .addHeader("Authorization", "Bearer <MY_ACCESS_TOKEN>")
    .build();

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

  ```php PHP theme={null}
  <?php
  require_once 'HTTP/Request2.php';
  $request = new HTTP_Request2();
  $request->setUrl('https://api.criteo.com/{version}/retail-media/accounts/4/brands');
  $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();
  }
  ```
</CodeGroup>

### Sample Response

<CodeGroup>
  ```json JSON theme={null}
  {
      "data": [
          {
              "type": "RetailMediaBrand",
              "id": "7672171780147256541",
              "attributes": {
                  "name": "Brand 123"
              }
          },
   
          // ...
   
          {
              "type": "RetailMediaBrand",
              "id": "5979998329674492121",
              "attributes": {
                  "name": "Brand 789"
              }
          }
      ],
      "metadata": {
          "totalItemsAcrossAllPages": 15,
          "currentPageSize": 25,
          "currentPageIndex": 0,
          "totalPages": 1,
          "nextPage": null,
          "previousPage": null
      }
  }
  ```
</CodeGroup>

## Responses

| Response | Description                                                                                                                                                                                           |
| -------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| 🟢`200`  | Call executed with success                                                                                                                                                                            |
| 🔴`403`  | API user does not have the authorization to make requests to the account ID. For an authorization request, follow the[authorization request](/retail-media/v2025.01/docs/authorization-requests)steps |

***

**What’s Next**

* [Retailers](/retail-media/v2025.01/docs/retailers)
