Skip to main content
interface

Represents a resource that can be published to a channel. A publishable resource can be either a Product or Collection.

Anchor to availablePublicationsCountavailablePublicationsCount
Count

The number of publications that a resource is published to, without feedback errors.

Anchor to publishedOnPublicationpublishedOnPublication
Boolean!
non-null

Whether the resource is published to a specified publication.

Arguments

ID!
required

The ID of the publication to check. For example, id: "gid://shopify/Publication/123".


Anchor to resourcePublicationsresourcePublications
ResourcePublicationConnection!
non-null

The list of resources that are published to a publication.

Arguments

String

The elements that come after the specified cursor.

String

The elements that come before the specified cursor.

Int

The first n elements from the paginated list.

Int

The last n elements from the paginated list.

Boolean
Default:true

Whether to return only the resources that are currently published. If false, then also returns the resources that are scheduled to be published.

Boolean
Default:false

Reverse the order of the underlying list.


Anchor to resourcePublicationsCountresourcePublicationsCount
Count

The total number of publications that a resource is published to, including publications with feedback errors. To get a count that excludes publications with feedback errors, use availablePublicationsCount.

Arguments

Boolean
Default:true

Include only the resource's publications that are published. If false, then return all the resource's publications including future publications.


Anchor to resourcePublicationsV2resourcePublicationsV2
ResourcePublicationV2Connection!
non-null

The list of resources that are either published or staged to be published to a publication. By default, only publications to APP catalog types are returned. For Product and ProductVariant, use the catalogType argument to retrieve publications for other catalog types, such as COMPANY_LOCATION (B2B) or MARKET. Collection only supports publications to APP catalog types.

Arguments

String

The elements that come after the specified cursor.

String

The elements that come before the specified cursor.

CatalogType

Filter publications by catalog type. When not specified, defaults to APP. Has no effect on Collection, which only supports APP.

Int

The first n elements from the paginated list.

Int

The last n elements from the paginated list.

Boolean
Default:true

Whether to return only the resources that are currently published. If false, then also returns the resources that are scheduled or staged to be published.

Boolean
Default:false

Reverse the order of the underlying list.


Anchor to unpublishedPublicationsunpublishedPublications
PublicationConnection!
non-null

The list of publications that the resource isn't published to.

Arguments

String

The elements that come after the specified cursor.

String

The elements that come before the specified cursor.

Int

The first n elements from the paginated list.

Int

The last n elements from the paginated list.

Boolean
Default:false

Reverse the order of the underlying list.


Deprecated fields

Int!
non-nullDeprecated

Arguments

Boolean
Default:true

Include only the resource's publications that are published. If false, then return all the resource's publications including future publications.


Boolean!
non-nullDeprecated

Arguments

ID!
required

The ID of the channel to check.


Anchor to publishedOnCurrentChannelpublishedOnCurrentChannel
Boolean!
non-nullDeprecated
Anchor to publishedOnCurrentPublicationpublishedOnCurrentPublication
Boolean!
non-nullDeprecated
ChannelConnection!
non-nullDeprecated

Arguments

String

The elements that come after the specified cursor.

String

The elements that come before the specified cursor.

Int

The first n elements from the paginated list.

Int

The last n elements from the paginated list.

Boolean
Default:false

Reverse the order of the underlying list.



Was this section helpful?

Anchor to Types implemented inTypes implemented in

OBJECT

The Collection object represents a group of products that merchants can organize to make their stores easier to browse and help customers find related products. Collections serve as the primary way to categorize and display products across online stores, sales channels, and marketing campaigns.

The Collection object provides information to:

  • Organize products by category, season, or promotion.
  • Automate product grouping using rules (for example, by tag, type, or price).
  • Configure product sorting and display order (for example, alphabetical, best-selling, price, or manual).
  • Manage collection visibility and publication across sales channels.
  • Add rich descriptions, images, and metadata to enhance discovery.

Note

Collections are unpublished by default. To make them available to customers, use the publishablePublish mutation after creation.


Collections can be displayed in a store with Shopify's theme system through Liquid templates and can be customized with template suffixes for unique layouts. They also support advanced features like translated content, resource feedback, and contextual publication for location-based catalogs.

Learn about using metafields with collection conditions.

CollectionOperations!
non-null

Collection duplicate operations involving this collection, either as a source (copying products from this collection to another) or a target (copying products to this collection from another).

Anchor to availablePublicationsCountavailablePublicationsCount
Count

The number of publications that a resource is published to, without feedback errors.

String!
non-null

A single-line, text-only description of the collection, stripped of any HTML tags and formatting that were included in the description.

Arguments

Int

Truncates a string after the given length.


HTML!
non-null

The description of the collection, including any HTML tags and formatting. This content is typically displayed to customers, such as on an online store, depending on the theme.

EventConnection!
non-null

The paginated list of events associated with the host subject.

Arguments

String

The elements that come after the specified cursor.

String

The elements that come before the specified cursor.

Int

The first n elements from the paginated list.

Int

The last n elements from the paginated list.

String

A filter made up of terms, connectives, modifiers, and comparators. You can apply one or more filters to a query. Learn more about Shopify API search syntax.

string

The action that occured.

Example:

  • action:create
Anchor to comments
boolean

Whether or not to include comment-events in your search, passing false will exclude comment-events, any other value will include comment-events.

