The Catalog refers to a store’s collection of physical and digital products. The Catalog includes all the information about a product such as MPN, warranty, price, and images.
Products are the primary catalog entity, and the primary function of the e-commerce platform is to sell products on the storefront and other selling channels.
Products can also be Physical or Digital.
Physical products are typically products that exist in a physical form, have a weight, and are being sold by retailers with the intent of shipping them to customers.
Digital products, on the other hand, may not have a physical representation in the real world; this includes downloadable products such as computer software, ebooks, music, images, and other digital media. Alternatively, a digital product may be used to sell services such as spa treatments, consulting, and so forth - which also do not require shipping.
Only one Product can be created at a time.
Create a Simple Product
Simple products do not have any options, modifiers, or variants, and therefore cannot be configured or modified before they are added to cart. A simple product is its own variant.
When options are created via the /products endpoint, the display_type defaults to radio button.
Create a Complex Product
Complex products have at least one option and may have modifiers or variants.
The /products endpoint supports the creation of multiple variants along with the base product in a single call.
Digital products are purchaseable items that don’t have a physical representation and are not shipped to the customer; for example, manuals, ebooks, or music. A downloadable product file can be associated with a digital product.
Downloadable product files are intended for products of the “digital” type, typically for selling some kind of media file or software. Product dimensions are not required because the item is not shipped.
Files must be added to digital products using the Control Panel or WebDav (attaching via the API is not supported). Additional settings such as a description of the file and maximum downloads can be set in the Control Panel.
Common Product properties.
The product name.
The product type. One of:
physical - a physical stock unit,
digital - a digital download.
User defined product code/stock keeping unit (SKU).
The product description, which can include HTML formatting.
Weight of the product, which can be used when calculating shipping costs. This is based on the unit set on the store
Width of the product, which can be used when calculating shipping costs.
Depth of the product, which can be used when calculating shipping costs.
Height of the product, which can be used when calculating shipping costs.
The price of the product. The price should include or exclude tax, based on the store settings.
The cost price of the product. Stored for reference only; it is not used or displayed anywhere on the store.
The retail cost of the product. If entered, the retail cost price will be shown on the product page.
If entered, the sale price will be used instead of value in the price field when calculating the product’s cost.
The price of the product as seen on the storefront. It will be equal to the
sale_price, if set, and the
price if there is not a
The ID of the tax class applied to the product. (NOTE: Value ignored if automatic tax is enabled.)
Accepts AvaTax System Tax Codes, which identify products and services that fall into special sales-tax categories. By using these codes, merchants who subscribe to BigCommerce’s Avalara Premium integration can calculate sales taxes more accurately. Stores without Avalara Premium will ignore the code when calculating sales tax. Do not pass more than one code. The codes are case-sensitive. For details, please see Avalara’s documentation.
An array of IDs for the categories to which this product belongs. When updating a product, if an array of categories is supplied, all product categories will be overwritten. Does not accept more than 1,000 ID values.
A product can be added to an existing brand during a product /PUT or /POST.
Current inventory level of the product. Simple inventory tracking must be enabled (See the
inventory_tracking field) for this to take any effect.
Inventory warning level for the product. When the product’s inventory level drops below the warning level, the store owner will be informed. Simple inventory tracking must be enabled (see the
inventory_tracking field) for this to take any effect.
The type of inventory tracking for the product. Values are:
none - inventory levels will not be tracked;
product - inventory levels will be tracked using the
variant - inventory levels will be tracked based on variants, which maintain their own warning levels and inventory levels.
A fixed shipping cost for the product. If defined, this value will be used during checkout instead of normal shipping-cost calculation.
Flag used to indicate whether the product has free shipping. If
true, the shipping cost for the product will be zero.
Flag to determine whether the product should be displayed to customers browsing the store. If
true, the product will be displayed. If
false, the product will be hidden from view.
Flag to determine whether the product should be included in the
featured products panel when viewing the store.
An array of IDs for the related products.
Warranty information displayed on the product page. Can include HTML formatting.
The BIN picking number for the product.
The layout template file used to render this product category. This field is writable only for stores with a Blueprint theme applied.
The product UPC code, which is used in feeds for shopping comparison sites and external channel integrations.
A comma-separated list of keywords that can be used to locate the product when searching the store.
Availability of the product. Availability options are:
available - the product can be purchased on the storefront;
disabled - the product is listed in the storefront, but cannot be purchased;
preorder - the product is listed for pre-orders.
Availability text displayed on the checkout page, under the product title. Tells the customer how long it will normally take to ship this product, such as: ‘Usually ships in 24 hours.’
Type of gift-wrapping options. Values:
any - allow any gift-wrapping options in the store;
none - disallow gift-wrapping on the product;
list – provide a list of IDs in the
A list of gift-wrapping option IDs.
Priority to give this product when included in product lists on category pages and in search results. Lower integers will place the product closer to the top of the results.
The product condition. Will be shown on the product page if the
is_condition_shown field’s value is
true. Possible values:
Flag used to determine whether the product condition is shown to the customer on the product page.
The minimum quantity an order must contain, to be eligible to purchase this product.
The maximum quantity an order can contain when purchasing the product.
Custom title for the product page. If not defined, the product name will be used as the meta title.
Custom meta keywords for the product page. If not defined, the store’s default keywords will be used.
Custom meta description for the product page. If not defined, the store’s default meta description will be used.
The number of times the product has been viewed.
Pre-order release date. See the
availability field for details on setting a product’s availability to accept pre-orders.
Custom expected-date message to display on the product page. If undefined, the message defaults to the storewide setting. Can contain the
%%DATE%% placeholder, which will be substituted for the release date.
If set to true then on the preorder release date the preorder status will automatically be removed.
If set to false, then on the release date the preorder status will not be removed. It will need to be changed manually either in the control panel or using the API. Using the API set
False by default, indicating that this product’s price should be shown on the product page. If set to
true, the price is hidden. (NOTE: To successfully set
availability value must be
By default, an empty string. If
true, the value of
price_hidden_label is displayed instead of the price. (NOTE: To successfully set a non-empty string value with
is_price_hidden set to
availability value must be
The custom URL for the product on the storefront.
Product URL on the storefront.
true if the URL has been changed from its default state (the auto-assigned URL that BigCommerce provides).
Type of product, defaults to
Title of the product, if not specified the product name will be used instead.
Description to use for the product, if not specified then the meta_description will be used instead.
Flag to determine if product description or open graph description is used.
Flag to determine if product name or open graph name is used.
Flag to determine if product image or open graph image is used.
The brand can be created during a product /PUT or /POST request. If the brand already exists then the product will be added. If not the brand will be created and the product added. If using
brand_name it performs a fuzzy match and adds the brand. eg. Common Good and Common good are the same. Brand name does not return as part of a product response. Only the
Global Trade Item Number
Manufacturer Part Number