Skip to main content
Matches an ingredient list against Skan’s ingredient database and returns what each ingredient is and what it is commonly used for. Send either the label text as one string, or up to 50 names as an array. Passing a scan (run_id and access_token) raises the allowance. Nothing is personalised to the scan.
  • Fuzzy matches below 0.8 confidence are returned as matched: false, so invented or misspelled names aren’t reported as a real ingredient.
  • An unmatched entry means only that Skan didn’t recognise the text. It says nothing about whether the ingredient is safe or approved.
This is cosmetic reference information, not a safety assessment. Allowance: 10 per scan, or 5 per day with no scan. Common errors: invalid_input, catalog_unavailable, rate_limited.

Input

Sent as params.arguments of tools/call. Unknown keys are rejected with invalid_input.
string
Optional: the person’s scan, which raises the free allowance.Format uuid.
string
Pattern ^[a-f0-9]{64}$.
string | string[]
required
Max length 6000. Max 50 items.

Output

Returned as structuredContent, and as the same object serialised in content[0].text. On failure the result has isError: true and an error body instead.
object[]
required
Max 50 items.
object
required
object
required
string
required
string
required