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

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

const { data: customers } = await client.customers.list({
  search: 'jane',
  sort: '-created_at',
  limit: 25,
})
{
  "data": [
    {
      "id": "cus_UkLWZg9DAJ",
      "email": "jane@example.com",
      "first_name": "Jane",
      "last_name": "Doe",
      "phone": null,
      "accepts_email_marketing": false,
      "full_name": "Jane Doe",
      "available_store_credit_total": "0",
      "display_available_store_credit_total": "$0.00",
      "login": "jane@example.com",
      "metadata": {},
      "last_sign_in_at": null,
      "current_sign_in_at": null,
      "created_at": "2026-05-17T22:57:37.396Z",
      "updated_at": "2026-05-17T22:57:37.396Z",
      "sign_in_count": 0,
      "failed_attempts": 0,
      "last_sign_in_ip": null,
      "current_sign_in_ip": null,
      "tags": [],
      "internal_note_html": null,
      "default_billing_address_id": null,
      "default_shipping_address_id": null,
      "orders_count": 0,
      "total_spent": "0",
      "display_total_spent": "$0.00",
      "last_order_completed_at": null
    }
  ],
  "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.

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
limit
integer

Email + name full-text-ish search

expand
string

Comma-separated associations to expand (e.g., addresses, store_credits). Use dot notation for nested expand (max 4 levels).

fields
string

Comma-separated list of fields to include (e.g., email,first_name,last_name). id is always included.

Response

200 - application/json

customers found