# product Get a single product by ID ## Authentication > **Public Access**: Accessible with the public API key ## Query Structure ```graphql { product(id: ID!) { # Product fields } } ``` ## Arguments | Argument | Type | Required | Description | |----------|------|----------|-------------| | id | ID | Yes | The ID of the product to retrieve | ## Return Type [Product](/reference/storefront/v1/objects/product) - Describes a product with comprehensive details including variants, images, reviews, and related products. ## Example ```graphql { product(id: 12345) { id title handle description shortDescription seoTitle seoDescription seoKeywords isAvailable isDirectlyBuyable rating reviewCount maxRating featuredImage { url alt } variants { id title } images { url alt } tags manufacturer { name } productGroups { id name } } } ``` ## Related Types - [Product](/reference/storefront/v1/objects/product) - [ProductVariant](/reference/storefront/v1/objects/product-variant) - [ProductOption](/reference/storefront/v1/objects/product-option) - [Image](/reference/storefront/v1/objects/image) - [Video](/reference/storefront/v1/objects/video) - [Review](/reference/storefront/v1/objects/review) - [Manufacturer](/reference/storefront/v1/objects/manufacturer) - [Deliverer](/reference/storefront/v1/objects/deliverer) - [ProductGroup](/reference/storefront/v1/objects/product-group) - [CustomField](/reference/storefront/v1/objects/custom-field) - [Attachment](/reference/storefront/v1/objects/attachment) - [ProductTaxonomy](/reference/storefront/v1/objects/product-taxonomy) - [CombinedListing](/reference/storefront/v1/objects/combined-listing)