Skip to main content
GET
/
vendor
/
products
curl 'http://localhost:9000/vendor/products?limit=20&status[]=published' \
  -H 'Authorization: Bearer <token>' \
  -H 'x-seller-id: <seller_id>'
{
  "products": [
    {
      "id": "prod_01HXYZ",
      "title": "Acme T-Shirt",
      "status": "published",
      "handle": "acme-t-shirt",
      "thumbnail": "https://cdn.example.com/shirt.png",
      "variants": [
        { "id": "variant_01HXYZ", "title": "M", "sku": "ACME-SHIRT-M" }
      ]
    }
  ],
  "count": 1,
  "offset": 0,
  "limit": 20
}
Returns products the seller created plus published products that are not restricted from the seller.
Products are shared master records. This list includes catalog products from other sellers (when published and unrestricted) so you can create offers against them.

Query parameters

limit
number
default:"50"
The maximum number of products to return.
offset
number
default:"0"
The number of products to skip before returning results.
order
string
The field to sort by, e.g. created_at or -created_at for descending.
fields
string
Comma-separated fields to include in the response. Prefix with +/- to add to or remove from the defaults. Include variants.offers to attach the seller’s offers to each variant.
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.
status
string[]
Filter by status. Values: draft, proposed, published, 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 the seller has (or has not) created an offer for.
created_at
object
Filter by creation date using operators like $gt, $lt, $gte, $lte.
updated_at
object
Filter by update date using operators like $gt, $lt, $gte, $lte.
deleted_at
object
Filter by deletion date using operators like $gt, $lt, $gte, $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/vendor/products?limit=20&status[]=published' \
  -H 'Authorization: Bearer <token>' \
  -H 'x-seller-id: <seller_id>'
{
  "products": [
    {
      "id": "prod_01HXYZ",
      "title": "Acme T-Shirt",
      "status": "published",
      "handle": "acme-t-shirt",
      "thumbnail": "https://cdn.example.com/shirt.png",
      "variants": [
        { "id": "variant_01HXYZ", "title": "M", "sku": "ACME-SHIRT-M" }
      ]
    }
  ],
  "count": 1,
  "offset": 0,
  "limit": 20
}