Skip to main content
GET
/
admin
/
products
curl 'http://localhost:9000/admin/products?status[]=published&limit=20' \
  -H 'Authorization: Bearer <token>'
{
  "products": [
    {
      "id": "prod_01HXYZABCDEF",
      "title": "Linen Shirt",
      "handle": "linen-shirt",
      "status": "published",
      "thumbnail": "https://cdn.example.com/linen-shirt.png",
      "variants": [
        { "id": "variant_01HXYZABCDEF", "title": "M", "sku": "LS-M", "variant_rank": 0 }
      ],
      "created_at": "2026-06-01T10:00:00.000Z",
      "updated_at": "2026-06-01T10:00:00.000Z"
    }
  ],
  "count": 1,
  "offset": 0,
  "limit": 20
}
Returns all products across the marketplace, with optional filtering by status, seller, category, and more.

Query parameters

limit
number
default:"50"
Maximum number of records to return.
offset
number
default:"0"
Number of records to skip.
order
string
Field to sort by, prefix with - for descending order.
fields
string
Comma-separated list of fields to include, prefix with +/- to add or remove from defaults.
q
string
Search term matched against product fields.
id
string | string[]
Filter by product ID(s).
title
string
Filter by product title.
handle
string
Filter by product handle.
seller_id
string | string[]
Filter by the seller(s) eligible to sell the product.
status
string[]
Filter by status: draft, proposed, published, or rejected.
collection_id
string | string[]
Filter by collection ID(s).
type_id
string | string[]
Filter by product type ID(s).
category_id
string | string[]
Filter by category ID(s).
tag_id
string | string[]
Filter by tag ID(s).
sku
string
Filter by variant SKU.
ean
string
Filter by variant EAN.
upc
string
Filter by variant UPC.
barcode
string
Filter by variant barcode.
has_offer
boolean
Filter to products that have (or don’t have) seller offers.
created_at
object
Filter by creation date with operators like $gte, $lte.
updated_at
object
Filter by update date with operators like $gte, $lte.
deleted_at
object
Filter by deletion date with operators like $gte, $lte.

Response

products
object[]
count
number
Total number of matching products.
offset
number
Number of records skipped.
limit
number
Number of records returned.
curl 'http://localhost:9000/admin/products?status[]=published&limit=20' \
  -H 'Authorization: Bearer <token>'
{
  "products": [
    {
      "id": "prod_01HXYZABCDEF",
      "title": "Linen Shirt",
      "handle": "linen-shirt",
      "status": "published",
      "thumbnail": "https://cdn.example.com/linen-shirt.png",
      "variants": [
        { "id": "variant_01HXYZABCDEF", "title": "M", "sku": "LS-M", "variant_rank": 0 }
      ],
      "created_at": "2026-06-01T10:00:00.000Z",
      "updated_at": "2026-06-01T10:00:00.000Z"
    }
  ],
  "count": 1,
  "offset": 0,
  "limit": 20
}