Skip to main content
GET
/
api
/
v3
/
store
/
products
/
{id}
Spree SDK
import { createClient } from '@spree/sdk'

const client = createClient({
  baseUrl: 'https://your-store.com',
  publishableKey: '<api-key>',
})

const product = await client.products.get('spree-tote', {
  expand: ['variants', 'images'],
})
{
  "id": "prod_UkLWZg9DAJ",
  "name": "Product 916887",
  "description": "Velit atque repudiandae omnis ipsa magnam. Eaque molestiae facere consequatur molestias. Eius consequuntur sequi maxime quo.\nFacilis sed quasi laborum magnam repudiandae occaecati culpa ducimus. Illum dignissimos vero velit beatae non adipisci. Cupiditate deleniti adipisci nisi officia.\nSaepe iure odit rerum voluptatibus repudiandae blanditiis deleniti sequi. Fugit suscipit illum saepe cum et dignissimos. Autem nemo consectetur quae qui beatae nulla nostrum voluptatibus. Incidunt beatae dolore tempora amet corrupti quaerat quisquam.\nVel quibusdam libero perspiciatis natus facere. Molestias accusantium cupiditate molestiae suscipit. Quidem perferendis facere laboriosam odio iste cum. Error illum deleniti non minus mollitia.",
  "slug": "product-916887",
  "meta_description": null,
  "meta_keywords": null,
  "variant_count": 1,
  "available_on": "2025-03-11T14:46:29.120Z",
  "created_at": "2026-03-11T14:46:29.134Z",
  "updated_at": "2026-03-11T14:46:29.237Z",
  "purchasable": true,
  "in_stock": false,
  "backorderable": true,
  "available": true,
  "default_variant_id": "variant_gbHJdmfrXB",
  "thumbnail_url": null,
  "tags": [],
  "price": {
    "id": "price_gbHJdmfrXB",
    "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
  },
  "original_price": null
}

Authorizations

x-spree-api-key
string
header
required

Publishable API key for store access

Headers

x-spree-api-key
string
required

Publishable API key

Path Parameters

id
string
required

Product slug (e.g., spree-tote) or prefix ID (e.g., product_abc123)

Query Parameters

expand
string

Comma-separated associations to expand

fields
string

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

Response

product found by prefix ID

id
string
required
name
string
required
description
string | null
required
slug
string
required
meta_description
string | null
required
meta_keywords
string | null
required
variant_count
number
required
available_on
string | null
required
created_at
string
required
updated_at
string
required
purchasable
boolean
required
in_stock
boolean
required
backorderable
boolean
required
available
boolean
required
default_variant_id
string
required
thumbnail_url
string | null
required
tags
string[]
required
price
object
required
original_price
object
required
images
object[]
variants
object[]
default_variant
object
master_variant
object
option_types
object[]
categories
object[]
metafields
object[]