GET Search Products
Search the catalogue by name keywords or by style code. A query shaped like a style code is matched exactly first. Otherwise the search returns products that match all keywords, and falls back to products that match any keyword. Results are ordered by the number of matched keywords, then by release date, newest first.
Use this endpoint to resolve free-text input - a partial model name such as dunk low panda -
into product records. Use the lookup by SKU
endpoint when you already hold the exact style code.
Parameters
| Parameter | In | Required | Description |
|---|---|---|---|
query | query | yes | Keywords or a style code. At least three characters. |
results | query | no | Results per page. |
page | query | no | Page number. |
show_data | query | no | Send 1 to add _id and product_data (raw source payload) to each result. |
Billing behaviour
A successful call debits one request from the plan allowance. A call that finds nothing is fulfilled but not debited.
Route
/api/v2/product/searchAbility
search-product
Query Parameters
query(required, string, min 3)results(optional, int 1-50)page(optional, int >= 1)
Response 200 (success)
{
"error": false,
"results": [
{
"product_name": "string|null",
"product_brand": "string|null",
"product_category": "string|null",
"product_unique_id": "string|null",
"product_style_code": "string|null",
"product_release_date": "YYYY-MM-DD|string|null",
"product_description": "string|null",
"product_colorway": "string|null",
"product_retail_price": "string|number|null",
"product_image": "https://.../api/image/uid/{product_unique_id}|null",
"match_count": 1
}
],
"pagination": {
"total": 123,
"per_page": 20,
"current_page": 1,
"last_page": 7
},
"response_time": "XXXms",
"request_fulfilled": true,
"request_debited": true
}Response 200 (no matches)
{
"error": true,
"message": "No products could be found for this search query.",
"response_time": "XXXms",
"request_fulfilled": true,
"request_debited": false
}Response 400 or 403
{
"error": true,
"message": "validation errors object or token depleted message",
"response_time": "XXXms",
"request_fulfilled": false,
"request_debited": false
}The barcode lookup API page shows the plans and examples.