Example:

  • false
  • true
Anchor to created_at
time

Filter by the date and time when the event occurred. Event data is retained for 1 year.

Example:

  • created_at:>2025-10-21
  • created_at:<now
id

Filter by id range.

Example:

  • id:1234
  • id:>=1234
  • id:<=1234
Anchor to subject_type
string

The resource type affected by this event. See EventSubjectType for possible values.

Example:

  • PRODUCT_VARIANT
  • PRODUCT
  • COLLECTION
Boolean
Default:false

Reverse the order of the underlying list.

EventSortKeys
Default:ID

Sort the underlying list using a key. If your query is slow or returns an error, then try specifying a sort key that matches the field used in the search.


ResourceFeedback

Information about the collection that's provided through resource feedback.

String!
non-null

A unique string that identifies the collection. If a handle isn't specified when a collection is created, it's automatically generated from the collection's original title, and typically includes words from the title separated by hyphens. For example, a collection that was created with the title Summer Catalog 2022 might have the handle summer-catalog-2022.

If the title is changed, the handle doesn't automatically change.

The handle can be used in themes by the Liquid templating language to refer to the collection, but using the ID is preferred because it never changes.

Boolean!
non-null

Whether the collection includes the specified product.

Arguments

ID!
required

The ID of the product to check.


ID!
non-null

A globally-unique ID.

Image

The image associated with the collection.

Arguments

CropRegion
Deprecated
Int
Deprecated
Int
Deprecated
Int
DeprecatedDefault:1

UnsignedInt64!
non-null

The ID of the corresponding resource in the REST Admin API.

Metafield

A custom field, including its namespace and key, that's associated with a Shopify resource for the purposes of adding and storing additional information.

Arguments

String!
required

The key for the metafield.

String

The container the metafield belongs to. If omitted, the app-reserved namespace will be used.


MetafieldConnection!
non-null

A list of custom fields that a merchant associates with a Shopify resource.

Arguments

String

The elements that come after the specified cursor.

String

The elements that come before the specified cursor.

Int

The first n elements from the paginated list.

[String!]

List of keys of metafields in the format namespace.key, will be returned in the same format.

Int

The last n elements from the paginated list.

String

The metafield namespace to filter by. If omitted, all metafields are returned.

Boolean
Default:false

Reverse the order of the underlying list.


ProductConnection!
non-null

The products that are included in the collection.

Arguments

String

The elements that come after the specified cursor.

String

The elements that come before the specified cursor.

Int

The first n elements from the paginated list.

Int

The last n elements from the paginated list.

Boolean
Default:false

Reverse the order of the underlying list.

ProductCollectionSortKeys
Default:COLLECTION_DEFAULT

Sort the underlying list using a key. If your query is slow or returns an error, then try specifying a sort key that matches the field used in the search.


Count

The number of products in the collection.

Anchor to publishedOnPublicationpublishedOnPublication
Boolean!
non-null

Whether the resource is published to a specified publication.

Arguments

ID!
required

The ID of the publication to check. For example, id: "gid://shopify/Publication/123".


Anchor to resourcePublicationsresourcePublications
ResourcePublicationConnection!
non-null

The list of resources that are published to a publication.

Arguments

String

The elements that come after the specified cursor.

String

The elements that come before the specified cursor.

Int

The first n elements from the paginated list.

Int

The last n elements from the paginated list.

Boolean
Default:true

Whether to return only the resources that are currently published. If false, then also returns the resources that are scheduled to be published.

Boolean
Default:false

Reverse the order of the underlying list.


Anchor to resourcePublicationsCountresourcePublicationsCount
Count

The total number of publications that a resource is published to, including publications with feedback errors. To get a count that excludes publications with feedback errors, use availablePublicationsCount.

Arguments

Boolean
Default:true

Include only the resource's publications that are published. If false, then return all the resource's publications including future publications.


Anchor to resourcePublicationsV2resourcePublicationsV2
ResourcePublicationV2Connection!
non-null

The list of resources that are either published or staged to be published to a publication. By default, only publications to APP catalog types are returned. For Product and ProductVariant, use the catalogType argument to retrieve publications for other catalog types, such as COMPANY_LOCATION (B2B) or MARKET. Collection only supports publications to APP catalog types.

Arguments

String

The elements that come after the specified cursor.

String

The elements that come before the specified cursor.

CatalogType

Filter publications by catalog type. When not specified, defaults to APP. Has no effect on Collection, which only supports APP.

Int

The first n elements from the paginated list.

Int

The last n elements from the paginated list.

Boolean
Default:true

Whether to return only the resources that are currently published. If false, then also returns the resources that are scheduled or staged to be published.

Boolean
Default:false

Reverse the order of the underlying list.


CollectionRuleSet

Specifies the rules that determine whether a product is included.

SEO!
non-null

If the default SEO fields for page title and description have been modified, contains the modified information.

CollectionSortOrder!
non-null

The order in which the products in the collection are displayed by default in the Shopify admin and in sales channels, such as an online store.

String

The suffix of the Liquid template being used to show the collection in an online store. For example, if the value is custom, then the collection is using the collection.custom.liquid template. If the value is null, then the collection is using the default collection.liquid template.

String!
non-null

The name of the collection. It's displayed in the Shopify admin and is typically displayed in sales channels, such as an online store.

[Translation!]!
non-null

