Free
Ingredient text to registered substances, each identified.
Connect ingredient_resolve to your agentWhat it answers
Resolve the wording on a label to substances in the federal registry, with the registry's own crossrefs — CAS, RxCUI, InChIKey, and for botanicals the taxonomic references. Matching a manufacturer's phrasing to a registry name is a name match and never an identity, so every candidate carries a confidence and the receipt declares the method. Text that resolves to nothing is reported as unresolved, which is a different answer from a substance that is absent.
Ask it things like
- What is 'tocopherols (mixed)' in this ingredient list?
- Resolve every ingredient on this label to a registered substance.
- Which botanical is 'echinacea purpurea root extract'?
What comes back
A receipt, and the same envelope on every tool — so a caller writes against one contract whichever one they call. The citations carry two clocks that are never collapsed: citature's retrieved_at and the source's own as_of, plus the record's own published_at and record_version where the source publishes them.
Answer
citature — ingredient_resolve receipt
- answer
- The rows themselves, typed per tool. Amounts carry their unit and their basis, because a figure per serving and one per 100 g are not comparable.
- citations
- The record behind the answer: a re-runnable upstream URL, citature's retrieval clock, the release's own currency date, and the record's own version.
- coverage
- What this answer does not reach, and where the record is silent rather than negative.
- guardrails
- The standing caveats, shipped in the answer itself rather than only on a page an agent never loads.
- matches
- Every join the answer used, named by method and confidence. A name match is reported as a name match, never as an identity.
- schema_version
- The conformed schema the answer was produced against, so a caller can pin it.
What this figure is
Input
| param | type | required | notes |
|---|---|---|---|
| ingredients | string[] | yes | 1–100 ingredient strings. |
| min_confidence | number 0–1 | no | Drop weaker candidates. No default — an unset filter is not applied. |
Sources
Primary federal records only, never an aggregator. This answer's citations name:
- unii
Pricing
Free — this answer restates a public record, so it carries no meter at all.
Connect ingredient_resolve to your agentguardrails & coverage
- Research over public records and product labels — not medical, nutritional, or safety advice.
- citature reports what the record says. It never renders a verdict, a pass/fail, a diagnosis, or a recommendation, and is not a substitute for a clinician.
- Answers are product-, substance- or population-level only — foods, supplements, labels, substances, enforcement actions, and dietary intake as a weighted survey estimate. No answer returns or describes an individual person, and citature links no record to individually identifiable data.
- A record that does not declare something is not a record declaring its absence. citature reports what a record states; it cannot report what a product does not contain, or what a population did not consume.
- A Daily Value is a labelling reference from federal regulation, not a Dietary Reference Intake. citature carries no licensed source for Dietary Reference Intakes and does not estimate whether anyone meets a nutrient requirement.
- Coverage reflects the records citature has ingested, not the full upstream history. Each dataset advances when its source publishes a release.
- Every answer states its own coverage caveats in the receipt's `coverage` field, alongside these standing guardrails.