POST /v1/recommend/ — AI Hair Product Recommendations
Generate ranked, AI-powered product recommendations tailored to a customer’s curl pattern, porosity, concerns, and optional budget ceiling.
This endpoint generates personalised product recommendations by combining vector similarity search with GPT-4o-mini ranking. You send a hair profile — curl pattern, porosity level, active concerns, and an optional budget ceiling — and the API returns a ranked list of products drawn from the catalog, each accompanied by a plain-English explanation of why it suits the profile.
The recommendation engine is available on Pro and Enterprise plans only. Requests made with a Starter or Growth key return a 403 error. See Plans and Limits for upgrade options.
A list of the user’s primary hair concerns. Accepted values: dryness, breakage, growth, scalp, frizz, definition, moisture, protein. Example: ["dryness", "breakage", "frizz"]. Defaults to an empty list.
The maximum price the user is willing to spend, in the currency specified by currency. Products with a minimum price above this threshold are excluded from recommendations. Example: 25.00.
A list of ingredient names that should not appear in recommended products. The filter is applied before AI ranking. Example: ["mineral oil", "dimethicone"].
A 2–3 sentence AI-generated explanation of why this product suits the supplied hair profile. Written in plain English, specific to the provided hair type, porosity, and concerns.
Your API key is on a plan that does not include the recommendation engine (requires Pro or Enterprise).
404
No products matched the supplied profile after filtering. Try relaxing your budget_max or exclude_ingredients constraints.
422
Request body failed validation — check that hair_type and porosity are present and correctly typed.
429
You have exceeded your plan’s monthly request limit.
If you supply a very restrictive combination of budget_max and exclude_ingredients, the API may return a 404 because all candidate products are filtered out before ranking. Broaden your criteria if this happens.