> ## Documentation Index
> Fetch the complete documentation index at: https://docs.sequenzy.com/llms.txt
> Use this file to discover all available pages before exploring further.

# List Products

> List products in your catalog

List products in your catalog. Includes products synced from Shopify, WooCommerce, and Stripe, plus products pushed via the [Commerce API](/concepts/custom-commerce). Stripe products include attached digital delivery files when configured.

## Query Parameters

<ParamField query="limit" type="integer">
  Maximum number of products to return (1-100). Defaults to 50.
</ParamField>

<ParamField query="offset" type="integer">
  Number of products to skip. Defaults to 0.
</ParamField>

<ParamField query="provider" type="string">
  Filter products by source: `api`, `stripe`, `shopify`, `woocommerce`, or `manual`.
</ParamField>

```bash theme={null}
curl "https://api.sequenzy.com/api/v1/products?provider=stripe&limit=50" \
  -H "Authorization: Bearer YOUR_API_KEY"
```

## Responses

<ResponseExample>
  ```json 200 theme={null}
  {
    "success": true,
    "products": [
      {
        "id": "prod_abc123",
        "productId": "SKU-PROTEIN-1KG",
        "provider": "api",
        "title": "Protein Powder",
        "priceCents": 8850,
        "currency": "USD",
        "inStock": true,
        "variants": [],
        "digitalDelivery": null
      }
    ],
    "pagination": {
      "limit": 50,
      "offset": 0,
      "count": 1
    }
  }
  ```

  ```json 400 theme={null}
  {
    "success": false,
    "error": "Invalid provider. Expected one of: api, stripe, shopify, woocommerce, manual"
  }
  ```

  ```json 401 theme={null}
  {
    "success": false,
    "error": "Invalid or missing API key"
  }
  ```
</ResponseExample>
