API Referencev1Products
List products
Retrieve a paginated list of products with filtering, sorting, and search.
X-API-Key<token>
Per-store API key created in the dashboard at Settings > Developer > API Keys.
In: header
Query Parameters
page?integer
Default
1Range
1 <= valueper_page?integer
Default
25Range
1 <= value <= 100sort?string
Default
"created_at"Value in
"name" | "price" | "stock_quantity" | "created_at" | "updated_at"order?string
Default
"desc"Value in
"asc" | "desc"search?string
status?string
Default
"active"Value in
"active" | "inactive" | "all"category_id?string
Comma-separated category IDs
is_featured?string
price[gte]?number
Minimum value for price
Range
0 <= valueprice[lte]?number
Maximum value for price
Range
0 <= valuestock_status?string
Filter by stock status relative to each product's low_stock_threshold. in_stock = quantity > threshold; low_stock = 0 < quantity <= threshold; out_of_stock = quantity = 0
Value in
"in_stock" | "low_stock" | "out_of_stock"Response Body
application/json
application/json
curl -X GET "https://api.whatalo.com/v1/products"{
"data": [
{
"id": "472819365047",
"name": "Premium Wireless Headphones",
"slug": "premium-wireless-headphones",
"description": "High-quality wireless headphones",
"price": 2500,
"compare_price": 3000,
"main_image": "https://cdn.example.com/img.jpg",
"gallery": [],
"is_active": true,
"is_featured": false,
"sku": "SKU-001",
"track_inventory": false,
"stock_quantity": 100,
"low_stock_threshold": 10,
"continue_selling": true,
"supplier_cost": 1200,
"wholesale_price": 2000,
"wholesale_min_quantity": 10,
"condition": "new",
"invoice_available": false,
"fast_shipping": false,
"warranty_months": 12,
"category_id": "104728193650",
"is_purchasable": true,
"has_discount": false,
"discount_percentage": 16.67,
"variants": [],
"created_at": "2026-01-15T10:30:00.000Z",
"updated_at": "2026-01-15T10:30:00.000Z"
}
],
"pagination": {
"page": 1,
"per_page": 25,
"total": 100,
"total_pages": 4
}
}{
"error": {
"code": "VALIDATION_ERROR",
"message": "Invalid request body",
"details": [
{
"field": "string",
"message": "string"
}
]
}
}