Developers
Products

List products

GET
/products

Lists the store's products, newest first, each with its variants, prices and stock. Deleted products and variants are left out. Filter by status, type, SKU or date.

Authorization

apiKey
headerAuthorizationBearer <token>

A store API key from Settings → Developers → API keys, sent as Authorization: Bearer zk_live_….

Query Parameters

limit?integer

Page size, 1–100

Range1 <= value <= 100
Default25
cursor?string

next_cursor from the previous page

Lengthlength <= 500
order?string

Sort by created_at; newest first by default

Default"desc"
Value in"desc""asc"
created_after?string

Only records created after this time

Formatdate-time
created_before?string

Only records created before this time

Formatdate-time
updated_after?string

Only records changed after this time — poll with your last sync time

Formatdate-time
updated_before?string

Only records changed before this time

Formatdate-time
status?string
Value in"pending""approved""deleted""archived""featured""in_review""draft"
type?string
Value in"physical""digital""consulting""webinar"
sku?string

Only products with a variant of this exact SKU

Lengthlength <= 100

Response Body

Success

application/json
  1. response
object*"list"
Value in"list"
data*array<>
has_more*boolean

Whether another page exists

next_cursor*string

Pass as cursor to get the next page; null on the last

curl -X GET "https://example.com/products"
{  "object": "list",  "data": [    {      "object": "product",      "id": "00000000-0000-4000-8000-0000000000a1",      "name": "Classic T-shirt",      "slug": "classic-t-shirt",      "type": "physical",      "status": "approved",      "currency": "SAR",      "min_price": "108.00",      "max_price": "108.00",      "category_id": null,      "tags": [        "summer"      ],      "images": [        "https://cdn.example.com/products/classic-t-shirt.jpg"      ],      "translations": [        {          "locale": "en",          "name": "Classic T-shirt",          "description": "100% cotton."        },        {          "locale": "ar",          "name": "تيشيرت كلاسيكي",          "description": "قطن ١٠٠٪."        }      ],      "variants": [        {          "object": "product_variant",          "id": "00000000-0000-4000-8000-0000000000b1",          "product_id": "00000000-0000-4000-8000-0000000000a1",          "title": "Medium / Black",          "sku": "TSHIRT-M-BLK",          "barcode": null,          "price": "120.00",          "discount_type": "percentage",          "discount_value": "10.00",          "stock": 42,          "low_stock_threshold": 5,          "option1": "Medium",          "option2": "Black",          "option3": null,          "position": 1,          "image_url": null,          "created_at": "2026-09-01T08:00:00.000Z",          "updated_at": "2026-10-01T09:30:00.000Z"        }      ],      "created_at": "2026-09-01T08:00:00.000Z",      "updated_at": "2026-10-01T09:30:00.000Z"    }  ],  "has_more": false,  "next_cursor": null}