--- title: Unlisted product status description: Learn how to use the unlisted product status source_url: html: 'https://shopify.dev/docs/apps/build/product-merchandising/unlisted-products' md: >- https://shopify.dev/docs/apps/build/product-merchandising/unlisted-products.md --- # Unlisted product status Unlisted is a [`ProductStatus`](https://shopify.dev/docs/api/admin-graphql/latest/enums/productstatus) that hides a product from internet search (by adding `noindex` and `nofollow` meta tags to the Online store product page), your store's sitemap, and [Shopify Catalog](https://help.shopify.com/en/manual/promoting-marketing/seo/shopify-catalog). An unlisted product doesn't display in Shopify-powered [collection pages](https://help.shopify.com/en/manual/products/collections), [search results](https://help.shopify.com/en/manual/online-store/storefront-search/search-behavior) including [predictive search](https://help.shopify.com/en/manual/online-store/storefront-search/predictive-search), or [product recommendations](https://help.shopify.com/en/manual/online-store/storefront-search/search-and-discovery-recommendations) in your storefront. This is useful for scenarios like private sales, warranties, or "free gift with purchase" products that you don't want discovered outside of their intended uses. Unlisted is available as a new product status value in the latest GraphQL Admin API and Webhooks API. Note: Older versions of Admin API (prior to 2025-10) return product status for unlisted products as `active`. Review considerations for setting a product's status as [Unlisted](https://help.shopify.com/en/manual/products/details/product-details-page#unlisted-products). *** ## How to query and set unlisted as a product status * GraphQL Admin API: You can query and set the unlisted status through the new `unlisted` enum in [`ProductStatus`](https://shopify.dev/docs/api/admin-graphql/latest/enums/productstatus). * Webhooks API: You can query the unlisted status with the Webhooks API on [`products/update`](https://shopify.dev/docs/api/webhooks/2025-10?accordionItem=webhooks-products-update\&reference=toml) topics. *** ## How unlisted products are hidden Unlisted products are hidden across the following buyer-facing surfaces: * Shopify storefront search, collections, and recommendations * Internet Search (for online store product pages): * `` headers are added on the online store product details page. * Won't be listed in `sitemap.xml`. * [Shopify Catalog](https://help.shopify.com/en/manual/promoting-marketing/seo/shopify-catalog) *** ## How unlisted products are discovered across buyer surfaces Unlisted products aren’t indexed or linked by default. They’re available only when referenced directly. In cart, checkout, orders, and other post‑purchase surfaces, unlisted products behave like active products. > Note: [Shop App](https://shop.app/) is not supported. ### Storefront API * Metafield of type `variant_reference` and `product_reference` (see [list of data types](https://shopify.dev/docs/apps/build/custom-data/metafields/list-of-data-types)). * `id` or `handle`: * Example: `query getProduct { product(handle:"unlisted-product-handle"){ title } }` > Note: Can't be accessed via the `query` param on any root. ### Liquid API * If a buyer can access the product URL, the page will render the [product object](https://shopify.dev/docs/api/liquid/objects/product). Buyers might obtain the URL via a guessable handle, data from the [Cart AJAX API](https://shopify.dev/docs/api/ajax/reference/cart), a previously shared link, or an app. * Any page with: * Metafield of type `variant_reference` and `product_reference` (see [list of data types](https://shopify.dev/docs/apps/build/custom-data/metafields/list-of-data-types)). * `all_products` drop and the product handle (see [liquid all\_products](https://shopify.dev/docs/api/liquid/objects/all_products)). Buyers could obtain a link to an unlisted product if linked on the storefront or an external website. ***