Shopify Collections API

Retrieve collection data

Documentation

Specifications

Schemas & Data

Other Resources

OpenAPI Specification

shopify-collections-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Shopify Admin REST About Collections API
  description: The Shopify Admin REST API lets you build apps and integrations that extend and enhance the Shopify admin. Access products, customers, orders, inventory, fulfillment, and more. Endpoints are organized by resource type and versioned by release date.
  version: 2025-01
  contact:
    name: Shopify
    url: https://shopify.dev/docs/api/admin-rest
    email: api@shopify.com
  license:
    name: Shopify API Terms
    url: https://www.shopify.com/legal/api-terms
  x-date: '2026-03-04'
servers:
- url: https://{store}.myshopify.com/admin/api/2025-01
  description: Shopify Admin REST API
  variables:
    store:
      default: my-store
      description: The Shopify store subdomain
security:
- AccessToken: []
tags:
- name: Collections
  description: Retrieve collection data
paths:
  /collections/{collection_id}.json:
    get:
      operationId: getCollection
      summary: Shopify Retrieve a single collection
      description: Retrieves a single collection by ID including its metadata.
      tags:
      - Collections
      parameters:
      - name: collection_id
        in: path
        required: true
        description: The ID of the collection
        schema:
          type: integer
      - name: fields
        in: query
        description: Comma-separated list of fields to include
        schema:
          type: string
      responses:
        '200':
          description: The requested collection
          content:
            application/json:
              schema:
                type: object
                properties:
                  collection:
                    $ref: '#/components/schemas/Collection'
  /collections/{collection_id}/products.json:
    get:
      operationId: listCollectionProducts
      summary: Shopify Retrieve products in a collection
      description: Retrieves a list of products belonging to a collection.
      tags:
      - Collections
      parameters:
      - name: collection_id
        in: path
        required: true
        description: The ID of the collection
        schema:
          type: integer
      - name: limit
        in: query
        description: Maximum number of results (max 250, default 50)
        schema:
          type: integer
          default: 50
          maximum: 250
      responses:
        '200':
          description: Products in the collection
          content:
            application/json:
              schema:
                type: object
                properties:
                  products:
                    type: array
                    items:
                      $ref: '#/components/schemas/Product'
  /admin/api/2020-01/custom_collections.json:
    get:
      summary: Shopify Retrieves A List Of Custom Collections
      description: https://shopify.dev/docs/admin-api/rest/reference/products/customcollection#index-2020-01
      parameters:
      - in: query
        name: limit
        description: "The maximum number of results to retrieve.\n                  (default: 50, maximum: 250)"
        schema: {}
        required: false
      - in: query
        name: ids
        description: Show only collections specified by a comma-separated list of IDs.
        schema: {}
        required: false
      - in: query
        name: since_id
        description: Restrict results to after the specified ID.
        schema: {}
        required: false
      - in: query
        name: title
        description: Show custom collections with a given title.
        schema: {}
        required: false
      - in: query
        name: product_id
        description: Show custom collections that include a given product.
        schema: {}
        required: false
      - in: query
        name: handle
        description: Filter by custom collection handle.
        schema: {}
        required: false
      - in: query
        name: updated_at_min
        description: 'Show custom collections last updated after date (format: 2014-04-25T16:15:47-04:00).'
        schema: {}
        required: false
      - in: query
        name: updated_at_max
        description: 'Show custom collections last updated before date (format: 2014-04-25T16:15:47-04:00).'
        schema: {}
        required: false
      - in: query
        name: published_at_min
        description: 'Show custom collections published after date (format: 2014-04-25T16:15:47-04:00).'
        schema: {}
        required: false
      - in: query
        name: published_at_max
        description: 'Show custom collections published before date (format: 2014-04-25T16:15:47-04:00).'
        schema: {}
        required: false
      - in: query
        name: published_status
        description: "Show custom collectsion with a given published status.\n                  (default: any)\n                    \n                        published: Show only published custom collections.\n                        unpublished: Show only unpublished custom collections.\n                        any: Show custom collections of any published status."
        schema: {}
        required: false
      - in: query
        name: fields
        description: Show only certain fields, specified by a comma-separated list of field names.
        schema: {}
        required: false
      tags:
      - Collections
      responses:
        '200':
          description: ''
      operationId: deprecated_202001_get_custom_collections
      x-api-evangelist-processing:
        PascalCaseOperationSummaries: true
        ChooseTags: true
  /admin/api/2020-01/custom_collections/count.json:
    get:
      summary: Shopify Retrieves A Count Of Custom Collections
      description: https://shopify.dev/docs/admin-api/rest/reference/products/customcollection#count-2020-01
      parameters:
      - in: query
        name: title
        description: Count custom collections with given title.
        schema: {}
        required: false
      - in: query
        name: product_id
        description: Count custom collections that include a given product.
        schema: {}
        required: false
      - in: query
        name: updated_at_min
        description: 'Count custom collections last updated after date (format: 2014-04-25T16:15:47-04:00).'
        schema: {}
        required: false
      - in: query
        name: updated_at_max
        description: 'Count custom collections last updated before date (format: 2014-04-25T16:15:47-04:00).'
        schema: {}
        required: false
      - in: query
        name: published_at_min
        description: 'Count custom collections published after date (format: 2014-04-25T16:15:47-04:00).'
        schema: {}
        required: false
      - in: query
        name: published_at_max
        description: 'Count custom collections published before date (format: 2014-04-25T16:15:47-04:00).'
        schema: {}
        required: false
      - in: query
        name: published_status
        description: "Count custom collections with a given published status.\n                  (default: any)\n                    \n                        published: Count only published custom collections.\n                        unpublished: Count only unpublished custom collections.\n                        any: Count custom collections of any published status."
        schema: {}
        required: false
      tags:
      - Collections
      responses:
        '200':
          description: ''
      operationId: deprecated_202001_get_custom_collections_count
      x-api-evangelist-processing:
        PascalCaseOperationSummaries: true
        ChooseTags: true
  /admin/api/2020-04/custom_collections.json:
    get:
      summary: Shopify Retrieves A List Of Custom Collections
      description: https://shopify.dev/docs/admin-api/rest/reference/products/customcollection#index-2020-04
      parameters:
      - in: query
        name: limit
        description: "The maximum number of results to retrieve.\n                  (default: 50, maximum: 250)"
        schema: {}
        required: false
      - in: query
        name: ids
        description: Show only collections specified by a comma-separated list of IDs.
        schema: {}
        required: false
      - in: query
        name: since_id
        description: Restrict results to after the specified ID.
        schema: {}
        required: false
      - in: query
        name: title
        description: Show custom collections with a given title.
        schema: {}
        required: false
      - in: query
        name: product_id
        description: Show custom collections that include a given product.
        schema: {}
        required: false
      - in: query
        name: handle
        description: Filter by custom collection handle.
        schema: {}
        required: false
      - in: query
        name: updated_at_min
        description: 'Show custom collections last updated after date (format: 2014-04-25T16:15:47-04:00).'
        schema: {}
        required: false
      - in: query
        name: updated_at_max
        description: 'Show custom collections last updated before date (format: 2014-04-25T16:15:47-04:00).'
        schema: {}
        required: false
      - in: query
        name: published_at_min
        description: 'Show custom collections published after date (format: 2014-04-25T16:15:47-04:00).'
        schema: {}
        required: false
      - in: query
        name: published_at_max
        description: 'Show custom collections published before date (format: 2014-04-25T16:15:47-04:00).'
        schema: {}
        required: false
      - in: query
        name: published_status
        description: "Show custom collectsion with a given published status.\n                  (default: any)\n                    \n                        published: Show only published custom collections.\n                        unpublished: Show only unpublished custom collections.\n                        any: Show custom collections of any published status."
        schema: {}
        required: false
      - in: query
        name: fields
        description: Show only certain fields, specified by a comma-separated list of field names.
        schema: {}
        required: false
      tags:
      - Collections
      responses:
        '200':
          description: ''
      operationId: deprecated_202004_get_custom_collections
      x-api-evangelist-processing:
        PascalCaseOperationSummaries: true
        ChooseTags: true
  /admin/api/2020-04/custom_collections/count.json:
    get:
      summary: Shopify Retrieves A Count Of Custom Collections
      description: https://shopify.dev/docs/admin-api/rest/reference/products/customcollection#count-2020-04
      parameters:
      - in: query
        name: title
        description: Count custom collections with given title.
        schema: {}
        required: false
      - in: query
        name: product_id
        description: Count custom collections that include a given product.
        schema: {}
        required: false
      - in: query
        name: updated_at_min
        description: 'Count custom collections last updated after date (format: 2014-04-25T16:15:47-04:00).'
        schema: {}
        required: false
      - in: query
        name: updated_at_max
        description: 'Count custom collections last updated before date (format: 2014-04-25T16:15:47-04:00).'
        schema: {}
        required: false
      - in: query
        name: published_at_min
        description: 'Count custom collections published after date (format: 2014-04-25T16:15:47-04:00).'
        schema: {}
        required: false
      - in: query
        name: published_at_max
        description: 'Count custom collections published before date (format: 2014-04-25T16:15:47-04:00).'
        schema: {}
        required: false
      - in: query
        name: published_status
        description: "Count custom collections with a given published status.\n                  (default: any)\n                    \n                        published: Count only published custom collections.\n                        unpublished: Count only unpublished custom collections.\n                        any: Count custom collections of any published status."
        schema: {}
        required: false
      tags:
      - Collections
      responses:
        '200':
          description: ''
      operationId: deprecated_202004_get_custom_collections_count
      x-api-evangelist-processing:
        PascalCaseOperationSummaries: true
        ChooseTags: true
  /admin/api/2020-07/custom_collections.json:
    get:
      summary: Shopify Retrieves A List Of Custom Collections
      description: https://shopify.dev/docs/admin-api/rest/reference/products/customcollection#index-2020-07
      parameters:
      - in: query
        name: limit
        description: "The maximum number of results to retrieve.\n                  (default: 50, maximum: 250)"
        schema: {}
        required: false
      - in: query
        name: ids
        description: Show only collections specified by a comma-separated list of IDs.
        schema: {}
        required: false
      - in: query
        name: since_id
        description: Restrict results to after the specified ID.
        schema: {}
        required: false
      - in: query
        name: title
        description: Show custom collections with a given title.
        schema: {}
        required: false
      - in: query
        name: product_id
        description: Show custom collections that include a given product.
        schema: {}
        required: false
      - in: query
        name: handle
        description: Filter by custom collection handle.
        schema: {}
        required: false
      - in: query
        name: updated_at_min
        description: 'Show custom collections last updated after date (format: 2014-04-25T16:15:47-04:00).'
        schema: {}
        required: false
      - in: query
        name: updated_at_max
        description: 'Show custom collections last updated before date (format: 2014-04-25T16:15:47-04:00).'
        schema: {}
        required: false
      - in: query
        name: published_at_min
        description: 'Show custom collections published after date (format: 2014-04-25T16:15:47-04:00).'
        schema: {}
        required: false
      - in: query
        name: published_at_max
        description: 'Show custom collections published before date (format: 2014-04-25T16:15:47-04:00).'
        schema: {}
        required: false
      - in: query
        name: published_status
        description: "Show custom collectsion with a given published status.\n                  (default: any)\n                    \n                        published: Show only published custom collections.\n                        unpublished: Show only unpublished custom collections.\n                        any: Show custom collections of any published status."
        schema: {}
        required: false
      - in: query
        name: fields
        description: Show only certain fields, specified by a comma-separated list of field names.
        schema: {}
        required: false
      tags:
      - Collections
      responses:
        '200':
          description: ''
      operationId: deprecated_202007_get_custom_collections
      x-api-evangelist-processing:
        PascalCaseOperationSummaries: true
        ChooseTags: true
  /admin/api/2020-07/custom_collections/count.json:
    get:
      summary: Shopify Retrieves A Count Of Custom Collections
      description: https://shopify.dev/docs/admin-api/rest/reference/products/customcollection#count-2020-07
      parameters:
      - in: query
        name: title
        description: Count custom collections with given title.
        schema: {}
        required: false
      - in: query
        name: product_id
        description: Count custom collections that include a given product.
        schema: {}
        required: false
      - in: query
        name: updated_at_min
        description: 'Count custom collections last updated after date (format: 2014-04-25T16:15:47-04:00).'
        schema: {}
        required: false
      - in: query
        name: updated_at_max
        description: 'Count custom collections last updated before date (format: 2014-04-25T16:15:47-04:00).'
        schema: {}
        required: false
      - in: query
        name: published_at_min
        description: 'Count custom collections published after date (format: 2014-04-25T16:15:47-04:00).'
        schema: {}
        required: false
      - in: query
        name: published_at_max
        description: 'Count custom collections published before date (format: 2014-04-25T16:15:47-04:00).'
        schema: {}
        required: false
      - in: query
        name: published_status
        description: "Count custom collections with a given published status.\n                  (default: any)\n                    \n                        published: Count only published custom collections.\n                        unpublished: Count only unpublished custom collections.\n                        any: Count custom collections of any published status."
        schema: {}
        required: false
      tags:
      - Collections
      responses:
        '200':
          description: ''
      operationId: deprecated_202007_get_custom_collections_count
      x-api-evangelist-processing:
        PascalCaseOperationSummaries: true
        ChooseTags: true
  /admin/api/2020-10/custom_collections.json:
    get:
      summary: Shopify Retrieves A List Of Custom Collections
      description: https://shopify.dev/docs/admin-api/rest/reference/products/customcollection#index-2020-10
      parameters:
      - in: query
        name: limit
        description: "The maximum number of results to retrieve.\n                  (default: 50, maximum: 250)"
        schema: {}
        required: false
      - in: query
        name: ids
        description: Show only collections specified by a comma-separated list of IDs.
        schema: {}
        required: false
      - in: query
        name: since_id
        description: Restrict results to after the specified ID.
        schema: {}
        required: false
      - in: query
        name: title
        description: Show custom collections with a given title.
        schema: {}
        required: false
      - in: query
        name: product_id
        description: Show custom collections that include a given product.
        schema: {}
        required: false
      - in: query
        name: handle
        description: Filter by custom collection handle.
        schema: {}
        required: false
      - in: query
        name: updated_at_min
        description: 'Show custom collections last updated after date (format: 2014-04-25T16:15:47-04:00).'
        schema: {}
        required: false
      - in: query
        name: updated_at_max
        description: 'Show custom collections last updated before date (format: 2014-04-25T16:15:47-04:00).'
        schema: {}
        required: false
      - in: query
        name: published_at_min
        description: 'Show custom collections published after date (format: 2014-04-25T16:15:47-04:00).'
        schema: {}
        required: false
      - in: query
        name: published_at_max
        description: 'Show custom collections published before date (format: 2014-04-25T16:15:47-04:00).'
        schema: {}
        required: false
      - in: query
        name: published_status
        description: "Show custom collectsion with a given published status.\n                  (default: any)\n                    \n                        published: Show only published custom collections.\n                        unpublished: Show only unpublished custom collections.\n                        any: Show custom collections of any published status."
        schema: {}
        required: false
      - in: query
        name: fields
        description: Show only certain fields, specified by a comma-separated list of field names.
        schema: {}
        required: false
      tags:
      - Collections
      responses:
        '200':
          description: ''
      operationId: get_custom_collections
      x-api-evangelist-processing:
        PascalCaseOperationSummaries: true
        ChooseTags: true
  /admin/api/2020-10/custom_collections/count.json:
    get:
      summary: Shopify Retrieves A Count Of Custom Collections
      description: https://shopify.dev/docs/admin-api/rest/reference/products/customcollection#count-2020-10
      parameters:
      - in: query
        name: title
        description: Count custom collections with given title.
        schema: {}
        required: false
      - in: query
        name: product_id
        description: Count custom collections that include a given product.
        schema: {}
        required: false
      - in: query
        name: updated_at_min
        description: 'Count custom collections last updated after date (format: 2014-04-25T16:15:47-04:00).'
        schema: {}
        required: false
      - in: query
        name: updated_at_max
        description: 'Count custom collections last updated before date (format: 2014-04-25T16:15:47-04:00).'
        schema: {}
        required: false
      - in: query
        name: published_at_min
        description: 'Count custom collections published after date (format: 2014-04-25T16:15:47-04:00).'
        schema: {}
        required: false
      - in: query
        name: published_at_max
        description: 'Count custom collections published before date (format: 2014-04-25T16:15:47-04:00).'
        schema: {}
        required: false
      - in: query
        name: published_status
        description: "Count custom collections with a given published status.\n                  (default: any)\n                    \n                        published: Count only published custom collections.\n                        unpublished: Count only unpublished custom collections.\n                        any: Count custom collections of any published status."
        schema: {}
        required: false
      tags:
      - Collections
      responses:
        '200':
          description: ''
      operationId: get_custom_collections_count
      x-api-evangelist-processing:
        PascalCaseOperationSummaries: true
        ChooseTags: true
  /admin/api/2021-01/custom_collections.json:
    get:
      summary: Shopify Retrieves A List Of Custom Collections
      description: https://shopify.dev/docs/admin-api/rest/reference/products/customcollection#index-2021-01
      parameters:
      - in: query
        name: limit
        description: "The maximum number of results to retrieve.\n                  (default: 50, maximum: 250)"
        schema: {}
        required: false
      - in: query
        name: ids
        description: Show only collections specified by a comma-separated list of IDs.
        schema: {}
        required: false
      - in: query
        name: since_id
        description: Restrict results to after the specified ID.
        schema: {}
        required: false
      - in: query
        name: title
        description: Show custom collections with a given title.
        schema: {}
        required: false
      - in: query
        name: product_id
        description: Show custom collections that include a given product.
        schema: {}
        required: false
      - in: query
        name: handle
        description: Filter by custom collection handle.
        schema: {}
        required: false
      - in: query
        name: updated_at_min
        description: 'Show custom collections last updated after date (format: 2014-04-25T16:15:47-04:00).'
        schema: {}
        required: false
      - in: query
        name: updated_at_max
        description: 'Show custom collections last updated before date (format: 2014-04-25T16:15:47-04:00).'
        schema: {}
        required: false
      - in: query
        name: published_at_min
        description: 'Show custom collections published after date (format: 2014-04-25T16:15:47-04:00).'
        schema: {}
        required: false
      - in: query
        name: published_at_max
        description: 'Show custom collections published before date (format: 2014-04-25T16:15:47-04:00).'
        schema: {}
        required: false
      - in: query
        name: published_status
        description: "Show custom collectsion with a given published status.\n                  (default: any)\n                    \n                        published: Show only published custom collections.\n                        unpublished: Show only unpublished custom collections.\n                        any: Show custom collections of any published status."
        schema: {}
        required: false
      - in: query
        name: fields
        description: Show only certain fields, specified by a comma-separated list of field names.
        schema: {}
        required: false
      tags:
      - Collections
      responses:
        '200':
          description: ''
      operationId: deprecated_202101_get_custom_collections
      x-api-evangelist-processing:
        PascalCaseOperationSummaries: true
        ChooseTags: true
  /admin/api/2021-01/custom_collections/count.json:
    get:
      summary: Shopify Retrieves A Count Of Custom Collections
      description: https://shopify.dev/docs/admin-api/rest/reference/products/customcollection#count-2021-01
      parameters:
      - in: query
        name: title
        description: Count custom collections with given title.
        schema: {}
        required: false
      - in: query
        name: product_id
        description: Count custom collections that include a given product.
        schema: {}
        required: false
      - in: query
        name: updated_at_min
        description: 'Count custom collections last updated after date (format: 2014-04-25T16:15:47-04:00).'
        schema: {}
        required: false
      - in: query
        name: updated_at_max
        description: 'Count custom collections last updated before date (format: 2014-04-25T16:15:47-04:00).'
        schema: {}
        required: false
      - in: query
        name: published_at_min
        description: 'Count custom collections published after date (format: 2014-04-25T16:15:47-04:00).'
        schema: {}
        required: false
      - in: query
        name: published_at_max
        description: 'Count custom collections published before date (format: 2014-04-25T16:15:47-04:00).'
        schema: {}
        required: false
      - in: query
        name: published_status
        description: "Count custom collections with a given published status.\n                  (default: any)\n                    \n                        published: Count only published custom collections.\n                        unpublished: Count only unpublished custom collections.\n                        any: Count custom collections of any published status."
        schema: {}
        required: false
      tags:
      - Collections
      responses:
        '200':
          description: ''
      operationId: deprecated_202101_get_custom_collections_count
      x-api-evangelist-processing:
        PascalCaseOperationSummaries: true
        ChooseTags: true
  /admin/api/unstable/custom_collections.json:
    get:
      summary: Shopify Retrieves A List Of Custom Collections
      description: https://shopify.dev/docs/admin-api/rest/reference/products/customcollection#index-unstable
      parameters:
      - in: query
        name: limit
        description: "The maximum number of results to retrieve.\n                  (default: 50, maximum: 250)"
        schema: {}
        required: false
      - in: query
        name: ids
        description: Show only collections specified by a comma-separated list of IDs.
        schema: {}
        required: false
      - in: query
        name: since_id
        description: Restrict results to after the specified ID.
        schema: {}
        required: false
      - in: query
        name: title
        description: Show custom collections with a given title.
        schema: {}
        required: false
      - in: query
        name: product_id
        description: Show custom collections that include a given product.
        schema: {}
        required: false
      - in: query
        name: handle
        description: Filter by custom collection handle.
        schema: {}
        required: false
      - in: query
        name: updated_at_min
        description: 'Show custom collections last updated after date (format: 2014-04-25T16:15:47-04:00).'
        schema: {}
        required: false
      - in: query
        name: updated_at_max
        description: 'Show custom collections last updated before date (format: 2014-04-25T16:15:47-04:00).'
        schema: {}
        required: false
      - in: query
        name: published_at_min
        description: 'Show custom collections published after date (format: 2014-04-25T16:15:47-04:00).'
        schema: {}
        required: false
      - in: query
        name: published_at_max
        description: 'Show custom collections published before date (format: 2014-04-25T16:15:47-04:00).'
        schema: {}
        required: false
      - in: query
        name: published_status
        description: "Show custom collectsion with a given published status.\n                  (default: any)\n                    \n                        published: Show only published custom collections.\n                        unpublished: Show only unpublished custom collections.\n                        any: Show custom collections of any published status."
        schema: {}
        required: false
      - in: query
        name: fields
        description: Show only certain fields, specified by a comma-separated list of field names.
        schema: {}
        required: false
      tags:
      - Collections
      responses:
        '200':
          description: ''
      operationId: deprecated_unstable_get_custom_collections
      x-api-evangelist-processing:
        PascalCaseOperationSummaries: true
        ChooseTags: true
  /admin/api/unstable/custom_collections/count.json:
    get:
      summary: Shopify Retrieves A Count Of Custom Collections
      description: https://shopify.dev/docs/admin-api/rest/reference/products/customcollection#count-unstable
      parameters:
      - in: query
        name: title
        description: Count custom collections with given title.
        schema: {}
        required: false
      - in: query
        name: product_id
        description: Count custom collections that include a given product.
        schema: {}
        required: false
      - in: query
        name: updated_at_min
        description: 'Count custom collections last updated after date (format: 2014-04-25T16:15:47-04:00).'
        schema: {}
        required: false
      - in: query
        name: updated_at_max
        description: 'Count custom collections last updated before date (format: 2014-04-25T16:15:47-04:00).'
        schema: {}
        required: false
      - in: query
        name: published_at_min
        description: 'Count custom collections published after date (format: 2014-04-25T16:15:47-04:00).'
        schema: {}
        required: false
      - in: query
        name: published_at_max
        description: 'Count custom collections published before date (format: 2014-04-25T16:15:47-04:00).'
        schema: {}
        required: false
      - in: query
        name: published_status
        description: "Count custom collections with a given published status.\n                  (default: any)\n                    \n                        published: Count only published custom collections.\n                        unpublished: Count only unpublished custom collections.\n                        any: Count custom collections of any published status."
        schema: {}
        required: false
      tags:
      - Collections
      responses:
        '200':
          description: ''
      operationId: deprecated_unstable_get_custom_collections_count
      x-api-evangelist-processing:
        PascalCaseOperationSummaries: true
        ChooseTags: true
  /admin/api/2020-01/smart_collections.json:
    get:
      summary: Shopify Retrieves A List Of Smart Collections
      description: https://shopify.dev/docs/admin-api/rest/reference/products/smartcollection#index-2020-01
      parameters:
      - in: query
        name: limit
        description: "The numbe

# --- truncated at 32 KB (68 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/shopify/refs/heads/main/openapi/shopify-collections-api-openapi.yml