> **For coding agents and LLMs:** This is one Social Fetch marketing page (markdown export). For API orientation start with [`/llms.txt`](https://www.socialfetch.dev/llms.txt); for auth and crawl rules use [`/agents.txt`](https://www.socialfetch.dev/agents.txt); for every operation use [`/llms-endpoints.txt`](https://www.socialfetch.dev/llms-endpoints.txt).

## This page

- **On-site (HTML):** <https://www.socialfetch.dev/platforms/shopify/collections-handle-products>
- **Markdown (.mdx) URL:** <https://www.socialfetch.dev/platforms/shopify/collections-handle-products.mdx>

---

# Shopify Collection Products API

A collection's products with the store's filters, sort and facets.

`GET /v1/shopify/collections/{handle}/products?store=…` returns `data.collection` with `id`, `handle` and `title`, `data.products` as product summaries, `data.filters` with the collection's facets and `data.page`.

Filter with `available`, `priceMin`, `priceMax`, `productType`, `vendor` or `tag`, and sort with `collection_default`, `best_selling`, `created`, `price` or `title`. A collection cannot be sorted by vendor or product type; filter on them instead. `priceMin` and `priceMax` are decimal amounts in the store's currency; a minimum above the maximum is a 400.

## Request

- **Endpoint:** `GET /v1/shopify/collections/{handle}/products`
- **Credits:** 1 credit
Failed requests are free
- **Input:** by store and handle
- **Full reference:** [docs](https://www.socialfetch.dev/docs/api/v1/shopify/collections/handle/products/get)
- **Platform page:** [/platforms/shopify](https://www.socialfetch.dev/platforms/shopify)

## FAQ

### What are priceMin and priceMax?

Decimal amounts in the store's currency. They filter on the product's price. priceMin must not be greater than priceMax.

### How is collection_default different from best_selling?

collection_default keeps the order the merchant set for the collection. best_selling uses the store's sales order.

### Do I get filter counts?

Yes. filters is the collection's facets with a count on each value.

### 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. Each paginated page is a separate billed request.

### 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.
