List storefront products
List active, cart-eligible products with browser-safe display data, active prices, and derived availability. Intended for publishable-key storefront and CMS-picker use; never returns product metadata or internal fields.
Related endpoints
GET /storefront/products/{productId}— Get a storefront productGET /storefront/origins— List storefront originsPOST /storefront/origins— Register a storefront originDELETE /storefront/origins/{originId}— Remove a storefront originGET /storefront/status— Get storefront integration status
Common errors
401 unauthenticated— missing, malformed, or revoked API key.403 permission_denied— key lacks the required scope, or the resource belongs to a different merchant.
Pagination
Offset-based with limit (default 25, max 100) and offset. The response pagination block includes total and hasMore. See the pagination guide for SDK auto-paging helpers.
x-api-key<token>
Your RevKeen API key (powered by Unkey). Get it from Dashboard > Settings > API Keys. Use rk_sandbox_* for test mode and rk_live_* for production.
In: header
Query Parameters
limit?integer
Maximum products to return (default 50, max 100).
Range
1 <= value <= 100Response Body
application/json
application/json
application/json
Stuck on an error response? Ask the RevKeen assistant to explain it.
curl "https://api.revkeen.com/v2/storefront/products" \
-H "x-api-key: $REVKEEN_API_KEY"{
"data": [
{
"id": "string",
"object": "product",
"product_id": "string",
"slug": "string",
"name": "string",
"description": "string",
"kind": "string",
"pricing_model": "string",
"currency": "string",
"image_url": "string",
"default_price_id": "string",
"prices": [
{
"id": "string",
"product_id": "string",
"currency": "string",
"unit_amount": 0,
"unit_amount_decimal": "string",
"type": "string",
"interval": "string",
"interval_count": 0,
"billing_scheme": "string",
"usage_type": "string",
"package_size": 0,
"trial_period_days": 0
}
],
"trial_days": 0,
"usage_meter_id": "string",
"tax_behavior": "string",
"tax_code": "string",
"availability": {
"status": "unknown",
"remaining": 0,
"display_mode": "string",
"low_stock_threshold": 0
}
}
]
}{
"error": "string",
"message": "string"
}{
"error": "string",
"message": "string"
}