Endpoint
Required header
| Header | Value | Description |
|---|---|---|
X-API-Key | bha_... | Your Black Hair API key. All requests must include this header. |
Query parameters
Search products by name using a case-insensitive partial match. For example,
q=leave-in returns all products whose name contains “leave-in”.Filter products by one or more hair type codes, comma-separated. Accepted values follow the André Walker typing system (e.g.,
4C, 3B, 3B,4A). A product is returned if it matches any of the supplied types.Filter by product category (case-insensitive). Common values include
shampoo, conditioner, oil, styler, deep-conditioner, and leave-in.When
true, only products whose ingredient list contains no sulphates are returned. Requires the product to have an associated Ingredients record.When
true, only products whose ingredient list contains no silicones are returned. Requires the product to have an associated Ingredients record.When
true, only products whose ingredient list contains no parabens are returned. Requires the product to have an associated Ingredients record.Filter by whether the product’s parent brand is Black-owned. Pass
true to return only products from Black-owned brands, or false to exclude them.The page number to return. Must be greater than or equal to
1.The number of products to return per page. Minimum
1, maximum 100.Response
A successful request returns HTTP200 with a JSON object containing a data array and a meta object.
An array of product objects matching your query.
Pagination metadata for the current response.
Examples
Error responses
| Status | Code | Description |
|---|---|---|
401 | Unauthorized | The X-API-Key header is missing or the key is invalid. |
429 | Too Many Requests | You have exceeded your plan’s monthly request limit. Upgrade to continue. |