The published translations associated with the resource.

Arguments

String!
required

Filters translations locale.

ID

Filters translations by market ID. Use this argument to retrieve content specific to a market.


Anchor to unpublishedPublicationsunpublishedPublications
PublicationConnection!
non-null

The list of publications that the resource isn't published to.

Arguments

String

The elements that come after the specified cursor.

String

The elements that come before the specified cursor.

Int

The first n elements from the paginated list.

Int

The last n elements from the paginated list.

Boolean
Default:false

Reverse the order of the underlying list.


DateTime!
non-null

The date and time (ISO 8601 format) when the collection was last modified.

Anchor to metafieldDefinitionsmetafieldDefinitions
MetafieldDefinitionConnection!
non-nullDeprecated

Arguments

String

The elements that come after the specified cursor.

String

The elements that come before the specified cursor.

Int

The first n elements from the paginated list.

Int

The last n elements from the paginated list.

String

Filter metafield definitions by namespace.

MetafieldDefinitionPinnedStatus
Default:ANY

Filter by the definition's pinned status.

String

A filter made up of terms, connectives, modifiers, and comparators. You can apply one or more filters to a query. Learn more about Shopify API search syntax.

Anchor to default
string

Filter by a case-insensitive search of multiple fields in a document.

Example:

  • query=Bob Norman
  • query=title:green hoodie
Anchor to created_at
time

Filter by the date and time when the metafield definition was created.

Example:

  • created_at:>2020-10-21T23:39:20Z
  • created_at:<now
  • created_at:<=2024
id

Filter by id range.

Example:

  • id:1234
  • id:>=1234
  • id:<=1234
string

Filter by the metafield definition key field.

Example:

  • key:some-key
Anchor to namespace
string

Filter by the metafield definition namespace field.

Example:

  • namespace:some-namespace
Anchor to owner_type
string

Filter by the metafield definition ownerType field.

Example:

  • owner_type:PRODUCT
string

Filter by the metafield definition type field.

Example:

  • type:single_line_text_field
Anchor to updated_at
time

Filter by the date and time when the metafield definition was last updated.

Example:

  • updated_at:>2020-10-21T23:39:20Z
  • updated_at:<now
  • updated_at:<=2024
Boolean
Default:false

Reverse the order of the underlying list.

MetafieldDefinitionSortKeys
Default:ID

Sort the underlying list using a key. If your query is slow or returns an error, then try specifying a sort key that matches the field used in the search.


Int!
non-nullDeprecated

Arguments

Boolean
Default:true

Include only the resource's publications that are published. If false, then return all the resource's publications including future publications.


CollectionPublicationConnection!
non-nullDeprecated

Arguments

String

The elements that come after the specified cursor.

String

The elements that come before the specified cursor.

Int

The first n elements from the paginated list.

Int

The last n elements from the paginated list.

Boolean
Default:true

Whether or not to return only the collection publications that are published.

Boolean
Default:false

Reverse the order of the underlying list.


Boolean!
non-nullDeprecated

Arguments

ID!
required

The ID of the channel to check.


Anchor to publishedOnCurrentChannelpublishedOnCurrentChannel
Boolean!
non-nullDeprecated
Anchor to publishedOnCurrentPublicationpublishedOnCurrentPublication
Boolean!
non-nullDeprecated
StorefrontID!
non-nullDeprecated
ChannelConnection!
non-nullDeprecated

Arguments

String

The elements that come after the specified cursor.

String

The elements that come before the specified cursor.

Int

The first n elements from the paginated list.

Int

The last n elements from the paginated list.

Boolean
Default:false

Reverse the order of the underlying list.


OBJECT

The Product object lets you manage products in a merchant’s store.

Products are the goods and services that merchants offer to customers. They can include various details such as title, description, price, images, and options such as size or color. You can use product variants to create or update different versions of the same product. You can also add or update product media. Products can be organized by grouping them into a collection.

Learn more about working with Shopify's product model, including limitations and considerations.

Anchor to availablePublicationsCountavailablePublicationsCount
Count

The number of publications that a resource is published to, without feedback errors.

ProductBundleComponentConnection!
non-null

A list of components that are associated with a product in a bundle.

Arguments

String

The elements that come after the specified cursor.

String

The elements that come before the specified cursor.

Int

The first n elements from the paginated list.

Int

The last n elements from the paginated list.

Boolean
Default:false

Reverse the order of the underlying list.


Anchor to bundleConsolidatedOptionsbundleConsolidatedOptions
[ComponentizedProductsBundleConsolidatedOption!]

A list of consolidated options for a product in a bundle.

TaxonomyCategory

The category of a product from Shopify's Standard Product Taxonomy.

CollectionConnection!
non-null

A list of collections that include the product.

Arguments

String

The elements that come after the specified cursor.

String

The elements that come before the specified cursor.

Int

The first n elements from the paginated list.

Int

The last n elements from the paginated list.

String

A filter made up of terms, connectives, modifiers, and comparators. You can apply one or more filters to a query. Learn more about Shopify API search syntax.

Anchor to default
string

Filter by a case-insensitive search of multiple fields in a document.

Example:

  • query=Bob Norman
  • query=title:green hoodie
Anchor to collection_type
string

Valid values:

  • custom
  • smart
string
id

Filter by id range.

Example:

  • id:1234
  • id:>=1234
  • id:<=1234
