The
/v1/recommend/ endpoint requires a Pro or Enterprise plan. Requests made with a Starter or Growth API key receive a 403 Forbidden response. See Plans and Limits for details.How recommendations work
Build a hair profile query
Your request body describes the user’s hair characteristics:
hair_type, porosity, concerns, budget_max, and any exclude_ingredients. The API uses these to understand the full picture of the user’s hair needs.Find the most relevant products
The API identifies the products in the catalog that best match the supplied hair profile, drawing on hair type compatibility, porosity suitability, and ingredient composition.
Filter by budget and excluded ingredients
Candidates are filtered: any product whose minimum price exceeds
budget_max, or whose ingredient list contains an entry from exclude_ingredients, is removed before ranking.Make a recommendation request
Send aPOST request to /v1/recommend/ with a JSON body describing the hair profile.
Request body fields
The user’s curl pattern, e.g.
"4c", "3b", or "4a". Refer to Hair Profiles for accepted values.Hair porosity level:
"low", "medium", or "high". Porosity determines how well hair absorbs and retains moisture and is the single most influential factor in ranking.A list of hair concerns to address. Common values:
"dryness", "breakage", "frizz", "scalp health", "shrinkage", "split ends". Defaults to an empty list.The maximum product price the user is willing to pay, in the specified
currency. Products whose minimum price exceeds this value are excluded before ranking.The currency code for
budget_max, e.g. "GBP" or "USD". Defaults to "GBP".Ingredient names to exclude. Products whose full ingredient list contains any of these strings (case-insensitive) are removed before ranking. Defaults to an empty list.
The maximum number of recommendations to return. Defaults to
5. The final count may be lower than limit if many candidates are filtered out by budget or ingredient exclusions.Understanding the response
A successful response contains the echoedquery object and a recommendations array sorted by rank.
Example response
Response fields
An echo of the hair profile used to generate this set of recommendations.
An array of recommended products sorted by
rank ascending.Tips for better recommendations
For a full list of acceptedhair_type and porosity values, see Hair Profiles. For rate limits and plan quotas, see Plans and Limits.