attributes parameter to specify which product fields to include in the response. This lets you optimize response payload size by requesting only the data you need.
Only attributes marked as visible on storefront can be requested in the
attributes parameter or used in filters. Attributes marked as not visible (such as internal calculated fields) will be rejected if included in API requests. See Visible on Storefront for more details.Core product attributes
The following attributes are available for all products and can be requested in theattributes[] parameter:
| Attribute | Description |
|---|---|
id | Unique product identifier (always included) |
title | Product title |
handle | URL-friendly product handle |
body_html | Product description HTML |
vendor | Product vendor/brand |
product_type | Product type classification |
tags | Array of product tags |
images | Array of product images |
available | Product availability status |
created_at | Product creation timestamp |
updated_at | Product last update timestamp |
published_at | Product publication timestamp |
price_range | Product price range object |
options | Available product options (filtered by availability) |
original_options | All product options (unfiltered) |
options_v2 | Enhanced options array with swatch and linked metafield data |
metafields | Product metafields object |
named_tags | Parsed key:value tags object |
calculated | Calculated attributes object |
category | Shopify Product Taxonomy category |
featured_media | Featured product media |
is_gift_card | Gift card indicator |
has_variants_that_require_components | Bundle product indicator |
combined_listing_parent_product_id | Parent product ID for combined listings |
combined_listing_role | Role in combined listing (PARENT/CHILD) |
Special attributes
| Attribute | Description |
|---|---|
first_or_matched_variant | Returns the first available variant or the variant matching applied filters. Must be explicitly requested. |
variants | Returns an array of all product variants ordered by position. Each variant has the same fields as first_or_matched_variant. Must be explicitly requested. |
Example API request
Example response with selected attributes
By default, if no
attributes parameter is provided, all available attributes are included in the response. Specifying attributes helps reduce response payload size and improve performance.