---
title: "List Brands"
method: GET
path: "/brands"
tags: ["Brands"]
---

# List Brands

`GET /brands`

## Request

- Base URL: `https://api.wistia.com/modern`
- URL: `https://api.wistia.com/modern/brands`
- Auth: HTTP bearer

Lists the brands belonging to the account. A brand is a saved set of
branding options (colors, fonts, logos, and layout) that can be applied to
media, folders, and channels. The account-level default brand is flagged
with `is_default`, and styles everything that has no brand of its own.

## Requires api token with one of the following permissions
```
Read all data
```

Tokens with the "Act with a team member's permissions" permission
(`all:delegate_to_contact_permissions` scope) can also be used. Requests
made with such a token are authorized using the permissions of the
contact assigned to the token.

An [expiring access token](https://docs.wistia.com/reference/post_expiring-token)
created with the `all:delegate_to_contact_permissions` scope and an
authorization naming a brand (any permission) can also be used; it lists
the brands the token names.

## Query parameters

- `page` integer
- `per_page` integer
- `cursor` object
  - `enabled` 0 | 1: If `cursor[enabled]` is set to 1, the first result set will be fetched with cursor pagination enabled. This values is ignored if `cursor[before]` or `cursor[after]` are set.
  - `before` string: If `cursor[before]` is set then cursor pagination is enabled and all records before the cursor up to the `per_page` are returned. This feature is useful for fetching "new records", for example, in a "pull to refersh" feature when showing records in a descending order.
  - `after` string: If `cursor[after]` is set then cursor pagination is enabled and all records after the cursor up to the `per_page` are returned.
- `sort_by` 'name' | 'created' | 'updated' | 'id'
- `sort_direction` 0 | 1

## Headers

- `X-Wistia-API-Version` string, required

## Response `200`

A list of brands

- object[]
  - `id` string: A unique alphanumeric identifier for this brand.
  - `name` string: The brand's display name.
  - `is_default` boolean: Whether this brand is the account-level default, applied to content that has no more specific brand.
  - `created` string, date-time: The date the brand was originally created.
  - `updated` string, date-time: The date the brand was last updated.
  - `primary_color` union: The primary brand color, used for primary buttons and the player playbar. Either a hex color string or a gradient represented as an array of [hexColor, percentage] tuples. Null when unset.
    - string
    - array[]
      - unknown[]
        - unknown
  - `page_background_color` union: The brand color used for page backgrounds. Either a hex color string or a gradient represented as an array of [hexColor, percentage] tuples. Null when unset.
    - string
    - array[]
      - unknown[]
        - unknown
  - `body_font_family` string, nullable: The brand font family for body text. Null when unset.
  - `headline_font_family` string, nullable: The brand font family for headlines. Null when unset.
  - `button_font_family` string, nullable: The brand font family for buttons. Null when unset.
  - `border_radius` integer, nullable: The border radius in pixels for rounded corners. Null when unset.
  - `contrast_icons` 'enabled' | 'disabled' | 'unset' | 'null', nullable: Controls whether the player icon color is always white or uses an accessible contrast color when necessary.
  - `opaque_controls` 'enabled' | 'disabled' | 'unset' | 'null', nullable: Controls the opacity of the video player control bar and big play button.
  - `page_logo` object, nullable: The brand logo used for pages. Null when unset.
    - `url` string: The Wistia delivery URL of the logo image, e.g. `https://embed-ssl.wistia.com/deliveries/abc123def456.png`. When writing, this must reference an image already in the account; the API cannot upload one.
    - `dimensions` object, nullable
      - `width` integer
      - `height` integer
    - `size` number, nullable: The size multiplier of the logo.
  - `player_logo` object, nullable: The brand logo used for the player. Null when unset.
    - `url` string: The Wistia delivery URL of the logo image, e.g. `https://embed-ssl.wistia.com/deliveries/abc123def456.png`. When writing, this must reference an image already in the account; the API cannot upload one.
    - `dimensions` object, nullable
      - `width` integer
      - `height` integer
    - `size` number, nullable: The size multiplier of the logo.
  - `cursor` string, nullable: A cursor for stable pagination based on current `sort_by` order. You can pass this to `cursor[before]` or `cursor[after]` as a parameter to fetch the records before or after this record in the same sort order. This is only populated if records were fetched with `cursor[enabled]`, or `cursor[before]` or `cursor[after]`.

## Other responses

- `400`: Bad request
- `401`: Unauthorized, invalid or missing token
- `500`: Internal server error

## Changes

- **2026-11-03** `b86cb2a7b420`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/wistia/apis/data-api/changes/brands/get.md)

---

[API](https://skmtc.dev/wistia/apis/data-api.md) - [All operations](https://skmtc.dev/wistia/apis/data-api/llms.txt) - [OpenAPI document](https://skmtc.dev/wistia/apis/data-api/revisions/b86cb2a7b420?raw)