Anchor to product_id
id

Filter by collections containing a product by its ID.

Anchor to product_publication_status
string

Filter by channel approval process status of the resource on a channel, such as the online store. The value is a composite of the channel app ID (Channel.app.id) and one of the valid values. For simple visibility checks, use published_status instead.

Valid values:

  • * {channel_app_id}-approved
  • * {channel_app_id}-rejected
  • * {channel_app_id}-needs_action
  • * {channel_app_id}-awaiting_review
  • * {channel_app_id}-published
  • * {channel_app_id}-demoted
  • * {channel_app_id}-scheduled
  • * {channel_app_id}-provisionally_published

Example:

  • product_publication_status:189769876-approved
Anchor to publishable_status
string

Deprecated: This parameter is deprecated as of 2025-12 and will be removed in a future API version. Use published_status for visibility checks. Filter by the publishable status of the resource on a channel. The value is a composite of the channel app ID (Channel.app.id) and one of the valid status values.

Valid values:

  • * {channel_app_id}-unset
  • * {channel_app_id}-pending
  • * {channel_app_id}-approved
  • * {channel_app_id}-not_approved

Example:

  • publishable_status:580111-unset
  • publishable_status:580111-pending
Anchor to published_at
time

Filter by the date and time when the collection was published to the Online Store.

Anchor to published_status
string

Filter resources by their visibility and publication state on a channel. Online store channel filtering: - online_store_channel: Returns all resources in the online store channel, regardless of publication status. - published/visible: Returns resources that are published to the online store. - unpublished: Returns resources that are not published to the online store. Channel-specific filtering using a channel ID, channel handle, channel app ID (Channel.app.id), or app handle with suffixes: - {id_or_handle}-published: Returns resources published to the specified channel. - {id_or_handle}-visible: Same as {id_or_handle}-published (kept for backwards compatibility). - {id_or_handle}-intended: Returns resources added to the channel but not yet published. - {id_or_handle}-hidden: Returns resources not added to the channel or not published. Other: - unavailable: Returns resources not published to any channel.

Valid values:

  • online_store_channel
  • published
  • visible
  • unpublished
  • * {channel_id_or_handle}-published
  • * {channel_id_or_handle}-visible
  • * {channel_id_or_handle}-intended
  • * {channel_id_or_handle}-hidden
  • * {channel_app_id_or_handle}-published
  • * {channel_app_id_or_handle}-visible
  • * {channel_app_id_or_handle}-intended
  • * {channel_app_id_or_handle}-hidden
  • unavailable

Example:

  • published_status:online_store_channel
  • published_status:published
  • published_status:580111-published
  • published_status:580111-hidden
  • published_status:my-channel-handle-published
  • published_status:unavailable
string
Anchor to updated_at
time
Boolean
Default:false

Reverse the order of the underlying list.

CollectionSortKeys
Default:ID

Sort the underlying list using a key. If your query is slow or returns an error, then try specifying a sort key that matches the field used in the search.


CombinedListing

A special product type that combines separate products from a store into a single product listing. Combined listings are connected by a shared option, such as color, model, or dimension.

CombinedListingsRole

The role of the product in a combined listing.

If null, then the product isn't part of any combined listing.

ProductCompareAtPriceRange

The compare-at price range of the product in the shop's default currency.

ProductContextualPricing!
non-null

The pricing that applies to a customer in a specific context. For example, a price might vary depending on the customer's location. Only active markets are considered in the price resolution.

Arguments

ContextualPricingContext!
required

The context used to generate contextual pricing for the variant.


DateTime!
non-null

The date and time when the product was created.

String!
non-null

A default cursor that returns the single next record, sorted ascending by ID.

String!
non-null

A single-line description of the product, with HTML tags removed.

Arguments

Int

Truncates a string after the given length.


HTML!
non-null

The description of the product, with HTML tags. For example, the description might include bold <strong></strong> and italic <i></i> text.

EventConnection!
non-null

The paginated list of events associated with the host subject.

Arguments

String

The elements that come after the specified cursor.

String

The elements that come before the specified cursor.

Int

The first n elements from the paginated list.

Int

The last n elements from the paginated list.

String

A filter made up of terms, connectives, modifiers, and comparators. You can apply one or more filters to a query. Learn more about Shopify API search syntax.

string

The action that occured.

Example:

  • action:create
Anchor to comments
boolean

Whether or not to include comment-events in your search, passing false will exclude comment-events, any other value will include comment-events.

Example:

  • false
  • true
Anchor to created_at
time

Filter by the date and time when the event occurred. Event data is retained for 1 year.

Example:

  • created_at:>2025-10-21
  • created_at:<now
id

Filter by id range.

Example:

  • id:1234
  • id:>=1234
  • id:<=1234
Anchor to subject_type
string

The resource type affected by this event. See EventSubjectType for possible values.

Example:

  • PRODUCT_VARIANT
  • PRODUCT
  • COLLECTION
Boolean
Default:false

Reverse the order of the underlying list.

EventSortKeys
Default:ID

Sort the underlying list using a key. If your query is slow or returns an error, then try specifying a sort key that matches the field used in the search.


Media

The featured media associated with the product.

ResourceFeedback

The information that lets merchants know what steps they need to take to make sure that the app is set up correctly.

For example, if a merchant hasn't set up a product correctly in the app, then the feedback might include a message that says "You need to add a price to this product".

