Skip to main content
GET
/
api
/
v3
/
admin
/
products
Spree Admin SDK
import { createAdminClient } from '@spree/admin-sdk'

const client = createAdminClient({
  baseUrl: 'https://your-store.com',
  secretKey: 'sk_xxx',
})

const { data: products } = await client.products.list({
  name_cont: 'shirt',
  status_eq: 'active',
  sort: '-created_at',
  limit: 25,
})
{
  "data": [
    {
      "id": "prod_UkLWZg9DAJ",
      "name": "Product 574468",
      "slug": "product-574468",
      "meta_title": null,
      "meta_description": null,
      "meta_keywords": null,
      "variant_count": 0,
      "available_on": null,
      "purchasable": true,
      "in_stock": false,
      "backorderable": true,
      "available": true,
      "description": "Omnis iusto quisquam repellat voluptatem rem porro reiciendis animi. Officia iure neque consequatur dolorum. Porro saepe perspiciatis sequi aperiam nam non deserunt libero. Maiores harum alias nihil illo praesentium. Excepturi modi molestias ullam similique officiis consequatur. Error minus consequatur perspiciatis optio molestiae non ratione placeat. Velit perspiciatis hic qui voluptatum non repudiandae unde quisquam. At vero ea sit necessitatibus sapiente ullam nostrum. Quae facilis ipsum voluptatum temporibus sint harum. Veniam odit nam ducimus dolores numquam. Esse aut architecto velit vitae ratione. Qui laborum eligendi assumenda quia quasi eum incidunt. In aspernatur nulla exercitationem veniam. Quia inventore provident quo vel perspiciatis adipisci.",
      "description_html": "Omnis iusto quisquam repellat voluptatem rem porro reiciendis animi. Officia iure neque consequatur dolorum. Porro saepe perspiciatis sequi aperiam nam non deserunt libero. Maiores harum alias nihil illo praesentium. Excepturi modi molestias ullam similique officiis consequatur.\nError minus consequatur perspiciatis optio molestiae non ratione placeat. Velit perspiciatis hic qui voluptatum non repudiandae unde quisquam. At vero ea sit necessitatibus sapiente ullam nostrum. Quae facilis ipsum voluptatum temporibus sint harum. Veniam odit nam ducimus dolores numquam.\nEsse aut architecto velit vitae ratione. Qui laborum eligendi assumenda quia quasi eum incidunt. In aspernatur nulla exercitationem veniam. Quia inventore provident quo vel perspiciatis adipisci.",
      "default_variant_id": "variant_UkLWZg9DAJ",
      "thumbnail_url": null,
      "tags": [],
      "price": {
        "id": "price_UkLWZg9DAJ",
        "amount": "19.99",
        "amount_in_cents": 1999,
        "compare_at_amount": null,
        "compare_at_amount_in_cents": null,
        "currency": "USD",
        "display_amount": "$19.99",
        "display_compare_at_amount": null,
        "price_list_id": null,
        "variant_id": "variant_UkLWZg9DAJ",
        "created_at": "2026-06-17T13:37:41.022Z",
        "updated_at": "2026-06-17T13:37:41.022Z"
      },
      "original_price": null,
      "status": "active",
      "metadata": {},
      "deleted_at": null,
      "created_at": "2026-06-17T13:37:41.012Z",
      "updated_at": "2026-06-17T13:37:41.028Z",
      "tax_category_id": "taxcat_UkLWZg9DAJ"
    }
  ],
  "meta": {
    "page": 1,
    "limit": 25,
    "count": 1,
    "pages": 1,
    "from": 1,
    "to": 1,
    "in": 1,
    "previous": null,
    "next": null
  }
}

Authorizations

x-spree-api-key
string
header
required

Secret API key for admin access

Authorization
string
header
required

JWT token for admin user authentication

Headers

x-spree-api-key
string
required
Authorization
string
required

Bearer token for admin authentication

Query Parameters

page
integer

Page number

limit
integer

Number of records per page

sort
string

Sort field (e.g., name, -name, price, -price, best_selling)

expand
string

Comma-separated associations to expand (e.g., variants, media, option_types, categories). Use dot notation for nested expand (max 4 levels).

fields
string

Comma-separated list of fields to include (e.g., name,slug,price,status). id is always included.

q[name_cont]
string

Filter by name (contains)

q[status_eq]
string

Filter by status

Response

products found

data
object[]
required
meta
object
required