---
title: "GET /catalog/variants"
method: GET
path: "/catalog/variants"
tags: ["Catalog"]
---

# GET /catalog/variants

`GET /catalog/variants`

Returns a `Variant` object list from the BigCommerce Catalog.

## Query parameters

- `id` integer
- `sku` string
- `page` integer
- `limit` integer
- `include_fields` string
- `exclude_fields` string

## Response `200`

An array of variants and metadata.

- VariantCollectionResponse — Response payload for the BigCommerce API.
  - `data` Variant[]
    - `cost_price` number, double, nullable — The cost price of the variant. Not affected by Price List prices.
    - `price` number, double, nullable — This variant's base price on the storefront. If a Price List ID is used, the Price List value will be used. If a Price List ID is not used, and this value is `null`, the product's default price (set in the Product resource's `price` field) will be used as the base price.
    - `sale_price` number, double, nullable — This variant's sale price on the storefront. If a Price List ID is used, the Price List value will be used. If a Price List ID is not used, and this value is null, the product's sale price (set in the Product resource's `price` field) will be used as the sale price.
    - `retail_price` number, double, nullable — This variant's retail price on the storefront. If a Price List ID is used, the Price List value will be used. If a Price List ID is not used, and this value is null, the product's retail price (set in the Product resource's `price` field) will be used as the retail price.
    - `weight` number, double, nullable — This variant's base weight on the storefront. If this value is null, the product's default weight (set in the Product resource's weight field) will be used as the base weight.
    - `width` number, double, nullable — Width of the variant, which can be used when calculating shipping costs. If this value is `null`, the product's default width (set in the Product resource's `width` field) will be used as the base width.
    - `height` number, double, nullable — Height of the variant, which can be used when calculating shipping costs. If this value is `null`, the product's default height (set in the Product resource's `height` field) will be used as the base height.
    - `depth` number, double, nullable — Depth of the variant, which can be used when calculating shipping costs. If this value is `null`, the product's default depth (set in the Product resource's `depth` field) will be used as the base depth.
    - `is_free_shipping` boolean — Flag used to indicate whether the variant has free shipping. If `true`, the shipping cost for the variant will be zero.
    - `fixed_cost_shipping_price` number, double, nullable — A fixed shipping cost for the variant. If defined, this value will be used during checkout instead of normal shipping-cost calculation.
    - `purchasing_disabled` boolean — If `true`, this variant will not be purchasable on the storefront.
    - `purchasing_disabled_message` string — If `purchasing_disabled` is `true`, this message should show on the storefront when the variant is selected.
    - `image_url` string — The image that will be displayed when this variant is selected on the storefront. When updating a SKU image, send the publicly accessible URL. Supported image formats are JPEG, PNG, and GIF. Generic product images not specific to the variant should be stored on the product.
    - `upc` string, nullable — The UPC code used in feeds for shopping comparison sites and external channel integrations.
    - `inventory_level` integer, nullable — Inventory level for the variant, which is used when the product's inventory_tracking is set to `variant`.
    - `inventory_warning_level` integer, nullable — When the variant hits this inventory level, it is considered low stock.
    - `bin_picking_number` string, nullable — Identifies where in a warehouse the variant is located.
    - `id` integer
    - `product_id` integer
    - `sku` string
    - `sku_id` integer, nullable — Read-only reference to v2 API's SKU ID. Null if it is a base variant.
    - `option_values` OptionValueVariant[] — Array of option and option values IDs that make up this variant. Will be empty if the variant is the product's base variant.
      - `option_display_name` string — The name of the option.
      - `label` string — The label of the option value.
      - `id` integer
      - `option_id` integer
    - `calculated_price` number, double — The price of the variant as seen on the storefront. This price takes into account `sale_price` and any price adjustment rules that are applicable to this variant.
  - `meta` CollectionMeta — Data about the response, including pagination and collection totals.
    - `pagination` Pagination — Data about the response, including pagination and collection totals.
      - `total` integer — Total number of items in the result set.
      - `count` integer — Total number of items in the collection response.
      - `per_page` integer — The amount of items returned in the collection per page, controlled by the limit parameter.
      - `current_page` integer — The page you are currently on within the collection.
      - `total_pages` integer — The total number of pages in the collection.
      - `links` object — Pagination links for the previous and next parts of the whole collection.
        - `previous` string — Link to the previous page returned in the response.
        - `current` string — Link to the current page returned in the response.
        - `next` string — Link to the next page returned in the response.

## Other responses

- `404` — The resource was not found.

---

[API](https://skmtc.net/bigcommerce/apis/bigcommerce-api.md) · [All operations](https://skmtc.net/bigcommerce/apis/bigcommerce-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/bigcommerce/bigcommerce-api/revisions/90efb67b99f3/schema)