Anchor to giftCardTemplateSuffixgiftCardTemplateSuffix
String

The theme template that's used when customers view the gift card in a store.

String!
non-null

A unique, human-readable string of the product's title. A handle can contain letters, hyphens (-), and numbers, but no spaces. The handle is used in the online store URL for the product.

Anchor to hasOnlyDefaultVarianthasOnlyDefaultVariant
Boolean!
non-null

Whether the product has only a single variant with the default option and value.

Anchor to hasOutOfStockVariantshasOutOfStockVariants
Boolean!
non-null

Whether the product has variants that are out of stock.

Anchor to hasVariantsThatRequiresComponentshasVariantsThatRequiresComponents
Boolean!
non-null

Whether at least one of the product variants requires bundle components.

Learn more about store eligibility for bundles.

ID!
non-null

A globally-unique ID.

Boolean!
non-null

Whether the product is in a specified collection.

Arguments

ID!
required

The ID of the collection to check. For example, id: "gid://shopify/Collection/123".


Boolean!
non-null

Whether the product is a gift card.

UnsignedInt64!
non-null

The ID of the corresponding resource in the REST Admin API.

MediaConnection!
non-null

The media associated with the product. Valid media are images, 3D models, videos.

Arguments

String

The elements that come after the specified cursor.

String

The elements that come before the specified cursor.

Int

The first n elements from the paginated list.

Int

The last n elements from the paginated list.

String

A filter made up of terms, connectives, modifiers, and comparators. You can apply one or more filters to a query. Learn more about Shopify API search syntax.

id

Filter by id range.

Example:

  • id:1234
  • id:>=1234
  • id:<=1234
Anchor to media_type
string

Valid values:

  • IMAGE
  • VIDEO
  • MODEL_3D
  • EXTERNAL_VIDEO
Boolean
Default:false

Reverse the order of the underlying list.

ProductMediaSortKeys
Default:POSITION

Sort the underlying list using a key. If your query is slow or returns an error, then try specifying a sort key that matches the field used in the search.


Count

The total count of media that's associated with a product.

Metafield

A custom field, including its namespace and key, that's associated with a Shopify resource for the purposes of adding and storing additional information.

Arguments

String!
required

The key for the metafield.

String

The container the metafield belongs to. If omitted, the app-reserved namespace will be used.


MetafieldConnection!
non-null

A list of custom fields that a merchant associates with a Shopify resource.

Arguments

String

The elements that come after the specified cursor.

String

The elements that come before the specified cursor.

Int

The first n elements from the paginated list.

[String!]

List of keys of metafields in the format namespace.key, will be returned in the same format.

Int

The last n elements from the paginated list.

String

The metafield namespace to filter by. If omitted, all metafields are returned.

Boolean
Default:false

Reverse the order of the underlying list.


Anchor to onlineStorePreviewUrlonlineStorePreviewUrl
URL

The preview URL for the online store.

URL

The product's URL on the online store. If null, then the product isn't published to the online store sales channel.

[ProductOption!]!
non-null

A list of product options. The limit is defined by the shop's resource limits for product options (Shop.resourceLimits.maxProductOptions).

Arguments

Int

Truncate the array result to this size.


ProductPriceRangeV2!
non-null

The minimum and maximum prices of a product, expressed in decimal numbers. For example, if the product is priced between $10.00 and $50.00, then the price range is $10.00 - $50.00.

ProductComponentTypeConnection!
non-null

A list of products that contain at least one variant associated with at least one of the current products' variants via group relationship.

Arguments

String

The elements that come after the specified cursor.

String

The elements that come before the specified cursor.

Int

The first n elements from the paginated list.

Int

The last n elements from the paginated list.

Boolean
Default:false

Reverse the order of the underlying list.


Anchor to productComponentsCountproductComponentsCount
Count

A count of unique products that contain at least one variant associated with at least one of the current products' variants via group relationship.

ProductConnection!
non-null

A list of products that has a variant that contains any of this product's variants as a component.

Arguments

String

The elements that come after the specified cursor.

String

The elements that come before the specified cursor.

Int

The first n elements from the paginated list.

Int

The last n elements from the paginated list.

String

A filter made up of terms, connectives, modifiers, and comparators. You can apply one or more filters to a query. Learn more about Shopify API search syntax.

Anchor to default
string

Filter by a case-insensitive search of multiple fields in a document.

Example:

  • query=Bob Norman
  • query=title:green hoodie
Anchor to barcode
string

Filter by the product variant barcode field.

Example:

  • barcode:ABC-abc-1234
Anchor to bundles
boolean

Filter by a product bundle. A product bundle is a set of two or more related products, which are commonly offered at a discount.

Example:

  • bundles:true
Anchor to category_id
string

Filter by the product category ID (product.category.id). A product category is the category of a product from Shopify's Standard Product Taxonomy.

  • category_id:sg-4-17-2-17
Anchor to collection_id
id

Filter by the collection id field.

Example:

  • collection_id:108179161409
Anchor to combined_listing_role
string

Filter by the role of the product in a combined listing.

Anchor to - `parent`<br/> - `child`<br/> - `no_role`
  • combined_listing_role:parent
Anchor to created_at
time

Filter by the date and time when the product was created.

Example:

  • created_at:>'2020-10-21T23:39:20Z'
  • created_at:<now
  • created_at:<='2024'
