Skip to main content
GET
/
store
/
products
curl 'http://localhost:9000/store/products?limit=20&region_id=reg_01JB2K4S1T&fields=*variants.calculated_price' \
  -H 'x-publishable-api-key: pk_01JB2K3XYZ'
{
  "products": [
    {
      "id": "prod_01JB2K5M8N",
      "title": "Linen Shirt",
      "subtitle": null,
      "status": "published",
      "description": "A breathable linen shirt.",
      "handle": "linen-shirt",
      "is_giftcard": false,
      "discountable": true,
      "thumbnail": "https://cdn.example.com/linen-shirt.png",
      "collection": null,
      "type": null,
      "tags": [],
      "images": [],
      "categories": [{ "id": "pcat_01JB2K6A2B", "name": "Shirts" }],
      "options": [{ "id": "opt_01JB2K6C3D", "title": "Size", "values": [{ "value": "M" }] }],
      "variants": [
        {
          "id": "variant_01JB2K6E4F",
          "title": "M",
          "offer_id": "offer_01JB2K6G5H",
          "calculated_price": {
            "calculated_amount": 4500,
            "original_amount": 5000,
            "currency_code": "eur"
          }
        }
      ],
      "product_attribute_values": [],
      "scoped_attributes": [],
      "metadata": null,
      "created_at": "2026-05-01T10:00:00.000Z",
      "updated_at": "2026-05-01T10:00:00.000Z"
    }
  ],
  "count": 42,
  "offset": 0,
  "limit": 20
}
Returns a paginated list of published products belonging to open, visible sellers.
Customer authentication is optional. When a customer token is provided, the customer’s group memberships are included in the pricing context, which can change variants.calculated_price results. Variant prices are only computed when you request variants.calculated_price in fields (or pass region_id); the calculated price reflects the cheapest offer for each variant.

Query parameters

limit
number
default:"50"
Maximum number of products to return.
offset
number
default:"0"
Number of products to skip before collecting results.
order
string
Field to sort by, prefixed with - for descending order (for example -created_at).
fields
string
Comma-separated fields and relations to include; prefix with +/- to add to or remove from the defaults.
q
string
Free-text search term applied to product fields.
id
string | string[]
Filter by one or more product IDs.
title
string
Filter by exact product title.
handle
string
Filter by product handle.
collection_id
string | string[]
Filter by one or more collection IDs.
type_id
string | string[]
Filter by one or more product type IDs.
category_id
string | string[]
Filter by one or more category IDs; only active, non-internal categories match.
tag_id
string | string[]
Filter by one or more tag IDs.
is_giftcard
boolean
Filter by gift-card products.
region_id
string
Region used to build the pricing context for variants.calculated_price.
currency_code
string
Currency used in the pricing context.
created_at
object
Filter by creation date using operators like $gt, $gte, $lt, $lte.
updated_at
object
Filter by update date using operators like $gt, $gte, $lt, $lte.
$and
object[]
Join multiple filter objects with a logical AND.
$or
object[]
Join multiple filter objects with a logical OR.

Response

products
object[]
count
number
Total number of matching products.
offset
number
Number of skipped products.
limit
number
Maximum number of returned products.
curl 'http://localhost:9000/store/products?limit=20&region_id=reg_01JB2K4S1T&fields=*variants.calculated_price' \
  -H 'x-publishable-api-key: pk_01JB2K3XYZ'
{
  "products": [
    {
      "id": "prod_01JB2K5M8N",
      "title": "Linen Shirt",
      "subtitle": null,
      "status": "published",
      "description": "A breathable linen shirt.",
      "handle": "linen-shirt",
      "is_giftcard": false,
      "discountable": true,
      "thumbnail": "https://cdn.example.com/linen-shirt.png",
      "collection": null,
      "type": null,
      "tags": [],
      "images": [],
      "categories": [{ "id": "pcat_01JB2K6A2B", "name": "Shirts" }],
      "options": [{ "id": "opt_01JB2K6C3D", "title": "Size", "values": [{ "value": "M" }] }],
      "variants": [
        {
          "id": "variant_01JB2K6E4F",
          "title": "M",
          "offer_id": "offer_01JB2K6G5H",
          "calculated_price": {
            "calculated_amount": 4500,
            "original_amount": 5000,
            "currency_code": "eur"
          }
        }
      ],
      "product_attribute_values": [],
      "scoped_attributes": [],
      "metadata": null,
      "created_at": "2026-05-01T10:00:00.000Z",
      "updated_at": "2026-05-01T10:00:00.000Z"
    }
  ],
  "count": 42,
  "offset": 0,
  "limit": 20
}