# ProductVariant - storefront - OBJECT Version: 2025-01 ## Description A product variant represents a different version of a product, such as differing sizes or differing colors. ### Access Scopes `unauthenticated_read_product_listings` access scope. ## Fields * [availableForSale](/docs/api/storefront/2025-01/scalars/Boolean): Boolean! - Indicates if the product variant is available for sale. * [barcode](/docs/api/storefront/2025-01/scalars/String): String - The barcode (for example, ISBN, UPC, or GTIN) associated with the variant. * [compareAtPrice](/docs/api/storefront/2025-01/objects/MoneyV2): MoneyV2 - The compare at price of the variant. This can be used to mark a variant as on sale, when `compareAtPrice` is higher than `price`. * [compareAtPriceV2](/docs/api/storefront/2025-01/objects/MoneyV2): MoneyV2 - The compare at price of the variant. This can be used to mark a variant as on sale, when `compareAtPriceV2` is higher than `priceV2`. * [currentlyNotInStock](/docs/api/storefront/2025-01/scalars/Boolean): Boolean! - Whether a product is out of stock but still available for purchase (used for backorders). * [id](/docs/api/storefront/2025-01/scalars/ID): ID! - A globally-unique ID. * [image](/docs/api/storefront/2025-01/objects/Image): Image - Image associated with the product variant. This field falls back to the product image if no image is available. * [metafield](/docs/api/storefront/2025-01/objects/Metafield): Metafield - A [custom field](https://shopify.dev/docs/apps/build/custom-data), including its `namespace` and `key`, that's associated with a Shopify resource for the purposes of adding and storing additional information. * [metafields](/docs/api/storefront/2025-01/objects/Metafield): Metafield! - A list of [custom fields](/docs/apps/build/custom-data) that a merchant associates with a Shopify resource. * [price](/docs/api/storefront/2025-01/objects/MoneyV2): MoneyV2! - The product variant’s price. * [priceV2](/docs/api/storefront/2025-01/objects/MoneyV2): MoneyV2! - The product variant’s price. * [product](/docs/api/storefront/2025-01/objects/Product): Product! - The product object that the product variant belongs to. * [quantityAvailable](/docs/api/storefront/2025-01/scalars/Int): Int - The total sellable quantity of the variant for online sales channels. * [quantityRule](/docs/api/storefront/2025-01/objects/QuantityRule): QuantityRule! - The quantity rule for the product variant in a given context. * [requiresComponents](/docs/api/storefront/2025-01/scalars/Boolean): Boolean! - Whether a product variant requires components. The default value is `false`. If `true`, then the product variant can only be purchased as a parent bundle with components. * [requiresShipping](/docs/api/storefront/2025-01/scalars/Boolean): Boolean! - Whether a customer needs to provide a shipping address when placing an order for the product variant. * [selectedOptions](/docs/api/storefront/2025-01/objects/SelectedOption): SelectedOption! - List of product options applied to the variant. * [shopPayInstallmentsPricing](/docs/api/storefront/2025-01/objects/ShopPayInstallmentsProductVariantPricing): ShopPayInstallmentsProductVariantPricing - The Shop Pay Installments pricing information for the product variant. * [sku](/docs/api/storefront/2025-01/scalars/String): String - The SKU (stock keeping unit) associated with the variant. * [taxable](/docs/api/storefront/2025-01/scalars/Boolean): Boolean! - Whether tax is charged when the product variant is sold. * [title](/docs/api/storefront/2025-01/scalars/String): String! - The product variant’s title. * [unitPrice](/docs/api/storefront/2025-01/objects/MoneyV2): MoneyV2 - The unit price value for the variant based on the variant's measurement. * [unitPriceMeasurement](/docs/api/storefront/2025-01/objects/UnitPriceMeasurement): UnitPriceMeasurement - The unit price measurement for the variant. * [weight](/docs/api/storefront/2025-01/scalars/Float): Float - The weight of the product variant in the unit system specified with `weight_unit`. * [weightUnit](/docs/api/storefront/2025-01/enums/WeightUnit): WeightUnit! - Unit of measurement for weight. ## Connections * [components](/docs/api/storefront/2025-01/connections/ProductVariantComponentConnection): ProductVariantComponentConnection! * [groupedBy](/docs/api/storefront/2025-01/connections/ProductVariantConnection): ProductVariantConnection! * [quantityPriceBreaks](/docs/api/storefront/2025-01/connections/QuantityPriceBreakConnection): QuantityPriceBreakConnection! * [sellingPlanAllocations](/docs/api/storefront/2025-01/connections/SellingPlanAllocationConnection): SellingPlanAllocationConnection! * [storeAvailability](/docs/api/storefront/2025-01/connections/StoreAvailabilityConnection): StoreAvailabilityConnection! ## Related queries ## Related mutations ## Related Unions * [Merchandise](/docs/api/storefront/2025-01/unions/Merchandise) The merchandise to be purchased at checkout. * [MetafieldParentResource](/docs/api/storefront/2025-01/unions/MetafieldParentResource) A resource that the metafield belongs to. * [MetafieldReference](/docs/api/storefront/2025-01/unions/MetafieldReference) Returns the resource which is being referred to by a metafield. ## Examples