Anchor to delivery_profile_id
id

Filter by the delivery profile id field.

Example:

  • delivery_profile_id:108179161409
Anchor to error_feedback
string

Filter by products with publishing errors.

Anchor to gift_card
boolean

Filter by the product isGiftCard field.

Example:

  • gift_card:true
string

Filter by a comma-separated list of product handles.

  • handle:the-minimal-snowboard
Anchor to has_only_composites
boolean

Filter by products that have only composite variants.

Example:

  • has_only_composites:true
Anchor to has_only_default_variant
boolean

Filter by products that have only a default variant. A default variant is the only variant if no other variants are specified.

Example:

  • has_only_default_variant:true
Anchor to has_variant_with_components
boolean

Filter by products that have variants with associated components.

Example:

  • has_variant_with_components:true
id

Filter by id range.

Example:

  • id:1234
  • id:>=1234
  • id:<=1234
Anchor to inventory_total
integer

Filter by inventory count.

Example:

  • inventory_total:0
  • inventory_total:>150
  • inventory_total:>=200
Anchor to is_price_reduced
boolean

Filter by products that have a reduced price. For more information, refer to the CollectionRule object.

Example:

  • is_price_reduced:true
Anchor to metafields.{namespace}.{key}
mixed

Filters resources by metafield value. Format: metafields.{namespace}.{key}:{value}. Learn more about querying by metafield value.

  • metafields.custom.on_sale:true
    - metafields.product.material:"gid://shopify/Metaobject/43458085"
Anchor to out_of_stock_somewhere
boolean

Filter by products that are out of stock in at least one location.

Example:

  • out_of_stock_somewhere:true
bigdecimal

Filter by the product variant price field.

Example:

  • price:100.57
Anchor to product_configuration_owner
string

Filter by the app id field.

Example:

  • product_configuration_owner:10001
Anchor to product_publication_status
string

Filter by channel approval process status of the resource on a channel, such as the online store. The value is a composite of the channel app ID (Channel.app.id) and one of the valid values. For simple visibility checks, use published_status instead.

Valid values:

  • * {channel_app_id}-approved
  • * {channel_app_id}-rejected
  • * {channel_app_id}-needs_action
  • * {channel_app_id}-awaiting_review
  • * {channel_app_id}-published
  • * {channel_app_id}-demoted
  • * {channel_app_id}-scheduled
  • * {channel_app_id}-provisionally_published

Example:

  • product_publication_status:189769876-approved
Anchor to product_type
string

Filter by a comma-separated list of product types.

Example:

  • product_type:snowboard
Anchor to publication_ids
string

Filter by a comma-separated list of publication IDs that are associated with the product.

Example:

  • publication_ids:184111530305,184111694145
Anchor to publishable_status
string

Deprecated: This parameter is deprecated as of 2025-12 and will be removed in a future API version. Use published_status for visibility checks. Filter by the publishable status of the resource on a channel. The value is a composite of the channel app ID (Channel.app.id) and one of the valid status values.

Valid values:

  • * {channel_app_id}-unset
  • * {channel_app_id}-pending
  • * {channel_app_id}-approved
  • * {channel_app_id}-not_approved

Example:

  • publishable_status:580111-unset
  • publishable_status:580111-pending
Anchor to published_at
time

Filter by the date and time when the product was published to the online store and other sales channels.

Example:

  • published_at:>2020-10-21T23:39:20Z
  • published_at:<now
  • published_at:<=2024
Anchor to published_status
string

Filter resources by their visibility and publication state on a channel. Online store channel filtering: - online_store_channel: Returns all resources in the online store channel, regardless of publication status. - published/visible: Returns resources that are published to the online store. - unpublished: Returns resources that are not published to the online store. Channel-specific filtering using a channel ID, channel handle, channel app ID (Channel.app.id), or app handle with suffixes: - {id_or_handle}-published: Returns resources published to the specified channel. - {id_or_handle}-visible: Same as {id_or_handle}-published (kept for backwards compatibility). - {id_or_handle}-intended: Returns resources added to the channel but not yet published. - {id_or_handle}-hidden: Returns resources not added to the channel or not published. Other: - unavailable: Returns resources not published to any channel.

Valid values:

  • online_store_channel
  • published
  • visible
  • unpublished
  • * {channel_id_or_handle}-published
  • * {channel_id_or_handle}-visible
  • * {channel_id_or_handle}-intended
  • * {channel_id_or_handle}-hidden
  • * {channel_app_id_or_handle}-published
  • * {channel_app_id_or_handle}-visible
  • * {channel_app_id_or_handle}-intended
  • * {channel_app_id_or_handle}-hidden
  • unavailable

Example:

  • published_status:online_store_channel
  • published_status:published
  • published_status:580111-published
  • published_status:580111-hidden
  • published_status:my-channel-handle-published
  • published_status:unavailable
string

Filter by the product variant sku field. Learn more about SKUs.

Example:

  • sku:XYZ-12345
string

Filter by a comma-separated list of statuses. You can use statuses to manage inventory. Shopify only displays products with an ACTIVE status in online stores, sales channels, and apps.

Valid values:

  • active Default
  • archived
  • draft
  • unlisted

Example:

  • status:active,draft
string

Filter objects by the tag field.

Example:

  • tag:my_tag
