---
title: CollectionConnection - GraphQL Admin
description: An auto-generated type for paginating through multiple Collections.
api_version: 2026-10
source_url:
  html: >-
    https://shopify.dev/docs/api/admin-graphql/latest/connections/CollectionConnection
  md: >-
    https://shopify.dev/docs/api/admin-graphql/latest/connections/CollectionConnection.md
api_name: admin
api_type: graphql
type: connection
---

# Collection​Connection

connection

An auto-generated type for paginating through multiple Collections.

## Fields with this connection

* [Channel.collections](https://shopify.dev/docs/api/admin-graphql/latest/objects/Channel#field-Channel.fields.collections)

  OBJECT

  A connection between a Shopify shop and an external selling platform that supports product syndication and optionally order ingestion. Each channel binds a merchant's account on a specific platform — such as Amazon, eBay, Google, or a point-of-sale system — to the shop, establishing the publishing destination for product feeds.

  Sales Channel applications use [`channelCreate`](https://shopify.dev/docs/api/admin-graphql/latest/mutations/channelCreate) to establish channels after merchant authentication, and can manage multiple channel connections per app. Each channel is bound to a channel specification that declares the platform's regional coverage, capabilities, and requirements.

  Use channels to manage where catalog items are syndicated, track publication status across platforms, and control [`Product`](https://shopify.dev/docs/api/admin-graphql/latest/objects/Product) visibility for different selling destinations.

* [Delivery​Carrier​Calculated​Option​Definition.includedCollections](https://shopify.dev/docs/api/admin-graphql/latest/objects/DeliveryCarrierCalculatedOptionDefinition#field-DeliveryCarrierCalculatedOptionDefinition.fields.includedCollections)

  OBJECT

  A shipping option with rates calculated by a carrier service.

  Carrier-calculated options fetch real-time rates from carriers(e.g., UPS, FedEx) at checkout instead of using merchant-defined fixed prices.

* [Delivery​Flat​Rate​Option​Definition.includedCollections](https://shopify.dev/docs/api/admin-graphql/latest/objects/DeliveryFlatRateOptionDefinition#field-DeliveryFlatRateOptionDefinition.fields.includedCollections)

  OBJECT

  A shipping option with fixed-price rates.

  Flat rate options charge the same price regardless of cart value or weight.

* [Delivery​Option​Definition.includedCollections](https://shopify.dev/docs/api/admin-graphql/latest/interfaces/DeliveryOptionDefinition#fields-includedCollections)

  INTERFACE

  A shipping option shown to buyers at checkout. Implemented by concrete option types.

* [Delivery​Rate​Group​Conditions.collections](https://shopify.dev/docs/api/admin-graphql/latest/objects/DeliveryRateGroupConditions#field-DeliveryRateGroupConditions.fields.collections)

  OBJECT

  Conditions that limit a rate group to specific collections or origin locations.

  When conditions are set, the rate group applies only to matching shipments.

* [Delivery​Value​Based​Option​Definition.includedCollections](https://shopify.dev/docs/api/admin-graphql/latest/objects/DeliveryValueBasedOptionDefinition#field-DeliveryValueBasedOptionDefinition.fields.includedCollections)

  OBJECT

  A shipping option with rates based on cart value.

  Value-based options charge different rates depending on cart value, using tiers that define price thresholds (e.g., "$5 shipping under $50, $2 shipping over $50").

* [Delivery​Weight​Based​Option​Definition.includedCollections](https://shopify.dev/docs/api/admin-graphql/latest/objects/DeliveryWeightBasedOptionDefinition#field-DeliveryWeightBasedOptionDefinition.fields.includedCollections)

  OBJECT

  A shipping option with rates based on package weight.

  Rates contain tiers that define package-weight thresholds. Checkout selects the appropriate tier using the package weight of the shipping allocation, or the combined package weight when allocations are grouped for weight conditions.

* [Discount​Collections.collections](https://shopify.dev/docs/api/admin-graphql/latest/objects/DiscountCollections#field-DiscountCollections.fields.collections)

  OBJECT

  A list of collections that the discount can have as a prerequisite or a list of collections to which the discount can be applied.

* [Product.collections](https://shopify.dev/docs/api/admin-graphql/latest/objects/Product#field-Product.fields.collections)

  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](https://shopify.dev/docs/api/admin-graphql/latest/objects/productvariant) to create or update different versions of the same product. You can also add or update product [media](https://shopify.dev/docs/api/admin-graphql/latest/interfaces/media). Products can be organized by grouping them into a [collection](https://shopify.dev/docs/api/admin-graphql/latest/objects/collection).

  Learn more about working with [Shopify's product model](https://shopify.dev/docs/apps/build/graphql/migrate/new-product-model/product-model-components), including limitations and considerations.

* [Publication.collections](https://shopify.dev/docs/api/admin-graphql/latest/objects/Publication#field-Publication.fields.collections)

  OBJECT

  A group of [products](https://shopify.dev/docs/api/admin-graphql/latest/objects/Product) and [collections](https://shopify.dev/docs/api/admin-graphql/latest/objects/Collection) that are published to an app.

  Each publication manages which products and collections display on its associated [`Channel`](https://shopify.dev/docs/api/admin-graphql/latest/objects/Channel). Merchants can automatically publish products when they're created if [`autoPublish`](https://shopify.dev/docs/api/admin-graphql/latest/objects/Publication#field-Publication.fields.autoPublish) is enabled, or manually control publication through publication records.

  Publications support scheduled publishing through future publish dates for online store channels, allowing merchants to coordinate product launches and promotional campaigns. The [`catalog`](https://shopify.dev/docs/api/admin-graphql/latest/objects/Publication#field-Publication.fields.catalog) field links to pricing and availability rules specific to that publication's context.

* [Shop.collections](https://shopify.dev/docs/api/admin-graphql/latest/objects/Shop#field-Shop.fields.collections)

  OBJECT

  Deprecated

***

## Queries with this connection

* [collections](https://shopify.dev/docs/api/admin-graphql/latest/queries/collections)

  query

  Retrieves a list of [collections](https://shopify.dev/docs/api/admin-graphql/latest/objects/Collection) in a store. Collections are groups of [products](https://shopify.dev/docs/api/admin-graphql/latest/objects/Product) that merchants can organize for display in their [online store](https://shopify.dev/docs/apps/build/online-store) and other [sales channels](https://shopify.dev/docs/apps/build/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.

  The `collections` query supports [pagination](https://shopify.dev/docs/api/usage/pagination-graphql) for large catalogs and [saved searches](https://shopify.dev/docs/api/admin-graphql/latest/queries/collections#arguments-savedSearchId) 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 or conditions
  * Publishing status and publication details
  * Metafields and custom attributes

  Learn more about [using metafields with collection conditions](https://shopify.dev/docs/apps/build/custom-data/metafields/use-metafield-capabilities).

  * after

    [String](https://shopify.dev/docs/api/admin-graphql/latest/scalars/String)

    ### Arguments

    The elements that come after the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).

  * before

    [String](https://shopify.dev/docs/api/admin-graphql/latest/scalars/String)

    The elements that come before the specified [cursor](https://shopify.dev/api/usage/pagination-graphql).

  * first

    [Int](https://shopify.dev/docs/api/admin-graphql/latest/scalars/Int)

    The first `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).

  * last

    [Int](https://shopify.dev/docs/api/admin-graphql/latest/scalars/Int)

    The last `n` elements from the [paginated list](https://shopify.dev/api/usage/pagination-graphql).

  * query

    [String](https://shopify.dev/docs/api/admin-graphql/latest/scalars/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](https://shopify.dev/api/usage/search-syntax).

    * * default

        string

      * collection\_type

        string

      * handle

        string

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

      - Example:
        * `query=Bob Norman`
        * `query=title:green hoodie`

      - Valid values:
        * `custom`
        * `smart`

    * * id

        id

      * product\_id

        id

      * publishable\_status

        string

      * published\_at

        time

      - Filter by `id` range.

      - Example:

        * `id:1234`
        * `id:>=1234`
        * `id:<=1234`

        Filter by collections containing a product by its ID.

      - Example:

        * `string`

        **Deprecated:** This parameter is deprecated as of 2025-12 and will be removed in a future API version. Use [published\_status](https://shopify.dev/api/admin-graphql/latest/queries/products#argument-query-filter-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](https://shopify.dev/api/admin-graphql/latest/objects/Channel#field-Channel.fields.app) (`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`

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

    * * published\_status

        string

      * title

        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](https://shopify.dev/api/admin-graphql/latest/objects/Channel#field-Channel.fields.app) (`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. The `online_store_channel` value applies only to the online store; other channels use the suffix format above. For example, the Point of Sale channel has the app handle `pos` and the `Channel.app.id` `129785`, so `pos-published` and `129785-published` both return resources published to Point of Sale. 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:pos-published`
        * `published_status:129785-published`
        * `published_status:my-channel-handle-published`
        * `published_status:unavailable`

    * updated\_at

      time

  * reverse

    [Boolean](https://shopify.dev/docs/api/admin-graphql/latest/scalars/Boolean)

    Default:false

    Reverse the order of the underlying list.

  * saved​Search​Id

    [ID](https://shopify.dev/docs/api/admin-graphql/latest/scalars/ID)

    The ID of a [saved search](https://shopify.dev/api/admin-graphql/latest/objects/savedsearch#field-id). The search’s query string is used as the query argument.

  * sort​Key

    [Collection​Sort​Keys](https://shopify.dev/docs/api/admin-graphql/latest/enums/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](https://shopify.dev/api/usage/pagination-graphql#search-performance-considerations).

  ***

***

## Possible returns

* edges

  [\[Collection​Edge!\]!](https://shopify.dev/docs/api/admin-graphql/latest/objects/CollectionEdge)

  non-null

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

* nodes

  [\[Collection!\]!](https://shopify.dev/docs/api/admin-graphql/latest/objects/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.

* page​Info

  [Page​Info!](https://shopify.dev/docs/api/admin-graphql/latest/objects/PageInfo)

  non-null

  An object that’s used to retrieve [cursor information](https://shopify.dev/api/usage/pagination-graphql) about the current page.

***

## Map

### Fields with this connection

* [Channel.collections](https://shopify.dev/docs/api/admin-graphql/latest/objects/Channel#field-Channel.fields.collections)
* [Delivery​Carrier​Calculated​Option​Definition.includedCollections](https://shopify.dev/docs/api/admin-graphql/latest/objects/DeliveryCarrierCalculatedOptionDefinition#field-DeliveryCarrierCalculatedOptionDefinition.fields.includedCollections)
* [Delivery​Flat​Rate​Option​Definition.includedCollections](https://shopify.dev/docs/api/admin-graphql/latest/objects/DeliveryFlatRateOptionDefinition#field-DeliveryFlatRateOptionDefinition.fields.includedCollections)
* [Delivery​Option​Definition.includedCollections](https://shopify.dev/docs/api/admin-graphql/latest/interfaces/DeliveryOptionDefinition#fields-includedCollections)
* [Delivery​Rate​Group​Conditions.collections](https://shopify.dev/docs/api/admin-graphql/latest/objects/DeliveryRateGroupConditions#field-DeliveryRateGroupConditions.fields.collections)
* [Delivery​Value​Based​Option​Definition.includedCollections](https://shopify.dev/docs/api/admin-graphql/latest/objects/DeliveryValueBasedOptionDefinition#field-DeliveryValueBasedOptionDefinition.fields.includedCollections)
* [Delivery​Weight​Based​Option​Definition.includedCollections](https://shopify.dev/docs/api/admin-graphql/latest/objects/DeliveryWeightBasedOptionDefinition#field-DeliveryWeightBasedOptionDefinition.fields.includedCollections)
* [Discount​Collections.collections](https://shopify.dev/docs/api/admin-graphql/latest/objects/DiscountCollections#field-DiscountCollections.fields.collections)
* [Product.collections](https://shopify.dev/docs/api/admin-graphql/latest/objects/Product#field-Product.fields.collections)
* [Publication.collections](https://shopify.dev/docs/api/admin-graphql/latest/objects/Publication#field-Publication.fields.collections)

### Queries with this connection

* [collections](https://shopify.dev/docs/api/admin-graphql/latest/queries/collections)

### Possible returns

* [Collection​Connection.edges](https://shopify.dev/docs/api/admin-graphql/latest/connections/CollectionConnection#returns-edges)
* [Collection​Connection.nodes](https://shopify.dev/docs/api/admin-graphql/latest/connections/CollectionConnection#returns-nodes)
* [Collection​Connection.pageInfo](https://shopify.dev/docs/api/admin-graphql/latest/connections/CollectionConnection#returns-pageInfo)
