curl --request GET \
--url https://api.pandabase.io/v2/storefront/stores/{storeId}/products{
"ok": true,
"data": {
"items": [
{
"id": "<string>",
"title": "<string>",
"handle": "<string>",
"price": 123,
"images": [
"<string>"
],
"inStock": true,
"currency": "<string>",
"productType": "SERIAL",
"pricingModel": "STANDARD",
"status": "ACTIVE",
"categories": [
{
"id": "<string>",
"name": "<string>",
"slug": "<string>"
}
],
"subtitle": "<string>",
"compareAtPrice": 123,
"minimumPrice": 123
}
],
"pagination": {
"page": 123,
"limit": 123,
"total": 123,
"totalPages": 123
}
}
}Returns a paginated list of active products. Supports filtering, searching, and sorting. Only active products are returned — draft and deleted products are never included.
curl --request GET \
--url https://api.pandabase.io/v2/storefront/stores/{storeId}/products{
"ok": true,
"data": {
"items": [
{
"id": "<string>",
"title": "<string>",
"handle": "<string>",
"price": 123,
"images": [
"<string>"
],
"inStock": true,
"currency": "<string>",
"productType": "SERIAL",
"pricingModel": "STANDARD",
"status": "ACTIVE",
"categories": [
{
"id": "<string>",
"name": "<string>",
"slug": "<string>"
}
],
"subtitle": "<string>",
"compareAtPrice": 123,
"minimumPrice": 123
}
],
"pagination": {
"page": 123,
"limit": 123,
"total": 123,
"totalPages": 123
}
}
}Store ID (shp_ prefix)
Page number
x >= 1Items per page
1 <= x <= 100Full-text search on product title
Filter by category ID
Filter by product type
SERIAL, SERVICE, ONE_TIME, PHYSICAL, SUBSCRIPTION, DIGITAL_DOWNLOAD, LICENSE_KEY Filter by pricing model
STANDARD, PAY_WHAT_YOU_WANT, FREE Sort field
title, price, createdAt Sort direction
asc, desc