---
title: CollectionListing
description: Manage the collections that are published to your sales channel and retrieve their information.
api_version: 2025-10
api_name: admin-rest
api_type: rest
source_url:
html: https://shopify.dev/docs/api/admin-rest/latest/resources/collectionlisting
md: https://shopify.dev/docs/api/admin-rest/latest/resources/collectionlisting.md
---

The REST Admin API is a legacy API as of October 1, 2024. Starting April 1, 2025, all new public apps must be built exclusively with the [GraphQL Admin API](https://shopify.dev/docs/api/admin-graphql). For details and migration steps, visit our [migration guide](https://shopify.dev/docs/apps/build/graphql/migrate).
# CollectionListing
Multiple access scopes needed — refer to each endpoint for access scope requirements.
A `CollectionListing` resource represents a [product collection](https://help.shopify.com/manual/products/collections) that a merchant has made available to your sales channel. Merchants can make collections available to your sales channel directly from their Shopify admin.
You can use this resource to retrieve collections that a merchant has published and display them in your marketplace. You can also retrieve a list of published product IDs that belong to a published collection.
Only sales channels can publish collections using the REST Admin API. You can't publish collections and make them available to non-sales channels apps using the REST Admin API.
Note:
When a merchant makes a collection available to your app, the products belonging to that collection are not automatically made available. The merchant must make both the collection and each product available to your sales channel.
\#
## Endpoints
* [get](https://shopify.dev/docs/api/admin-rest/latest/resources/collectionlisting#get-collection-listings)
[/admin/api/latest/collection\_listings.json](https://shopify.dev/docs/api/admin-rest/latest/resources/collectionlisting#get-collection-listings)
Retrieve collection listings that are published to your app
[](https://shopify.dev/docs/api/admin-graphql/latest/queries/collections)
[collections](https://shopify.dev/docs/api/admin-graphql/latest/queries/collections)
* [get](https://shopify.dev/docs/api/admin-rest/latest/resources/collectionlisting#get-collection-listings-collection-listing-id)
[/admin/api/latest/collection\_listings/{collection\_listing\_id}.json](https://shopify.dev/docs/api/admin-rest/latest/resources/collectionlisting#get-collection-listings-collection-listing-id)
Retrieve a specific collection listing that is published to your app
[](https://shopify.dev/docs/api/admin-graphql/latest/queries/collection)
[collection](https://shopify.dev/docs/api/admin-graphql/latest/queries/collection)
* [get](https://shopify.dev/docs/api/admin-rest/latest/resources/collectionlisting#get-collection-listings-collection-listing-id-product-ids)
[/admin/api/latest/collection\_listings/{collection\_listing\_id}/product\_ids.json](https://shopify.dev/docs/api/admin-rest/latest/resources/collectionlisting#get-collection-listings-collection-listing-id-product-ids)
Retrieve \product\_ids\
that are published to a \collection\_id\
[](https://shopify.dev/docs/api/admin-graphql/latest/queries/collection)
[collection](https://shopify.dev/docs/api/admin-graphql/latest/queries/collection)
* [put](https://shopify.dev/docs/api/admin-rest/latest/resources/collectionlisting#put-collection-listings-collection-listing-id)
[/admin/api/latest/collection\_listings/{collection\_listing\_id}.json](https://shopify.dev/docs/api/admin-rest/latest/resources/collectionlisting#put-collection-listings-collection-listing-id)
Create a collection listing to publish a collection to your app
[](https://shopify.dev/docs/api/admin-graphql/latest/mutations/collectionCreate)
[collectionCreate](https://shopify.dev/docs/api/admin-graphql/latest/mutations/collectionCreate)
[](https://shopify.dev/docs/api/admin-graphql/latest/mutations/publishablePublish?example=create-a-collection-listing-to-publish-a-collection-to-your-app)
[publishablePublish](https://shopify.dev/docs/api/admin-graphql/latest/mutations/publishablePublish?example=create-a-collection-listing-to-publish-a-collection-to-your-app)
* [del](https://shopify.dev/docs/api/admin-rest/latest/resources/collectionlisting#delete-collection-listings-collection-listing-id)
[/admin/api/latest/collection\_listings/{collection\_listing\_id}.json](https://shopify.dev/docs/api/admin-rest/latest/resources/collectionlisting#delete-collection-listings-collection-listing-id)
Delete a collection listing to unpublish a collection from your app
[](https://shopify.dev/docs/api/admin-graphql/latest/mutations/publishableUnpublish?example=delete-a-collection-listing-to-unpublish-a-collection-from-your-app)
[publishableUnpublish](https://shopify.dev/docs/api/admin-graphql/latest/mutations/publishableUnpublish?example=delete-a-collection-listing-to-unpublish-a-collection-from-your-app)
***
## The CollectionListing resource
### Properties
***
collection\_id
read-only
->
[](https://shopify.dev/docs/api/admin-graphql/latest/objects/Collection#field-Collection.fields.id)
[id](https://shopify.dev/docs/api/admin-graphql/latest/objects/Collection#field-Collection.fields.id)
Identifies which collection this listing is for.
***
body\_html
read-only
->
[](https://shopify.dev/docs/api/admin-graphql/latest/objects/Collection#field-Collection.fields.descriptionHtml)
[descriptionHtml](https://shopify.dev/docs/api/admin-graphql/latest/objects/Collection#field-Collection.fields.descriptionHtml)
The description of the collection, complete with HTML formatting.
***
default\_product\_image
read-only
->
[](https://shopify.dev/docs/api/admin-graphql/latest/objects/Product#field-Product.fields.featuredImage)
[featuredImage](https://shopify.dev/docs/api/admin-graphql/latest/objects/Product#field-Product.fields.featuredImage)
The default product image for a collection.
***
image
read-only
->
[](https://shopify.dev/docs/api/admin-graphql/latest/objects/Collection#field-Collection.fields.image)
[image](https://shopify.dev/docs/api/admin-graphql/latest/objects/Collection#field-Collection.fields.image)
The image for a collection.
***
handle
read-only
->
[](https://shopify.dev/docs/api/admin-graphql/latest/objects/Collection#field-Collection.fields.handle)
[handle](https://shopify.dev/docs/api/admin-graphql/latest/objects/Collection#field-Collection.fields.handle)
A human-friendly unique string for the Collection automatically generated from its title.
***
published\_at
read-only
->
[](https://shopify.dev/docs/api/admin-graphql/latest/objects/CollectionPublication#field-CollectionPublication.fields.publishDate)
[publishDate](https://shopify.dev/docs/api/admin-graphql/latest/objects/CollectionPublication#field-CollectionPublication.fields.publishDate)
The date and time when the collection was published. The API returns this in ISO\_8601.
***
title
read-only
->
[](https://shopify.dev/docs/api/admin-graphql/latest/objects/Collection#field-Collection.fields.title)
[title](https://shopify.dev/docs/api/admin-graphql/latest/objects/Collection#field-Collection.fields.title)
The name of the collection.
***
sort\_order
read-only
->
[](https://shopify.dev/docs/api/admin-graphql/latest/objects/Collection#field-Collection.fields.sortOrder)
[sortOrder](https://shopify.dev/docs/api/admin-graphql/latest/objects/Collection#field-Collection.fields.sortOrder)
The order in which products in the collection appear. Valid values are:
Show sort\_order properties
* **alpha-asc**: Alphabetically, in ascending order (A - Z).
* **alpha-desc**: Alphabetically, in descending order (Z - A).
* **best-selling**: By best-selling products.
* **created**: By date created, in ascending order (oldest - newest).
* **created-desc**: By date created, in descending order (newest - oldest).
* **manual**: Order created by the shop owner.
* **price-asc**: By price, in ascending order (lowest - highest).
* **price-desc**: By price, in descending order (highest - lowest).
***
updated\_at
read-only
->
[](https://shopify.dev/docs/api/admin-graphql/latest/objects/Collection#field-Collection.fields.updatedAt)
[updatedAt](https://shopify.dev/docs/api/admin-graphql/latest/objects/Collection#field-Collection.fields.updatedAt)
The date and time when the collection was last modified. The API returns this in ISO\_8601.
***
{}
## The CollectionListing resource
```json
{
"collection_id": {
"collection_id": 1053727709
},
"body_html": "It's a collection of curated products for the home page.",
"default_product_image": [
{
"src": "http://example.com/burton.jpg"
}
],
"image": [
{
"src": "http://example.com/burton.jpg"
}
],
"handle": "ipod-nano",
"published_at": "2007-12-31T19:00:00-05:00",
"title": "Home page",
"sort_order": "alpha-asc",
"updated_at": "2012-08-24T14:01:47-04:00"
}
```
***
## getRetrieve collection listings that are published to your app
[](https://shopify.dev/docs/api/admin-graphql/latest/queries/collections)
[collections](https://shopify.dev/docs/api/admin-graphql/latest/queries/collections)
Requires `product_listings` access scope.
Retrieve collection listings that are published to your app. **Note:** This endpoint implements pagination by using links that are provided in the response header. To learn more, refer to [Make paginated requests to the REST Admin API](https://shopify.dev/api/usage/pagination-rest).
### Parameters
***
api\_version
string
required
***
limit
≤ 1000
default 50
Amount of results
***
### Examples
Retrieve collection listings that are published to your app
get
## /admin/api/2025-10/collection\_listings.json
```bash
curl -X GET "https://your-development-store.myshopify.com/admin/api/2025-10/collection_listings.json" \
-H "X-Shopify-Access-Token: {access_token}"
```
{}
## Response
JSON
```json
HTTP/1.1 200 OK
{
"collection_listings": [
{
"collection_id": 482865238,
"updated_at": "2025-10-01T15:04:04-04:00",
"body_html": "
The best selling ipod ever
", "default_product_image": null, "handle": "smart-ipods", "image": { "created_at": "2025-10-01T15:04:04-04:00", "src": "https://cdn.shopify.com/s/files/1/0005/4838/0009/collections/ipod_nano_8gb.jpg?v=1759345444" }, "title": "Smart iPods", "sort_order": "manual", "published_at": "2017-08-31T20:00:00-04:00" }, { "collection_id": 841564295, "updated_at": "2025-10-01T15:04:04-04:00", "body_html": "The best selling ipod ever
", "default_product_image": null, "handle": "ipods", "image": { "created_at": "2025-10-01T15:04:04-04:00", "src": "https://cdn.shopify.com/s/files/1/0005/4838/0009/collections/ipod_nano_8gb.jpg?v=1759345444" }, "title": "IPods", "sort_order": "manual", "published_at": "2017-08-31T20:00:00-04:00" }, { "collection_id": 395646240, "updated_at": "2025-10-01T15:04:04-04:00", "body_html": "The best selling ipod ever. Again
", "default_product_image": { "id": 850703190, "created_at": "2025-10-01T15:04:04-04:00", "position": 1, "updated_at": "2025-10-01T15:04:04-04:00", "product_id": 632910392, "src": "https://cdn.shopify.com/s/files/1/0005/4838/0009/products/ipod-nano.png?v=1759345444", "variant_ids": [], "width": 123, "height": 456 }, "handle": "ipods_two", "image": null, "title": "IPods Two", "sort_order": "manual", "published_at": "2017-08-31T20:00:00-04:00" }, { "collection_id": 691652237, "updated_at": "2025-10-01T15:04:04-04:00", "body_html": "No ipods here
", "default_product_image": null, "handle": "non-ipods", "image": null, "title": "Non Ipods", "sort_order": "manual", "published_at": "2017-08-31T20:00:00-04:00" } ] } ``` ### examples * #### Retrieve collection listings that are published to your app ##### ```curl curl -X GET "https://your-development-store.myshopify.com/admin/api/2025-10/collection_listings.json" \ -H "X-Shopify-Access-Token: {access_token}" ``` ##### ```remix await admin.rest.resources.CollectionListing.all({ session: session, }); ``` ##### ```ruby # Session is activated via Authentication test_session = ShopifyAPI::Context.active_session ShopifyAPI::CollectionListing.all( session: test_session, ) ``` ##### ```node // Session is built by the OAuth process await shopify.rest.CollectionListing.all({ session: session, }); ``` #### response ```json HTTP/1.1 200 OK{"collection_listings":[{"collection_id":482865238,"updated_at":"2025-10-01T15:04:04-04:00","body_html":"The best selling ipod ever
","default_product_image":null,"handle":"smart-ipods","image":{"created_at":"2025-10-01T15:04:04-04:00","src":"https://cdn.shopify.com/s/files/1/0005/4838/0009/collections/ipod_nano_8gb.jpg?v=1759345444"},"title":"Smart iPods","sort_order":"manual","published_at":"2017-08-31T20:00:00-04:00"},{"collection_id":841564295,"updated_at":"2025-10-01T15:04:04-04:00","body_html":"The best selling ipod ever
","default_product_image":null,"handle":"ipods","image":{"created_at":"2025-10-01T15:04:04-04:00","src":"https://cdn.shopify.com/s/files/1/0005/4838/0009/collections/ipod_nano_8gb.jpg?v=1759345444"},"title":"IPods","sort_order":"manual","published_at":"2017-08-31T20:00:00-04:00"},{"collection_id":395646240,"updated_at":"2025-10-01T15:04:04-04:00","body_html":"The best selling ipod ever. Again
","default_product_image":{"id":850703190,"created_at":"2025-10-01T15:04:04-04:00","position":1,"updated_at":"2025-10-01T15:04:04-04:00","product_id":632910392,"src":"https://cdn.shopify.com/s/files/1/0005/4838/0009/products/ipod-nano.png?v=1759345444","variant_ids":[],"width":123,"height":456},"handle":"ipods_two","image":null,"title":"IPods Two","sort_order":"manual","published_at":"2017-08-31T20:00:00-04:00"},{"collection_id":691652237,"updated_at":"2025-10-01T15:04:04-04:00","body_html":"No ipods here
","default_product_image":null,"handle":"non-ipods","image":null,"title":"Non Ipods","sort_order":"manual","published_at":"2017-08-31T20:00:00-04:00"}]} ``` *** ## getRetrieve a specific collection listing that is published to your app [](https://shopify.dev/docs/api/admin-graphql/latest/queries/collection) [collection](https://shopify.dev/docs/api/admin-graphql/latest/queries/collection) Requires `product_listings` access scope. Retrieve a specific collection listing that is published to your app ### Parameters *** api\_version string required *** collection\_listing\_id string required *** ### Examples Retrieve a specific collection listing that is published to your app Path parameters collection\_listing\_id=482865238 string required get ## /admin/api/2025-10/collection\_listings/482865238.json ```bash curl -X GET "https://your-development-store.myshopify.com/admin/api/2025-10/collection_listings/482865238.json" \ -H "X-Shopify-Access-Token: {access_token}" ``` {} ## Response JSON ```json HTTP/1.1 200 OK { "collection_listing": { "collection_id": 482865238, "updated_at": "2025-10-01T15:04:04-04:00", "body_html": "The best selling ipod ever
", "default_product_image": null, "handle": "smart-ipods", "image": { "created_at": "2025-10-01T15:04:04-04:00", "src": "https://cdn.shopify.com/s/files/1/0005/4838/0009/collections/ipod_nano_8gb.jpg?v=1759345444" }, "title": "Smart iPods", "sort_order": "manual", "published_at": "2017-08-31T20:00:00-04:00" } } ``` ### examples * #### Retrieve a specific collection listing that is published to your app ##### ```curl curl -X GET "https://your-development-store.myshopify.com/admin/api/2025-10/collection_listings/482865238.json" \ -H "X-Shopify-Access-Token: {access_token}" ``` ##### ```remix await admin.rest.resources.CollectionListing.find({ session: session, collection_id: 482865238, }); ``` ##### ```ruby # Session is activated via Authentication test_session = ShopifyAPI::Context.active_session ShopifyAPI::CollectionListing.find( session: test_session, collection_id: 482865238, ) ``` ##### ```node // Session is built by the OAuth process await shopify.rest.CollectionListing.find({ session: session, collection_id: 482865238, }); ``` #### response ```json HTTP/1.1 200 OK{"collection_listing":{"collection_id":482865238,"updated_at":"2025-10-01T15:04:04-04:00","body_html":"The best selling ipod ever
","default_product_image":null,"handle":"smart-ipods","image":{"created_at":"2025-10-01T15:04:04-04:00","src":"https://cdn.shopify.com/s/files/1/0005/4838/0009/collections/ipod_nano_8gb.jpg?v=1759345444"},"title":"Smart iPods","sort_order":"manual","published_at":"2017-08-31T20:00:00-04:00"}} ``` *** ## getRetrieve product\_ids that are published to a collection\_id [](https://shopify.dev/docs/api/admin-graphql/latest/queries/collection) [collection](https://shopify.dev/docs/api/admin-graphql/latest/queries/collection) Retrieve `product_ids` that are published to a `collection_id`. **Note:** This endpoint implements pagination by using links that are provided in the response header. To learn more, refer to [Make paginated requests to the REST Admin API](https://shopify.dev/api/usage/pagination-rest). ### Parameters *** api\_version string required *** collection\_listing\_id string required *** limit ≤ 1000 default 50 Amount of results *** ### Examples Retrieve `product_ids` that are published to a `collection_id` Path parameters collection\_listing\_id=841564295 string required get ## /admin/api/2025-10/collection\_listings/841564295/product\_ids.json ```bash curl -X GET "https://your-development-store.myshopify.com/admin/api/2025-10/collection_listings/841564295/product_ids.json" \ -H "X-Shopify-Access-Token: {access_token}" ``` {} ## Response JSON ```json HTTP/1.1 200 OK { "product_ids": [ 632910392 ] } ``` ### examples * #### Retrieve \product\_ids\
that are published to a \collection\_id\
#####
```curl
curl -X GET "https://your-development-store.myshopify.com/admin/api/2025-10/collection_listings/841564295/product_ids.json" \
-H "X-Shopify-Access-Token: {access_token}"
```
#####
```remix
await admin.rest.resources.CollectionListing.product_ids({
session: session,
collection_id: 841564295,
});
```
#####
```ruby
# Session is activated via Authentication
test_session = ShopifyAPI::Context.active_session
ShopifyAPI::CollectionListing.product_ids(
session: test_session,
collection_id: 841564295,
)
```
#####
```node
// Session is built by the OAuth process
await shopify.rest.CollectionListing.product_ids({
session: session,
collection_id: 841564295,
});
```
#### response
```json
HTTP/1.1 200 OK{"product_ids":[632910392]}
```
***
## putCreate a collection listing to publish a collection to your app
[](https://shopify.dev/docs/api/admin-graphql/latest/mutations/collectionCreate)
[collectionCreate](https://shopify.dev/docs/api/admin-graphql/latest/mutations/collectionCreate)
[](https://shopify.dev/docs/api/admin-graphql/latest/mutations/publishablePublish?example=create-a-collection-listing-to-publish-a-collection-to-your-app)
[publishablePublish](https://shopify.dev/docs/api/admin-graphql/latest/mutations/publishablePublish?example=create-a-collection-listing-to-publish-a-collection-to-your-app)
Requires `product_listings` access scope.
Create a collection listing to publish a collection to your app
### Parameters
***
api\_version
string
required
***
collection\_listing\_id
string
required
***
### Examples
Create a collection listing to publish a collection to your app
Path parameters
collection\_listing\_id=482865238
string
required
Request body
collection\_listing
Collection\_listing resource
Show collection\_listing properties
collection\_listing.collection\_id:482865238
read-only
Identifies which collection this listing is for.
put
## /admin/api/2025-10/collection\_listings/482865238.json
```bash
curl -d '{"collection_listing":{"collection_id":482865238}}' \
-X PUT "https://your-development-store.myshopify.com/admin/api/2025-10/collection_listings/482865238.json" \
-H "X-Shopify-Access-Token: {access_token}" \
-H "Content-Type: application/json"
```
{}
## Response
JSON
```json
HTTP/1.1 200 OK
{
"collection_listing": {
"collection_id": 482865238,
"updated_at": "2025-10-01T15:04:04-04:00",
"body_html": "The best selling ipod ever
", "default_product_image": null, "handle": "smart-ipods", "image": { "created_at": "2025-10-01T15:04:04-04:00", "src": "https://cdn.shopify.com/s/files/1/0005/4838/0009/collections/ipod_nano_8gb.jpg?v=1759345444" }, "title": "Smart iPods", "sort_order": "manual", "published_at": "2017-08-31T20:00:00-04:00" } } ``` ### examples * #### Create a collection listing to publish a collection to your app ##### ```curl curl -d '{"collection_listing":{"collection_id":482865238}}' \ -X PUT "https://your-development-store.myshopify.com/admin/api/2025-10/collection_listings/482865238.json" \ -H "X-Shopify-Access-Token: {access_token}" \ -H "Content-Type: application/json" ``` ##### ```remix const { admin, session } = await authenticate.admin(request); const collection_listing = new admin.rest.resources.CollectionListing({session: session}); collection_listing.collection_id = 482865238; await collection_listing.save({ update: true, }); ``` ##### ```ruby # Session is activated via Authentication test_session = ShopifyAPI::Context.active_session collection_listing = ShopifyAPI::CollectionListing.new(session: test_session) collection_listing.collection_id = 482865238 collection_listing.save! ``` ##### ```node // Session is built by the OAuth process const collection_listing = new shopify.rest.CollectionListing({session: session}); collection_listing.collection_id = 482865238; await collection_listing.save({ update: true, }); ``` #### response ```json HTTP/1.1 200 OK{"collection_listing":{"collection_id":482865238,"updated_at":"2025-10-01T15:04:04-04:00","body_html":"The best selling ipod ever
","default_product_image":null,"handle":"smart-ipods","image":{"created_at":"2025-10-01T15:04:04-04:00","src":"https://cdn.shopify.com/s/files/1/0005/4838/0009/collections/ipod_nano_8gb.jpg?v=1759345444"},"title":"Smart iPods","sort_order":"manual","published_at":"2017-08-31T20:00:00-04:00"}} ``` *** ## delDelete a collection listing to unpublish a collection from your app [](https://shopify.dev/docs/api/admin-graphql/latest/mutations/publishableUnpublish?example=delete-a-collection-listing-to-unpublish-a-collection-from-your-app) [publishableUnpublish](https://shopify.dev/docs/api/admin-graphql/latest/mutations/publishableUnpublish?example=delete-a-collection-listing-to-unpublish-a-collection-from-your-app) Requires `product_listings` access scope. Delete a collection listing to unpublish a collection from your app ### Parameters *** api\_version string required *** collection\_listing\_id string required *** ### Examples Delete a collection listing to unpublish a collection from your app Path parameters collection\_listing\_id=841564295 string required del ## /admin/api/2025-10/collection\_listings/841564295.json ```bash curl -X DELETE "https://your-development-store.myshopify.com/admin/api/2025-10/collection_listings/841564295.json" \ -H "X-Shopify-Access-Token: {access_token}" ``` {} ## Response JSON ```json HTTP/1.1 200 OK ``` ### examples * #### Delete a collection listing to unpublish a collection from your app ##### ```curl curl -X DELETE "https://your-development-store.myshopify.com/admin/api/2025-10/collection_listings/841564295.json" \ -H "X-Shopify-Access-Token: {access_token}" ``` ##### ```remix await admin.rest.resources.CollectionListing.delete({ session: session, collection_id: 841564295, }); ``` ##### ```ruby # Session is activated via Authentication test_session = ShopifyAPI::Context.active_session ShopifyAPI::CollectionListing.delete( session: test_session, collection_id: 841564295, ) ``` ##### ```node // Session is built by the OAuth process await shopify.rest.CollectionListing.delete({ session: session, collection_id: 841564295, }); ``` #### response ```json HTTP/1.1 200 OK ```