Every API here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for apis
7 MCP tools reach this
find_apisBrowse and filter every API in the catalog.
get_api_artifactsOne API's artifacts, grouped by type.
get_openapiThe primary OpenAPI for this API.
find_similar_apisAPIs that look like this one.
apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
resolveTurn a domain, URL or GitHub org into the provider it belongs to.
find_cohortsEvery scored population of providers in the catalog.
All 92 tools →
Call it yourself
curl for this page
This API
curl "https://apis.io/api/v1/apis/bigcommerce-videos-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we
store it to create your key and to recognise you if you sign in with another
provider. See our Privacy Policy and
Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: BigCommerce Catalog - Products Videos API
description: "> The Catalog API manages products, categories, brands, bulk pricing rules, and more. To learn more about catalog resources, see the [Catalog Overview](/docs/store-operations/catalog).\n\nOur Catalog Products endpoints let you [create products](/docs/rest-catalog/products#create-a-product), perform [batch operations on existing products](/docs/rest-catalog/products#update-products-batch) and work with [reviews](/docs/rest-catalog/products/reviews), [images](/docs/rest-catalog/products/images), and [videos](/docs/rest-catalog/products/videos). Note that after a product is created initially, you can manage the nuances of its variations using the [Product Modifier](/docs/rest-catalog/product-modifiers), [Product Variant](/docs/rest-catalog/product-variants), and [Product Variant Options](/docs/rest-catalog/product-variant-options) endpoints. \n\nOther core product endpoints focus on [bulk pricing](/docs/rest-catalog/products/bulk-pricing-rules), [complex rules](/docs/rest-catalog/products/complex-rules), [custom fields](/docs/rest-catalog/products/custom-fields), and [metafields](/docs/rest-catalog/products/metafields). Product Variant objects also contain [their own metafields](/docs/rest-catalog/product-variants/metafields). For [MSF-enabled](/docs/storefront/multi-storefront) stores, the product object also contains product [channel assignments](/docs/rest-catalog/products/channel-assignments) and [category assignments](/docs/rest-catalog/products/category-assignments); read more about [products in the MSF context](/docs/storefront/multi-storefront/guide#products). \n\nThis API family also contains an endpoint to [Get a catalog summary](/docs/rest-catalog/products/summary).\n\n> To learn more about authenticating Catalog endpoints, locate the **Authentication** section at the top of each endpoint, then click **Show Details**. \n\n## Resources\n\n### Webhooks\n* [Product webhook events](/docs/integrations/webhooks/events#products)\n* [Product assignment webhook events](/docs/integrations/webhooks/events/channels#product-assignments) \n\n### Additional Catalog endpoints\n* [Brands](/docs/rest-catalog/brands)\n* [Categories](/docs/rest-catalog/categories)\n* [Category Trees](/docs/rest-catalog/category-trees)\n* [Product Modifiers](/docs/rest-catalog/product-modifiers)\n* [Product Variants](/docs/rest-catalog/product-variants)\n* [Product Variant Options](/docs/rest-catalog/product-variant-options)"
termsOfService: https://www.bigcommerce.com/terms
contact:
name: BigCommerce
url: https://www.bigcommerce.com
email: support@bigcommerce.com
version: ''
servers:
- url: https://api.bigcommerce.com/stores/{store_hash}/v3
variables:
store_hash:
default: store_hash
description: Permanent ID of the BigCommerce store.
description: BigCommerce API Gateway
security:
- X-Auth-Token: []
tags:
- name: Videos
paths:
/catalog/products/{product_id}/videos:
parameters:
- $ref: '#/components/parameters/Accept'
- $ref: '#/components/parameters/ProductIdParam'
get:
tags:
- Videos
summary: BigCommerce Get All Product Videos
description: Returns a list of *Product Videos*. Optional parameters can be passed in.
operationId: getProductVideos
parameters:
- name: include_fields
in: query
description: Fields to include, in a comma-separated list. The ID and the specified fields will be returned.
schema:
type: string
- name: exclude_fields
in: query
description: Fields to exclude, in a comma-separated list. The specified fields will be excluded from a response. The ID cannot be excluded.
schema:
type: string
- name: page
in: query
description: Specifies the page number in a limited (paginated) list of products.
schema:
type: integer
- name: limit
in: query
description: Controls the number of items per page in a limited (paginated) list of products.
schema:
type: integer
responses:
'200':
description: ''
content:
application/json:
schema:
title: Product Video Collection Response
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/productVideo_Full'
meta:
$ref: '#/components/schemas/metaCollection_Full'
example:
data:
- id: 6
type: youtube
video_id: PqBTp23RLhI
product_id: 192
sort_order: 1
title: Creating and Editing Banners | BigCommerce Tutorials
description: Learn how to create and edit marketing banners. Marketing banners are a great way to advertise sales, display coupon codes, and add design elements. Let’s take a look at how you can leverage banners to convert your store’s visitors into paying customers.
length: 01:54
- id: 7
type: youtube
video_id: EhYBjzqd-nI
product_id: 192
sort_order: 2
title: BigCommerce Company Values
description: 'These are the core principles upon which BigCommerce was built, guiding what we do and how we do it. Each employee learns them, loves them and lives them. Our merchants benefit from them every time they use our product or get help from our support team.
Join the BigCommerce team and help us build software that changes lives!
https://www.bigcommerce.com/careers/'
length: 03:30
- id: 8
type: youtube
video_id: vAUdo4kRjrU
product_id: 192
sort_order: 3
title: TOP WORKPLACES 2016 - Austin American Statesman + BigCommerce
description: 'We''ve been named one of Austin American-Statesmanʼs Top WorkPlaces for the 5th year in a row! Hereʼs what some employees have to say:
“I am given the freedom and trust to make a difference.”
“Everyone believes in the product and growing the company.”
“I''m appreciated for the work I do and there is room to grown within the company.”
Work With Us!
http://www.bigcommerce.com/careers.php'
length: 01:37
meta:
pagination:
total: 3
count: 3
per_page: 50
current_page: 1
total_pages: 1
links:
current: ?page=1&limit=50
post:
tags:
- Videos
summary: BigCommerce Create a Product Video
description: 'Creates a *Product Video*.
**Required Fields**
* video_id
**Read-Only Fields**
* id
Publicly accessible URLs are valid parameters.
Videos must be loaded through YouTube at this time.'
operationId: createProductVideo
parameters:
- $ref: '#/components/parameters/ContentType'
requestBody:
content:
application/json:
schema:
title: Product Video Post
description: 'The model for a POST to create a video on a product.
'
allOf:
- title: Product Video Base
description: Common Product Video properties.
properties:
title:
maxLength: 255
minLength: 0
type: string
example: Writing Great Documentation
description: 'The title for the video. If left blank, this will be filled in according to data on a host site.
'
description:
type: string
example: A video about documenation
description: 'The description for the video. If left blank, this will be filled in according to data on a host site.
'
sort_order:
maximum: 2147483647
minimum: -2147483648
example: 1
type: integer
description: 'The order in which the video will be displayed on the product page. Higher integers give the video a lower priority. When updating, if the video is given a lower priority, all videos with a `sort_order` the same as or greater than the videoʼs new `sort_order` value will have their `sort_order`s reordered.
'
type:
type: string
description: 'The video type (a short name of a host site).
'
enum:
- youtube
- properties:
video_id:
type: string
maxLength: 25
minLength: 0
description: 'The ID of the video on a host site.
'
x-required:
- post
example: z3fRu9pkuXE
type: object
required: true
responses:
'200':
description: ''
content:
application/json:
schema:
title: Product Video Response
type: object
properties:
data:
title: Product Video
type: object
description: 'A product video model.
'
allOf:
- title: Product Video Base
type: object
properties:
title:
maxLength: 255
minLength: 0
type: string
description: 'The title for the video. If left blank, this will be filled in according to data on a host site.
'
description:
type: string
description: 'The description for the video. If left blank, this will be filled in according to data on a host site.
'
sort_order:
maximum: 2147483647
minimum: -2147483648
type: integer
description: 'The order in which the video will be displayed on the product page. Higher integers give the video a lower priority. When updating, if the video is given a lower priority, all videos with a `sort_order` the same as or greater than the videoʼs new `sort_order` value will have their `sort_order`s reordered.
'
type:
type: string
description: 'The video type (a short name of a host site).
'
enum:
- youtube
description: Common Product Video properties.
- type: object
properties:
id:
type: integer
description: 'The unique numeric ID of the product video; increments sequentially.
'
video_id:
type: string
description: 'The ID of the video on a host site.
'
product_id:
type: integer
description: 'The unique numeric identifier for the product with which the image is associated.
'
length:
type: string
description: 'Length of the video. This will be filled in according to data on a host site.
'
meta:
$ref: '#/components/schemas/metaEmpty_Full'
description: 'Response payload for the BigCommerce API.
'
example:
title: Your Video
description: Company Values
sort_order: 1
type: youtube
video_id: 123345AA
'404':
description: 'The resource was not found.
'
content:
application/json:
schema:
title: Not Found
type: object
properties:
status:
type: integer
description: '404 HTTP status code.
'
title:
type: string
description: The error title describing the particular error.
type:
type: string
instance:
type: string
description: Error payload for the BigCommerce API.
x-codegen-request-body-name: productVideo
/catalog/products/{product_id}/videos/{id}:
parameters:
- $ref: '#/components/parameters/Accept'
- $ref: '#/components/parameters/ProductIdParam'
- $ref: '#/components/parameters/VideoIdParam'
get:
tags:
- Videos
summary: BigCommerce Get a Product Video
description: Returns a single *Product Video*. Optional parameters can be passed in.
operationId: getProductVideo
parameters:
- name: include_fields
in: query
description: Fields to include, in a comma-separated list. The ID and the specified fields will be returned.
schema:
type: string
- name: exclude_fields
in: query
description: Fields to exclude, in a comma-separated list. The specified fields will be excluded from a response. The ID cannot be excluded.
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
title: Product Video Response
type: object
properties:
data:
$ref: '#/components/schemas/productVideo_Full'
meta:
$ref: '#/components/schemas/metaEmpty_Full'
description: 'Response payload for the BigCommerce API.
'
example:
title: Your Video
description: Company Values
sort_order: 1
type: youtube
video_id: 123345AA
'404':
description: 'The resource was not found.
'
content:
application/json:
schema:
title: Not Found
type: object
properties:
status:
type: integer
description: '404 HTTP status code.
'
title:
type: string
description: The error title describing the particular error.
type:
type: string
instance:
type: string
description: Error payload for the BigCommerce API.
put:
tags:
- Videos
summary: BigCommerce Update a Product Video
description: 'Updates a *Product Video.
**Required Fields**
* none
**Read-Only Fields**
* id'
operationId: updateProductVideo
parameters:
- $ref: '#/components/parameters/ContentType'
requestBody:
content:
application/json:
schema:
title: Product Video Put
description: 'The model for a PUT to update a video on a product.
'
allOf:
- title: Product Video Base
type: object
properties:
title:
maxLength: 255
minLength: 0
type: string
description: 'The title for the video. If left blank, this will be filled in according to data on a host site.
'
description:
type: string
description: 'The description for the video. If left blank, this will be filled in according to data on a host site.
'
sort_order:
maximum: 2147483647
minimum: -2147483648
type: integer
description: 'The order in which the video will be displayed on the product page. Higher integers give the video a lower priority. When updating, if the video is given a lower priority, all videos with a `sort_order` the same as or greater than the videoʼs new `sort_order` value will have their `sort_order`s reordered.
'
type:
type: string
description: 'The video type (a short name of a host site).
'
enum:
- youtube
description: Common Product Video properties.
- type: object
properties:
id:
type: integer
description: 'The unique numeric ID of the product video; increments sequentially.
'
x-required:
- put
required: true
responses:
'200':
description: ''
content:
application/json:
schema:
title: Product Video Response
type: object
properties:
data:
title: Product Video
type: object
description: 'A product video model.
'
allOf:
- title: Product Video Base
type: object
properties:
title:
maxLength: 255
minLength: 0
type: string
description: 'The title for the video. If left blank, this will be filled in according to data on a host site.
'
description:
type: string
description: 'The description for the video. If left blank, this will be filled in according to data on a host site.
'
sort_order:
maximum: 2147483647
minimum: -2147483648
type: integer
description: 'The order in which the video will be displayed on the product page. Higher integers give the video a lower priority. When updating, if the video is given a lower priority, all videos with a `sort_order` the same as or greater than the videoʼs new `sort_order` value will have their `sort_order`s reordered.
'
type:
type: string
description: 'The video type (a short name of a host site).
'
enum:
- youtube
description: Common Product Video properties.
- type: object
properties:
id:
type: integer
description: 'The unique numeric ID of the product video; increments sequentially.
'
video_id:
type: string
description: 'The ID of the video on a host site.
'
product_id:
type: integer
description: 'The unique numeric identifier for the product with which the image is associated.
'
length:
type: string
description: 'Length of the video. This will be filled in according to data on a host site.
'
meta:
$ref: '#/components/schemas/metaEmpty_Full'
description: 'Response payload for the BigCommerce API.
'
example:
title: Your Video
description: Company Values
sort_order: 1
type: youtube
video_id: 123345AA
'404':
description: 'The resource was not found.
'
content:
application/json:
schema:
title: Not Found
type: object
properties:
status:
type: integer
description: '404 HTTP status code.
'
title:
type: string
description: The error title describing the particular error.
type:
type: string
instance:
type: string
description: Error payload for the BigCommerce API.
x-codegen-request-body-name: productVideo
delete:
tags:
- Videos
summary: BigCommerce Delete a Product Video
description: Deletes a *Product Video*.
operationId: deleteProductVideo
responses:
'204':
description: ''
content: {}
components:
parameters:
VideoIdParam:
name: id
description: The BigCommerce ID of the `Video`
required: true
in: path
schema:
type: integer
Accept:
name: Accept
in: header
required: true
description: The [MIME type](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types) of the response body.
schema:
type: string
default: application/json
ContentType:
name: Content-Type
in: header
required: true
description: The [MIME type](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types) of the request body.
schema:
type: string
default: application/json
ProductIdParam:
name: product_id
in: path
description: 'The ID of the `Product` to which the resource belongs.
'
required: true
schema:
type: integer
schemas:
pagination_Full:
title: pagination_Full
type: object
properties:
total:
type: integer
description: 'Total number of items in the result set.
'
example: 36
count:
type: integer
description: 'Total number of items in the collection response.
'
example: 36
per_page:
type: integer
description: 'The amount of items returned in the collection per page, controlled by the limit parameter.
'
example: 50
current_page:
type: integer
description: 'The page you are currently on within the collection.
'
example: 1
total_pages:
type: integer
description: 'The total number of pages in the collection.
'
example: 1
links:
type: object
properties:
previous:
type: string
description: 'Link to the previous page returned in the response.
'
current:
type: string
description: 'Link to the current page returned in the response.
'
example: ?page=1&limit=50
next:
type: string
description: 'Link to the next page returned in the response.
'
description: 'Pagination links for the previous and next parts of the whole collection.
'
description: Data about the response, including pagination and collection totals.
x-internal: false
productVideo_Full:
title: productVideo_Full
description: 'A product video model.
'
allOf:
- $ref: '#/components/schemas/productVideo_Base'
- type: object
properties:
id:
type: integer
description: 'The unique numeric ID of the product video; increments sequentially.
'
product_id:
type: integer
description: 'The unique numeric identifier for the product with which the image is associated.
'
length:
type: string
description: 'Length of the video. This will be filled in according to data on a host site.
'
x-internal: false
metaCollection_Full:
title: metaCollection_Full
type: object
properties:
pagination:
$ref: '#/components/schemas/pagination_Full'
description: Data about the response, including pagination and collection totals.
x-internal: false
productVideo_Base:
title: productVideo_Base
type: object
description: 'The model for a POST to create a video on a product.
'
x-internal: false
properties:
title:
type: string
maxLength: 255
minLength: 0
description: 'The title for the video. If left blank, this will be filled in according to data on a host site.
'
example: Writing Great Documentation
description:
type: string
description: 'The description for the video. If left blank, this will be filled in according to data on a host site.
'
example: A video about documenation
sort_order:
type: integer
maximum: 2147483647
minimum: -2147483648
description: 'The order in which the video will be displayed on the product page. Higher integers give the video a lower priority. When updating, if the video is given a lower priority, all videos with a `sort_order` the same as or greater than the videoʼs new `sort_order` value will have their `sort_order`s reordered.
'
example: 1
type:
type: string
description: 'The video type (a short name of a host site).
'
enum:
- youtube
video_id:
type: string
description: The ID of the video on a host site.
example: z3fRu9pkuXE
metaEmpty_Full:
type: object
title: Response meta
properties: {}
additionalProperties: true
description: Response metadata.
securitySchemes:
X-Auth-Token:
name: X-Auth-Token
description: '### OAuth scopes
| UI Name | Permission | Parameter |
|:--|:--|:-|
| Products | modify | `store_v2_products` |
| Products | read-only | `store_v2_products_read_only` |
### Authentication header
| Header | Argument | Description |
|:-|:|:|
| `X-Auth-Token` | `access_token` | For more about API accounts that generate `access_token`s, see our [Guide to API Accounts](/docs/start/authentication/api-accounts). |
### Further reading
For example requests and more information about authenticating BigCommerce APIs, see [Authentication and Example Requests](/docs/start/authentication#x-auth-token-header-example-requests).
For more about BigCommerce OAuth scopes, see our [Guide to API Accounts](/docs/start/authentication/api-accounts#oauth-scopes).
For a list of API status codes, see [API Status Codes](/docs/start/about/status-codes).'
type: apiKey
in: header