# collection - storefront - QUERY Version: 2025-01 ## Description Fetch a specific `Collection` by one of its unique attributes. ### Access Scopes ## Arguments * [handle](/docs/api/storefront/2025-01/scalars/String): String - The handle of the `Collection`. * [id](/docs/api/storefront/2025-01/scalars/ID): ID - The ID of the `Collection`. ## Returns * [description](/docs/api/storefront/2025-01/scalars/String): String! Stripped description of the collection, single line with HTML tags removed. * [descriptionHtml](/docs/api/storefront/2025-01/scalars/HTML): HTML! The description of the collection, complete with HTML formatting. * [handle](/docs/api/storefront/2025-01/scalars/String): String! A human-friendly unique string for the collection automatically generated from its title. Limit of 255 characters. * [id](/docs/api/storefront/2025-01/scalars/ID): ID! A globally-unique ID. * [image](/docs/api/storefront/2025-01/objects/Image): Image Image associated with the collection. * [metafield](/docs/api/storefront/2025-01/objects/Metafield): Metafield A [custom field](https://shopify.dev/docs/apps/build/custom-data), including its `namespace` and `key`, that's associated with a Shopify resource for the purposes of adding and storing additional information. * [metafields](/docs/api/storefront/2025-01/objects/Metafield): Metafield! A list of [custom fields](/docs/apps/build/custom-data) that a merchant associates with a Shopify resource. * [onlineStoreUrl](/docs/api/storefront/2025-01/scalars/URL): URL The URL used for viewing the resource on the shop's Online Store. Returns `null` if the resource is currently not published to the Online Store sales channel. * [seo](/docs/api/storefront/2025-01/objects/SEO): SEO! The collection's SEO information. * [title](/docs/api/storefront/2025-01/scalars/String): String! The collection’s name. Limit of 255 characters. * [trackingParameters](/docs/api/storefront/2025-01/scalars/String): String URL parameters to be added to a page URL to track the origin of on-site search traffic for [analytics reporting](https://help.shopify.com/manual/reports-and-analytics/shopify-reports/report-types/default-reports/behaviour-reports). Returns a result when accessed through the [search](https://shopify.dev/docs/api/storefront/current/queries/search) or [predictiveSearch](https://shopify.dev/docs/api/storefront/current/queries/predictiveSearch) queries, otherwise returns null. * [updatedAt](/docs/api/storefront/2025-01/scalars/DateTime): DateTime! The date and time when the collection was last modified. ## Examples ### Retrieve a single collection by ID Curl example: "curl -X POST \\\nhttps://your-development-store.myshopify.com/api/2025-01/graphql.json \\\n-H 'Content-Type: application/json' \\\n-H 'X-Shopify-Storefront-Access-Token: {storefront_access_token}' \\\n-d '{\n\"query\": \"query getCollectionById($id: ID!) { collection(id: $id) { title } }\"\n}'\n" Node example: "const client = new shopify.clients.Storefront({\n domain: 'your-development-store.myshopify.com',\n storefrontAccessToken,\n});\nconst data = await client.query({\n data: `query getCollectionById($id: ID!) {\n collection(id: $id) {\n title\n }\n }`,\n});\n" Ruby example: null Remix example: "const { storefront } = await unauthenticated.storefront(\n 'your-development-store.myshopify.com'\n);\n\nconst response = await storefront.graphql(\n `#graphql\n query getCollectionById($id: ID!) {\n collection(id: $id) {\n title\n }\n }`,\n);\n\nconst data = await response.json();\n" Graphql query: "query getCollectionById($id: ID!) {\n collection(id: $id) {\n title\n }\n}" #### Graphql Input null #### Graphql Response { "data": { "collection": { "title": "FrontPage" } } } ### Retrieve a single collection by handle Curl example: "curl -X POST \\\nhttps://your-development-store.myshopify.com/api/2025-01/graphql.json \\\n-H 'Content-Type: application/json' \\\n-H 'X-Shopify-Storefront-Access-Token: {storefront_access_token}' \\\n-d '{\n\"query\": \"query getCollectionByHandle($handle: String!) { collection(handle: $handle) { title } }\"\n}'\n" Node example: "const client = new shopify.clients.Storefront({\n domain: 'your-development-store.myshopify.com',\n storefrontAccessToken,\n});\nconst data = await client.query({\n data: `query getCollectionByHandle($handle: String!) {\n collection(handle: $handle) {\n title\n }\n }`,\n});\n" Ruby example: null Remix example: "const { storefront } = await unauthenticated.storefront(\n 'your-development-store.myshopify.com'\n);\n\nconst response = await storefront.graphql(\n `#graphql\n query getCollectionByHandle($handle: String!) {\n collection(handle: $handle) {\n title\n }\n }`,\n);\n\nconst data = await response.json();\n" Graphql query: "query getCollectionByHandle($handle: String!) {\n collection(handle: $handle) {\n title\n }\n}" #### Graphql Input null #### Graphql Response { "data": { "collection": { "title": "FrontPage" } } }