Anchor to tag_not
string

Filter by objects that don’t have the specified tag.

Example:

  • tag_not:my_tag
string

Filter by the product title field.

Example:

  • title:The Minimal Snowboard
Anchor to updated_at
time

Filter by the date and time when the product was last updated.

Example:

  • updated_at:>'2020-10-21T23:39:20Z'
  • updated_at:<now
  • updated_at:<='2024'
Anchor to variant_id
id

Filter by the product variant id field.

Example:

  • variant_id:45779434701121
Anchor to variant_title
string

Filter by the product variant title field.

Example:

  • variant_title:'Special ski wax'
string

Filter by the origin or source of the product. Learn more about vendors and managing vendor information.

  • vendor:Snowdevil
    - vendor:Snowdevil OR vendor:Icedevil
Boolean
Default:false

Reverse the order of the underlying list.


String!
non-null

The product type that merchants define.

DateTime

The date and time when the product was published to the online store.

Boolean!
non-null

Whether the product is published for a customer only in a specified context. For example, a product might be published for a customer only in a specific location.

Arguments

ContextualPublicationContext!
required

The context used to determine publication status.


Anchor to publishedOnPublicationpublishedOnPublication
Boolean!
non-null

Whether the resource is published to a specified publication.

Arguments

ID!
required

The ID of the publication to check. For example, id: "gid://shopify/Publication/123".


Boolean!
non-null

Whether the product can only be purchased with a selling plan. Products that are sold on subscription (requiresSellingPlan: true) can be updated only for online stores. If you update a product to be subscription-only (requiresSellingPlan:false), then the product is unpublished from all channels, except the online store.

Anchor to resourcePublicationsresourcePublications
ResourcePublicationConnection!
non-null

The list of resources that are published to a publication.

Arguments

String

The elements that come after the specified cursor.

String

The elements that come before the specified cursor.

Int

The first n elements from the paginated list.

Int

The last n elements from the paginated list.

Boolean
Default:true

Whether to return only the resources that are currently published. If false, then also returns the resources that are scheduled to be published.

Boolean
Default:false

Reverse the order of the underlying list.


Anchor to resourcePublicationsCountresourcePublicationsCount
Count

The total number of publications that a resource is published to, including publications with feedback errors. To get a count that excludes publications with feedback errors, use availablePublicationsCount.

Arguments

Boolean
Default:true

Include only the resource's publications that are published. If false, then return all the resource's publications including future publications.


Anchor to resourcePublicationsV2resourcePublicationsV2
ResourcePublicationV2Connection!
non-null

The list of resources that are either published or staged to be published to a publication. By default, only publications to APP catalog types are returned. For Product and ProductVariant, use the catalogType argument to retrieve publications for other catalog types, such as COMPANY_LOCATION (B2B) or MARKET. Collection only supports publications to APP catalog types.

Arguments

String

The elements that come after the specified cursor.

String

The elements that come before the specified cursor.

CatalogType

Filter publications by catalog type. When not specified, defaults to APP. Has no effect on Collection, which only supports APP.

Int

The first n elements from the paginated list.

Int

The last n elements from the paginated list.

Boolean
Default:true

Whether to return only the resources that are currently published. If false, then also returns the resources that are scheduled or staged to be published.

Boolean
Default:false

Reverse the order of the underlying list.


Anchor to restrictedForResourcerestrictedForResource
RestrictedForResource

Whether the merchant can make changes to the product when they edit the order associated with the product. For example, a merchant might be restricted from changing product details when they edit an order.

Arguments

ID!
required

The resource Id of the order with edits applied but not saved.


SellingPlanGroupConnection!
non-null

A list of all selling plan groups that are associated with the product either directly, or through the product's variants.

Arguments

String

The elements that come after the specified cursor.

String

The elements that come before the specified cursor.

Int

The first n elements from the paginated list.

Int

The last n elements from the paginated list.

Boolean
Default:false

Reverse the order of the underlying list.


Anchor to sellingPlanGroupsCountsellingPlanGroupsCount
Count

A count of selling plan groups that are associated with the product.

SEO!
non-null

The SEO title and description that are associated with a product.

ProductStatus!
non-null

The product status, which controls visibility across all sales channels.

[String!]!
non-null

A comma-separated list of searchable keywords that are associated with the product. For example, a merchant might apply the sports and summer tags to products that are associated with sportwear for summer.

Updating tags overwrites any existing tags that were previously added to the product. To add new tags without overwriting existing tags, use the tagsAdd mutation.

String

The theme template that's used when customers view the product in a store.

String!
non-null

The name for the product that displays to customers. The title is used to construct the product's handle. For example, if a product is titled "Black Sunglasses", then the handle is black-sunglasses.

Int!
non-null

The quantity of inventory that's in stock.

Boolean!
non-null

Whether inventory tracking has been enabled for the product.

[Translation!]!
non-null

The published translations associated with the resource.

Arguments

String!
required

Filters translations locale.

ID

Filters translations by market ID. Use this argument to retrieve content specific to a market.


Anchor to unpublishedPublicationsunpublishedPublications
PublicationConnection!
non-null

The list of publications that the resource isn't published to.

Arguments

String

The elements that come after the specified cursor.

String

The elements that come before the specified cursor.

Int

The first n elements from the paginated list.

Int

The last n elements from the paginated list.

