DashForDevsDocs
DocsNewsAPI v1
dashfordevs.comSign in

© 2026 DashForDevs

DocsNewsdashfordevs.comLegalStatus
DocsProductsList Products
Introduction
Getting Started
Authentication
Products
List ProductsGet Product by SlugProduct Variations & SizesSearch & FiltersCore & Options (Split Endpoints)Variation-as-Product PagesFreestyle BundlesProduct FilesProducts in Multiple Categories
Categories
Cart
Checkout
Blog
Reviews
Webhooks
Customers
Orders
Inventory
Shipping
Discounts
Affiliates
Email
Media & Files
Analytics & Tracking
Locations
Tax
Global Data
SEO
Error Handling
Geography
Finance
Automations
Page Types
Surveys
Billing & Subscriptions
Storefront Payments
SDK Reference
REST API
Storefront Architecture
Notifications
Security
Team & Permissions
Migrations & Import
Calendar & Appointments
Contact Forms
AI Bots
Dashboard API
Deployment
Changelog
Troubleshooting
Recipes
CLI & Deployment
Image Pipeline
White-label Platforms
Records Engine
Platform Modules
Platform Security
Site Keys & Client Sites
Use Cases
Operations

List Products

Retrieve all products with pagination and filtering.

Updated March 29, 2026

On this page
  • Overview
  • SDK Usage
  • Parameters
  • Filtering Examples
  • By Category
  • By Search Query
  • By Custom Fields
  • Product Object
  • REST API
  • Server Component Example
  • Next Steps

Overview

Fetch a paginated list of products from your store. This is the primary endpoint for building product listing pages, category pages, and search results.

SDK Usage

typescript
import dash from "@/lib/dash"

const { products, pagination } = await dash.products.list({
  limit: 20,
  offset: 0,
})

// products = [{ id, name, slug, price, main_image, ... }, ...]
// pagination = { total: 150, limit: 20, offset: 0, has_more: true }

Parameters

ParameterTypeDefaultDescription
limitnumber20Products per page (max 100)
offsetnumber0Number of products to skip
categorystring—Filter by category slug
brandstring—Filter by brand slug
searchstring—Search by product name
includestring—Comma-separated product slugs to include
customFieldsobject—Filter by custom field values
expandstring—Include additional data (e.g. "sizes")

Filtering Examples

By Category

typescript
const { products } = await dash.products.list({
  category: "edibles",
})

By Search Query

typescript
const { products } = await dash.products.list({
  search: "blue dream",
})

By Custom Fields

typescript
const { products } = await dash.products.list({
  customFields: { featured: "true", type: "flower" },
})

Product Object

Each product in the list contains:

json
{
  "id": "prod_abc123",
  "name": "Blue Dream",
  "slug": "blue-dream",
  "short_name": "Blue Dream",
  "main_image": "https://cdn.dashfordevs.com/...",
  "price": "29.99",
  "discounted_price": "24.99",
  "in_stock": true,
  "avg_rating": 4.7,
  "reviews_count": 42,
  "category": { "id": "cat_xyz", "name": "Flower", "slug": "flower" },
  "custom_fields": { "type": "flower", "featured": "true" },
  "main_size": {
    "id": "size_123",
    "label": "1g",
    "price": "29.99",
    "discounted_price": "24.99",
    "stock": 50,
    "image": null
  }
}

REST API

shell
GET /storefront/products?limit=20&offset=0&category=flower&search=blue
X-API-Key: pk_live_your_key

Server Component Example

typescript
// app/products/page.tsx
import dash from "@/lib/dash"
import { ProductCard } from "@/components/ProductCard"

export default async function ProductsPage({ searchParams }) {
  const { products, pagination } = await dash.products.list({
    limit: 20,
    offset: Number(searchParams.offset) || 0,
    category: searchParams.category,
    search: searchParams.q,
  })

  return (
    <div className="grid grid-cols-2 md:grid-cols-4 gap-4">
      {products.map(p => <ProductCard key={p.id} product={p} />)}
    </div>
  )
}

Next Steps

  • Get Product by Slug — Fetch a single product's full details
  • Search & Filters — Advanced filtering options
  • List Categories — Get categories for navigation
PreviousProfile ManagementNextGet Product by Slug

On this page

  • Overview
  • SDK Usage
  • Parameters
  • Filtering Examples
  • By Category
  • By Search Query
  • By Custom Fields
  • Product Object
  • REST API
  • Server Component Example
  • Next Steps