Shopify Collection API
One collection with the filter facets and counts the store uses.
GET /v1/shopify/collections/{handle}1 credit Failed requests are free
About this endpoint
GET /v1/shopify/collections/{handle}?store=… returns data.collection with the summary fields plus filters. Each filter has id, label, type, presentation and values; each value has id, label, count, input and an optional swatch colour.
The facets are the ones the store exposes for that collection, so they are the right source for a category page's filter sidebar. A missing handle returns not_found with collection null.
Shopify Collection API FAQ
What can I do with filters?
Each filter value carries its label, matching count and the input the store uses. Use it to mirror the store's own category filters.
Why is productsCount null?
The store did not expose the count on this answer. It is null rather than guessed.
What if the collection has moved?
The answer is not_found with collection null. Use the collection list to find the current handle.
How do I name the store?
The store is the domain, for example allbirds.com, www.allbirds.com or weareallbirds.myshopify.com. A full URL is reduced to its host.
How is it billed?
Pricing is documented on the operation in the API registry (shown on this page). Confirm on every response with meta.creditsCharged: that field is the billing source of truth.
What does lookupStatus mean?
found means the lookup succeeded. not_found means the store or entity does not exist or is not a Shopify store. private means the storefront is password-protected. restricted means it is paused or frozen. HTTP 200 only means the request finished, so branch on lookupStatus.