Skip to main content
This endpoint uses GPT-4o-mini to return a structured safety and compatibility analysis for any hair care ingredient. You supply an ingredient name and the API responds with INCI nomenclature, solubility, curl-friendliness, porosity guidance, buildup risk, and curated notes written specifically for Black and textured hair.

Endpoint

GET https://api.blackhairapi.com/v1/ingredients/lookup

Request headers

HeaderValueRequired
X-API-Keybha_...Yes

Query parameters

name
string
required
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.
name
string
The normalised form of the ingredient name as recognised by the AI model.
inci_name
string
The official International Nomenclature of Cosmetic Ingredients (INCI) name for the ingredient, if known. Returns null when no INCI name exists.
type
string
The functional category of the ingredient. One of: protein, oil, butter, humectant, emulsifier, surfactant, silicone, preservative, fragrance, or other.
is_water_soluble
boolean
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.
curl_friendly
boolean
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.
porosity_recommendation
string
The porosity level(s) for which this ingredient is best suited. One of: low, medium, high, all, or none.
what_it_does
string
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.
black_hair_notes
string
One to two sentences focused specifically on how this ingredient affects Black, natural, curly, or coily hair textures.
can_cause_buildup
boolean
true if regular use of this ingredient is likely to cause product buildup on the hair or scalp.
requires_clarifying
boolean
true if you need a clarifying or chelating shampoo to fully remove this ingredient from the hair.
common_in_products
array of strings
A list of product types where this ingredient frequently appears, e.g. ["conditioner", "leave-in", "styling cream"].
avoid_if
array of strings
A list of hair concerns or conditions where you should avoid or limit this ingredient, e.g. ["low porosity", "protein sensitive"].

Example

curl -X GET \
  "https://api.blackhairapi.com/v1/ingredients/lookup?name=glycerin" \
  -H "X-API-Key: bha_your_key_here"

Response

{
  "name": "glycerin",
  "inci_name": "Glycerin",
  "type": "humectant",
  "is_water_soluble": true,
  "curl_friendly": true,
  "porosity_recommendation": "all",
  "what_it_does": "Glycerin draws moisture from the surrounding air into the hair shaft, acting as a powerful humectant. It helps maintain the hair's hydration balance and improves softness and manageability in conditioners, leave-ins, and stylers.",
  "black_hair_notes": "Works well in humid climates for Type 3 and 4 hair; may cause hygral fatigue on low-porosity strands if used in high concentrations without a sealant.",
  "can_cause_buildup": false,
  "requires_clarifying": false,
  "common_in_products": ["conditioner", "leave-in conditioner", "styling cream", "shampoo"],
  "avoid_if": ["very low humidity environments — glycerin can draw moisture out of the hair shaft when ambient humidity is low"]
}

Error responses

StatusMeaning
400Ingredient name is too short (fewer than 2 characters).
401Missing or invalid X-API-Key header.
422The name query parameter was not provided.
429You have exceeded your plan’s monthly request limit.
Ingredient names are case-insensitive. You can pass Glycerin, glycerin, or GLYCERIN and receive the same result.