Skip to main content
query

Retrieves a list of collections in a store. Collections are groups of products that merchants can organize for display in their online store and other sales channels. For example, an athletics store might create different collections for running attire, shoes, and accessories.

Use the collections query when you need to:

  • Build a browsing interface for a store's product groupings.
  • Create collection searching, sorting, and filtering experiences (for example, by title, type, or published status).
  • Sync collection data with external systems.
  • Manage both custom (manual) and smart (automated) collections.

The collections query supports pagination for large catalogs and saved searches for frequently used collection queries.

The collections query returns collections with their associated metadata, including:

  • Basic collection information (title, description, handle, and type)
  • Collection image and SEO metadata
  • Product count and product relationships
  • Collection rules (for smart collections)
  • Publishing status and publication details
  • Metafields and custom attributes

Learn more about using metafields with smart collections.

Anchor to Arguments

CollectionConnection arguments

CollectionConnection!
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 the publication 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.

Valid values:

  • approved
  • rejected
  • needs_action
  • awaiting_review
  • published
  • demoted
  • scheduled
  • provisionally_published

Example:

  • publication_status:189769876-approved
Anchor to publishable_status
string

Filter by the publishable status of the resource on a channel, such as the online store. The value is a composite of either the channel app ID (Channel.app.id) or channel name and one of the valid values.

Valid values:

  • online_store_channel
  • published
  • unpublished
  • visible
  • unavailable
  • hidden
  • intended
  • visible

Example:

  • publishable_status:published
  • publishable_status:189769876-visible
  • publishable_status:pos-hidden
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 by the published status of the resource on a channel, such as the online store.

Valid values:

  • unset
  • pending
  • approved
  • not approved

Example:

  • published_status:approved
string
Anchor to updated_at
time
Boolean
Default:false

Reverse the order of the underlying list.

ID

The ID of a saved search. The search’s query string is used as the query argument.

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.


Was this section helpful?

[CollectionEdge!]!
non-null

The connection between the node and its parent. Each edge contains a minimum of the edge's cursor and the node.

[Collection!]!
non-null

A list of nodes that are contained in CollectionEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve.

PageInfo!
non-null

An object that’s used to retrieve cursor information about the current page.


Was this section helpful?