BigCommerce Videos API

The Videos API from BigCommerce — 2 operation(s) for videos.

Operations 5

GET /catalog/products/{product_id}/videos BigCommerce Get All Product Videos #
POST /catalog/products/{product_id}/videos BigCommerce Create a Product Video #
GET /catalog/products/{product_id}/videos/{id} BigCommerce Get a Product Video #
PUT /catalog/products/{product_id}/videos/{id} BigCommerce Update a Product Video #
DELETE /catalog/products/{product_id}/videos/{id} BigCommerce Delete a Product Video #

Documentation

📖
Documentation
https://developer.bigcommerce.com/
📖
APIReference
https://developer.bigcommerce.com/docs/rest-management/abandoned-carts
📖
APIReference
https://developer.bigcommerce.com/docs/rest-management/carts
📖
APIReference
https://developer.bigcommerce.com/docs/rest-catalog/brands
📖
APIReference
https://developer.bigcommerce.com/docs/rest-catalog/categories
📖
APIReference
https://developer.bigcommerce.com/docs/rest-catalog/category-trees
📖
APIReference
https://developer.bigcommerce.com/docs/rest-catalog/product-modifiers
📖
APIReference
https://developer.bigcommerce.com/docs/rest-catalog/product-variant-options
📖
APIReference
https://developer.bigcommerce.com/docs/rest-catalog/product-variants
📖
APIReference
https://developer.bigcommerce.com/docs/rest-catalog/products
📖
APIReference
https://developer.bigcommerce.com/docs/rest-management/channels
📖
APIReference
https://developer.bigcommerce.com/docs/rest-management/checkouts
📖
APIReference
https://developer.bigcommerce.com/docs/rest-content/store-content
📖
APIReference
https://developer.bigcommerce.com/docs/rest-management/currencies
📖
APIReference
https://developer.bigcommerce.com/docs/rest-management/customers
📖
APIReference
https://developer.bigcommerce.com/docs/rest-content/email-templates
📖
APIReference
https://developer.bigcommerce.com/docs/rest-management/geography
📖
APIReference
https://developer.bigcommerce.com/docs/rest-management/orders
📖
APIReference
https://developer.bigcommerce.com/docs/rest-content/pages
📖
APIReference
https://developer.bigcommerce.com/docs/rest-payments/tokens
📖
APIReference
https://developer.bigcommerce.com/docs/rest-payments/methods-deprecated
📖
APIReference
https://developer.bigcommerce.com/docs/rest-payments/processing
📖
APIReference
https://developer.bigcommerce.com/docs/rest-management/settings
📖
APIReference
https://developer.bigcommerce.com/docs/rest-management/shipping-v2
📖
APIReference
https://developer.bigcommerce.com/docs/rest-management/channels/site
📖
APIReference
https://developer.bigcommerce.com/docs/rest-management/store-information
📖
APIReference
https://developer.bigcommerce.com/docs/rest-storefront/carts
📖
APIReference
https://developer.bigcommerce.com/docs/rest-storefront/checkouts
📖
APIReference
https://developer.bigcommerce.com/docs/rest-storefront/customers
📖
APIReference
https://developer.bigcommerce.com/docs/rest-storefront/orders
📖
APIReference
https://developer.bigcommerce.com/docs/rest-storefront/subscriptions
📖
APIReference
https://developer.bigcommerce.com/docs/integrations/webhooks
📖
APIReference
https://developer.bigcommerce.com/docs/rest-content/widgets

Specifications

Other Resources

Work with this as data

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 Specification

bigcommerce-videos-api-openapi.yml Raw ↑
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