Boolean
Default:false

Reverse the order of the underlying list.


DateTime!
non-null

The date and time when the product was last modified. A product's updatedAt value can change for different reasons. For example, if an order is placed for a product that has inventory tracking set up, then the inventory adjustment is counted as an update.

ProductVariantConnection!
non-null

A list of variants associated with the product. If querying a single product at the root, you can fetch up to 2048 variants.

Arguments

String

The elements that come after the specified cursor.

String

The elements that come before the specified cursor.

Int

The first n elements from the paginated list.

Int

The last n elements from the paginated list.

Boolean
Default:false

Reverse the order of the underlying list.

ProductVariantSortKeys
Default:POSITION

Sort the underlying list using a key. If your query is slow or returns an error, then try specifying a sort key that matches the field used in the search.


Count

The number of variants that are associated with the product.

String!
non-null

The name of the product's vendor.

String
Deprecated
String
Deprecated
Anchor to descriptionPlainSummarydescriptionPlainSummary
String!
non-nullDeprecated
Image
Deprecated
ImageConnection!
non-nullDeprecated

Arguments

String

The elements that come after the specified cursor.

String

The elements that come before the specified cursor.

CropRegion
Deprecated
Int

The first n elements from the paginated list.

Int

The last n elements from the paginated list.

Int
Deprecated
Int
Deprecated
Boolean
Default:false

Reverse the order of the underlying list.

Int
DeprecatedDefault:1
ProductImageSortKeys
Default:POSITION

Sort the underlying list using a key. If your query is slow or returns an error, then try specifying a sort key that matches the field used in the search.


Anchor to metafieldDefinitionsmetafieldDefinitions
MetafieldDefinitionConnection!
non-nullDeprecated

Arguments

String

The elements that come after the specified cursor.

String

The elements that come before the specified cursor.

Int

The first n elements from the paginated list.

Int

The last n elements from the paginated list.

String

Filter metafield definitions by namespace.

MetafieldDefinitionPinnedStatus
Default:ANY

Filter by the definition's pinned status.

String

A filter made up of terms, connectives, modifiers, and comparators. You can apply one or more filters to a query. Learn more about Shopify API search syntax.

Anchor to default
string

Filter by a case-insensitive search of multiple fields in a document.

Example:

  • query=Bob Norman
  • query=title:green hoodie
Anchor to created_at
time

Filter by the date and time when the metafield definition was created.

Example:

  • created_at:>2020-10-21T23:39:20Z
  • created_at:<now
  • created_at:<=2024
id

Filter by id range.

Example:

  • id:1234
  • id:>=1234
  • id:<=1234
string

Filter by the metafield definition key field.

Example:

  • key:some-key
Anchor to namespace
string

Filter by the metafield definition namespace field.

Example:

  • namespace:some-namespace
Anchor to owner_type
string

Filter by the metafield definition ownerType field.

Example:

  • owner_type:PRODUCT
string

Filter by the metafield definition type field.

Example:

  • type:single_line_text_field
Anchor to updated_at
time

Filter by the date and time when the metafield definition was last updated.

Example:

  • updated_at:>2020-10-21T23:39:20Z
  • updated_at:<now
  • updated_at:<=2024
Boolean
Default:false

Reverse the order of the underlying list.

MetafieldDefinitionSortKeys
Default:ID

Sort the underlying list using a key. If your query is slow or returns an error, then try specifying a sort key that matches the field used in the search.


ProductPriceRange!
non-nullDeprecated
ProductCategory
Deprecated
ProductPublicationConnection!
non-nullDeprecated

Arguments

String

The elements that come after the specified cursor.

String

The elements that come before the specified cursor.

Int

The first n elements from the paginated list.

Int

The last n elements from the paginated list.

Boolean
Default:false

Reverse the order of the underlying list.


Int!
non-nullDeprecated

Arguments

Boolean
Default:true

Include only the resource's publications that are published. If false, then return all the resource's publications including future publications.


ProductPublicationConnection!
non-nullDeprecated

Arguments

String

The elements that come after the specified cursor.

String

The elements that come before the specified cursor.

Int

The first n elements from the paginated list.

Int

The last n elements from the paginated list.

Boolean
Default:true

Return only the publications that are published. If false, then return all publications.

Boolean
Default:false

Reverse the order of the underlying list.


Boolean!
non-nullDeprecated

Arguments

ID!
required

The ID of the channel to check.


Anchor to publishedOnCurrentChannelpublishedOnCurrentChannel
Boolean!
non-nullDeprecated
Anchor to publishedOnCurrentPublicationpublishedOnCurrentPublication
Boolean!
non-nullDeprecated
Anchor to resourcePublicationOnCurrentPublicationresourcePublicationOnCurrentPublication
ResourcePublicationV2
Deprecated
Anchor to sellingPlanGroupCountsellingPlanGroupCount
Int!
non-nullDeprecated
Anchor to standardizedProductTypestandardizedProductType
StandardizedProductType
Deprecated
StorefrontID!
non-nullDeprecated
Int!
non-nullDeprecated
ChannelConnection!
non-nullDeprecated

Arguments

String

The elements that come after the specified cursor.

String

The elements that come before the specified cursor.

Int

The first n elements from the paginated list.

Int

The last n elements from the paginated list.

Boolean
Default:false

Reverse the order of the underlying list.



Was this section helpful?