Skip to main content
The List Products endpoint returns a paginated collection of hair care products from the Black Hair API catalog. You can narrow results by keyword, hair type, product category, and ingredient filters — making it easy to surface products that match a specific user profile or formulation preference.

Endpoint

GET https://api.blackhairapi.com/v1/products/

Required header

HeaderValueDescription
X-API-Keybha_...Your Black Hair API key. All requests must include this header.
Requests without a valid X-API-Key header return a 401 Unauthorized response. Keep your key secret and never expose it in client-side code.

Query parameters

q
string
Search products by name using a case-insensitive partial match. For example, q=leave-in returns all products whose name contains “leave-in”.
hair_type
string
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.
category
string
Filter by product category (case-insensitive). Common values include shampoo, conditioner, oil, styler, deep-conditioner, and leave-in.
exclude_sulphates
boolean
default:"false"
When true, only products whose ingredient list contains no sulphates are returned. Requires the product to have an associated Ingredients record.
exclude_silicones
boolean
default:"false"
When true, only products whose ingredient list contains no silicones are returned. Requires the product to have an associated Ingredients record.
exclude_parabens
boolean
default:"false"
When true, only products whose ingredient list contains no parabens are returned. Requires the product to have an associated Ingredients record.
is_black_owned
boolean
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.
page
integer
default:"1"
The page number to return. Must be greater than or equal to 1.
limit
integer
default:"20"
The number of products to return per page. Minimum 1, maximum 100.

Response

A successful request returns HTTP 200 with a JSON object containing a data array and a meta object.
data
array
An array of product objects matching your query.
meta
object
Pagination metadata for the current response.

Examples

curl -G https://api.blackhairapi.com/v1/products/ \
  -H "X-API-Key: bha_your_api_key" \
  --data-urlencode "hair_type=4C" \
  --data-urlencode "exclude_sulphates=true" \
  --data-urlencode "is_black_owned=true" \
  --data-urlencode "page=1" \
  --data-urlencode "limit=5"
Example response
{
  "data": [
    {
      "id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
      "name": "Honey Transforming Collection Moisturizing Leave-In",
      "brand": {
        "id": "b2c3d4e5-f6a7-8901-bcde-f12345678901",
        "name": "Mielle Organics",
        "is_black_owned": true
      },
      "category": "leave-in",
      "description": "A lightweight leave-in conditioner infused with honey and ginger to deeply moisturize and strengthen natural hair.",
      "price_range": {
        "min": 9.99,
        "max": 12.99
      },
      "regions": ["US", "UK", "CA"],
      "images": [
        "https://cdn.blackhairapi.com/images/mielle-leave-in-front.jpg"
      ],
      "buy_url": "https://mielleorganics.com/products/honey-leave-in",
      "is_active": true,
      "hair_profile": {
        "hair_types": ["4A", "4B", "4C"],
        "porosity": ["high", "normal"],
        "concerns": ["dryness", "breakage", "shrinkage"]
      }
    },
    {
      "id": "c3d4e5f6-a7b8-9012-cdef-123456789012",
      "name": "Curl Custard Natural Styling Pudding",
      "brand": {
        "id": "d4e5f6a7-b8c9-0123-defa-234567890123",
        "name": "Melanin Haircare",
        "is_black_owned": true
      },
      "category": "styler",
      "description": "A rich custard styler that defines curls and coils while providing long-lasting moisture and frizz control.",
      "price_range": {
        "min": 14.99,
        "max": 17.99
      },
      "regions": ["US"],
      "images": [
        "https://cdn.blackhairapi.com/images/melanin-custard-front.jpg"
      ],
      "buy_url": "https://melaninhaircare.com/products/curl-custard",
      "is_active": true,
      "hair_profile": {
        "hair_types": ["3C", "4A", "4B", "4C"],
        "porosity": ["high"],
        "concerns": ["frizz", "dryness", "curl-definition"]
      }
    }
  ],
  "meta": {
    "page": 1,
    "limit": 5,
    "count": 2
  }
}

Error responses

StatusCodeDescription
401UnauthorizedThe X-API-Key header is missing or the key is invalid.
429Too Many RequestsYou have exceeded your plan’s monthly request limit. Upgrade to continue.