Returns a paginated list of products for the current store.
Required scope: read_products (for API-key authentication).
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 398974",
"slug": "product-398974",
"meta_title": null,
"meta_description": null,
"meta_keywords": null,
"variant_count": 0,
"available_on": "2025-05-17T22:58:13.003Z",
"purchasable": true,
"in_stock": false,
"backorderable": true,
"available": true,
"description": "Officiis magnam distinctio voluptatibus dolores provident. Quae neque corrupti natus id voluptatem occaecati. Eos commodi deserunt quas voluptatibus occaecati ut minus impedit. Molestias tempora quaerat fuga animi occaecati autem voluptatem. Ad error reiciendis odit architecto asperiores quaerat laborum a. Quisquam voluptas cupiditate saepe corporis. Rerum quibusdam odio recusandae minima. Rerum reprehenderit magnam qui exercitationem. Debitis ex optio rem facere officia maiores. Assumenda amet deserunt omnis reiciendis repellendus. Facere cupiditate tempore vel itaque minus. Possimus quisquam error atque recusandae vel. Pariatur repudiandae nam consequuntur fuga voluptates blanditiis dolores beatae. Temporibus vitae nam odio velit voluptatibus.",
"description_html": "Officiis magnam distinctio voluptatibus dolores provident. Quae neque corrupti natus id voluptatem occaecati. Eos commodi deserunt quas voluptatibus occaecati ut minus impedit. Molestias tempora quaerat fuga animi occaecati autem voluptatem.\nAd error reiciendis odit architecto asperiores quaerat laborum a. Quisquam voluptas cupiditate saepe corporis. Rerum quibusdam odio recusandae minima. Rerum reprehenderit magnam qui exercitationem. Debitis ex optio rem facere officia maiores.\nAssumenda amet deserunt omnis reiciendis repellendus. Facere cupiditate tempore vel itaque minus. Possimus quisquam error atque recusandae vel. Pariatur repudiandae nam consequuntur fuga voluptates blanditiis dolores beatae. Temporibus vitae nam odio velit voluptatibus.",
"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-05-17T22:58:13.027Z",
"updated_at": "2026-05-17T22:58:13.027Z"
},
"original_price": null,
"status": "active",
"make_active_at": "2025-05-17T22:58:13.003Z",
"discontinue_on": null,
"metadata": {},
"deleted_at": null,
"created_at": "2026-05-17T22:58:13.014Z",
"updated_at": "2026-05-17T22:58:13.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
}
}Documentation Index
Fetch the complete documentation index at: https://spreecommerce.org/docs/llms.txt
Use this file to discover all available pages before exploring further.
Secret API key for admin access
JWT token for admin user authentication
Bearer token for admin authentication
Page number
Number of records per page
Sort field (e.g., name, -name, price, -price, best_selling)
Comma-separated associations to expand (e.g., variants, media, option_types, categories). Use dot notation for nested expand (max 4 levels).
Comma-separated list of fields to include (e.g., name,slug,price,status). id is always included.
Filter by name (contains)
Filter by status
Was this page helpful?
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 398974",
"slug": "product-398974",
"meta_title": null,
"meta_description": null,
"meta_keywords": null,
"variant_count": 0,
"available_on": "2025-05-17T22:58:13.003Z",
"purchasable": true,
"in_stock": false,
"backorderable": true,
"available": true,
"description": "Officiis magnam distinctio voluptatibus dolores provident. Quae neque corrupti natus id voluptatem occaecati. Eos commodi deserunt quas voluptatibus occaecati ut minus impedit. Molestias tempora quaerat fuga animi occaecati autem voluptatem. Ad error reiciendis odit architecto asperiores quaerat laborum a. Quisquam voluptas cupiditate saepe corporis. Rerum quibusdam odio recusandae minima. Rerum reprehenderit magnam qui exercitationem. Debitis ex optio rem facere officia maiores. Assumenda amet deserunt omnis reiciendis repellendus. Facere cupiditate tempore vel itaque minus. Possimus quisquam error atque recusandae vel. Pariatur repudiandae nam consequuntur fuga voluptates blanditiis dolores beatae. Temporibus vitae nam odio velit voluptatibus.",
"description_html": "Officiis magnam distinctio voluptatibus dolores provident. Quae neque corrupti natus id voluptatem occaecati. Eos commodi deserunt quas voluptatibus occaecati ut minus impedit. Molestias tempora quaerat fuga animi occaecati autem voluptatem.\nAd error reiciendis odit architecto asperiores quaerat laborum a. Quisquam voluptas cupiditate saepe corporis. Rerum quibusdam odio recusandae minima. Rerum reprehenderit magnam qui exercitationem. Debitis ex optio rem facere officia maiores.\nAssumenda amet deserunt omnis reiciendis repellendus. Facere cupiditate tempore vel itaque minus. Possimus quisquam error atque recusandae vel. Pariatur repudiandae nam consequuntur fuga voluptates blanditiis dolores beatae. Temporibus vitae nam odio velit voluptatibus.",
"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-05-17T22:58:13.027Z",
"updated_at": "2026-05-17T22:58:13.027Z"
},
"original_price": null,
"status": "active",
"make_active_at": "2025-05-17T22:58:13.003Z",
"discontinue_on": null,
"metadata": {},
"deleted_at": null,
"created_at": "2026-05-17T22:58:13.014Z",
"updated_at": "2026-05-17T22:58:13.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
}
}