The Products API allows you to create and manage a store's products, including their variants, pricing, media, and metadata.
With the Products API you can:
It's important to note the following points before starting to code:
Every product has at least one variant, which is a specific purchasable version of the product. Products with options, such as different colors or sizes, can have multiple variants. For example, a shirt product with color and size options might have a large red variant, and a small blue variant.
Variant-level data includes pricing (actualPrice, compareAtPrice), SKU, barcode, weight, and inventory status. For digital products, each variant can have its own digital file.
The Create Product method doesn't automatically create inventory items. To create a product with inventory in a single call, use Create Product With Inventory. Otherwise, create inventory items separately using the Inventory Items API.
The product's read-only inventory field reflects the aggregated inventory status from the default location only. For multi-location inventory or detailed control over stock tracking and preorder settings, use the Inventory Items API.
Learn more about inventory management in Catalog V3.
Options are product customizations that create variants. For example, a "Size" option with choices "Small", "Medium", and "Large" creates three variants. Options are managed through the options field and each variant must have exactly one choice for each option. Products without options have a single "default variant" with an empty choices array. Products with options have one variant for each combination of option choices.
Modifiers are customizations that collect additional information without creating variants. For example, a "Gift Message" modifier allows customers to enter custom text. Modifiers are managed through the modifiers field.
When you create a product with inline options or modifiers (without referencing existing customization IDs), new standalone Customization entities are automatically created. These can be reused across other products.
Note: In the Products API, the term "options" refers to product options (like Size or Color), not optional parameters.
Products have several pricing-related fields:
actualPrice: The current selling price of a variant.compareAtPrice: The original price before any discount, shown with a strikethrough in the UI of Wix sites. Only set this if a discount applies.cost: The merchant's cost to acquire or produce the item (not visible to customers).actualPriceRange / compareAtPriceRange: Read-only fields showing the minimum and maximum prices across all variants.Products have both a handle and a slug field:
Product media is managed through the media field. The media.main field is read-only and automatically set to the first item in the media.itemsInfo.items array. Option choices can have linkedMedia to display specific images when customers select different options.
Learn more about product media.
Subscription discounts are defined at the product level through subscriptionDetails, but they apply to each variant's actualPrice. This means the final subscription price varies per variant based on the variant's base price.
Use Query Products for simple filtering operations. Use Search Products for complex queries that include free-text search. When using free-text search, you must specify which fields to search.
Learn more about the differences between Query and Search methods.
For a comprehensive glossary of Catalog V3 terms, see Terminology.