---
title: "Get a product collection"
method: GET
path: "/product_collections/{id}"
tags: ["Products"]
---

# Get a product collection

`GET /product_collections/{id}`

## Request

- Base URL: `https://api.privy.com/v1`
- URL: `https://api.privy.com/v1/product_collections/{id}`
- Auth: HTTP bearer

Retrieve one collection (Shopify) or category (BigCommerce) of your connected store
by its store id, the `id` a `purchase_history` segment condition's `collection` filter holds.

Requires a connected Shopify or BigCommerce store — without one, this endpoint returns
`404 no_connected_store`.

**Required scope:** `products_read`

## Path parameters

- `id` integer, required

## Headers

- `Privy-Account-Id` string

## Response `200`

The collection.

- object
  - `data` ProductCollection: A collection of the connected store's products — a Shopify collection or a BigCommerce category.
    - `id` integer: The store's collection id. Use this value in a `purchase_history` segment condition's `collection` filter.
    - `handle` string, nullable: The collection's URL slug. On BigCommerce, which has no handles, it is the last segment of the category's storefront path, and `null` when the category has none.
    - `title` string

## Other responses

- `401`: Missing or invalid bearer token.
- `403`: `insufficient_scope` when the token lacks the required scope for this endpoint.
- `404`: The requested resource does not exist or does not belong to your account.
- `429`: Rate limit exceeded — either Privy's API rate limit (code `rate_limited`, with the `X-RateLimit-*` headers) or the connected store's own quota passed through (code `store_rate_limited`). `Retry-After` carries the wait when it is known — BigCommerce's reset window, or a wait derived from Shopify's throttle cost payload.
- `502`: The connected store's API could not be reached or returned an error. Retry shortly.

## Changes

- **2026-11-05** `cf0885e90d5a`: 10 warning
  - added the new `forbidden` enum value to the `error/code` response property for the response status `401`
  - added the new `forbidden` enum value to the `error/code` response property for the response status `403`
  - added the new `forbidden` enum value to the `error/code` response property for the response status `404`
  - added the new `forbidden` enum value to the `error/code` response property for the response status `429`
  - …6 more
- **2026-11-03** `fe500ab59b3b`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/privy/apis/privy-api/changes/product_collections/:id/get.md)

---

[API](https://skmtc.dev/privy/apis/privy-api.md) - [All operations](https://skmtc.dev/privy/apis/privy-api/llms.txt) - [OpenAPI document](https://skmtc.dev/privy/apis/privy-api/revisions/bc29b48dcdd2?raw)
