Endpoint
Request headers
| Header | Value | Required |
|---|---|---|
X-API-Key | bha_... | Yes |
Query parameters
The ingredient name to look up. Accepts common names, INCI names, or trade names (e.g.
glycerin, dimethicone, shea butter). Must be at least two characters.Response
A successful request returns a single JSON object with the following fields.The normalised form of the ingredient name as recognised by the AI model.
The official International Nomenclature of Cosmetic Ingredients (INCI) name for the ingredient, if known. Returns
null when no INCI name exists.The functional category of the ingredient. One of:
protein, oil, butter, humectant, emulsifier, surfactant, silicone, preservative, fragrance, or other.true if the ingredient dissolves readily in water. Water-insoluble ingredients (oils, silicones, butters) generally require a surfactant to remove and may contribute to buildup.true if the ingredient is considered curl-friendly based on its chemistry and typical formulation behaviour. Non-curl-friendly ingredients (e.g. heavy non-water-soluble silicones) may require clarifying to remove.The porosity level(s) for which this ingredient is best suited. One of:
low, medium, high, all, or none.A 2–3 sentence plain-English explanation of what the ingredient does inside a hair product formula and how it interacts with the hair shaft.
One to two sentences focused specifically on how this ingredient affects Black, natural, curly, or coily hair textures.
true if regular use of this ingredient is likely to cause product buildup on the hair or scalp.true if you need a clarifying or chelating shampoo to fully remove this ingredient from the hair.A list of product types where this ingredient frequently appears, e.g.
["conditioner", "leave-in", "styling cream"].A list of hair concerns or conditions where you should avoid or limit this ingredient, e.g.
["low porosity", "protein sensitive"].Example
Response
Error responses
| Status | Meaning |
|---|---|
400 | Ingredient name is too short (fewer than 2 characters). |
401 | Missing or invalid X-API-Key header. |
422 | The name query parameter was not provided. |
429 | You have exceeded your plan’s monthly request limit. |