> This page is for Developer.

> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.bigcommerce.com/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.bigcommerce.com/_mcp/server.

# Product Videos

## Videos

Embedded videos displayed on product listings.

> **Note**
>
> This is archived documentation. The V2 Catalog API is deprecated. For current API documentation, see the [Catalog API](/developer/docs/admin/catalog-and-inventory).

#### Videos Object Properties

| Name        | Type   | Description                   |
| ----------- | ------ | ----------------------------- |
| id          | string | ID of this video.             |
| product\_id | int    | ID of the associated product. |
| sort\_order | int    | Sort order for this video.    |
| name        | string | Name for this video.          |

#### List Product Videos

Gets the videos associated with a product.

`GET /stores/{store_hash}/v2/products/{product_id}/videos`

### Pagination

Parameters can be added to the URL query string to paginate the collection. The maximum limit is 250. If a limit isn't provided, up to 50 `product_videos` are returned by default.

| Parameter | Type | Example                                              |
| --------- | ---- | ---------------------------------------------------- |
| page      | int  | `/api/v2/products/{product_id}/videos?page={number}` |
| limit     | int  | `/api/v2/products/{product_id}/videos?limit={count}` |

### Response

Example JSON returned in the response:

```json showLineNumbers={false}
[
  {
    "id": "UmhvxsOwhqk",
    "product_id": 30,
    "sort_order": 0,
    "name": "X-Men Evolution: Season 1, Episode 1"
  }
]
```

#### Get a Product Video

Gets a product video.

`GET /stores/{store_hash}/v2/products/{product_id}/videos/{id}`

#### Get a Count of Product Videos

Gets a count of the number of product videos in the store.

`GET /stores/{store_hash}/v2/products/videos/count`

### Response

Example JSON returned in the response:

```json showLineNumbers={false}
{
  "count": 0
}
```

#### Create a Product Video

Adds a link to a YouTube video to a product.

`POST /stores/{store_hash}/v2/products/{product_id}/videos`

### Read-only Properties

The following properties of the product video are read-only. If one or more of these properties are included in the request, it will be rejected.

* id
* product\_id

### Requirements

The following properties of the product video are required. The request won't be fulfilled unless these properties are valid.

* url

**Note**

Only YouTube videos are supported. To create a new video, pass the full `url` in the request body.

### Request

Example request object:

```json showLineNumbers={false}
{
  "url": "https://www.youtube.com/watch?v=4wZ3ZG_Wams"
}
```

#### Update Product Video Metadata

Edit the metadata of a product video.

`PUT /stores/{store_hash}/v2/products/{product_id}/videos/{id}`

### Read-only Properties

The following properties of the product video are read-only. If one or more of these properties are included in the request, it will be rejected.

* id
* product\_id

### Requirements

There are no required properties when updating a product video.

**Note**

The `name`, `sort_order` and `url` properties of the product video are editable.

Posting a new `url` will update the `id` of the video to reference the new video.

### Request

Example request object:

```json showLineNumbers={false}
{
  "name": "New video title",
  "sort_order": 2
}
```

#### Delete a Product Video

Delete a product video.

`DELETE /stores/{store_hash}/v2/products/{product_id}/videos/{id}`

#### Delete All Product Videos

Deletes all videos belonging to a product.

`DELETE /stores/{store_hash}/v2/products/{product_id}/videos`