Screen every seller-submitted SKU against 15+ regulators — before the listing goes live. Embed live safety badges. Get webhook alerts when classifications change.
When a seller uploads a product, send the ingredient list to POST /api/compounds/batch. Get back per-compound risk tier (low / moderate / high / restricted), the agencies that classify it that way, and a roll-up product-level risk score. Up to 10 compounds per request on Basic, 50 on Pro, 100 on Ultra and Enterprise.
POST /api/compounds/batch?context=human_adult
{ "ids": ["hq-c-org-000001", "hq-c-org-000033", "hq-c-org-000142", ...] }
Some compounds are clear (lead, asbestos — restricted everywhere). Most are messy — IARC says "probably carcinogenic," EPA says "not likely," EU CLP lists acute toxicity, FDA permits in food contact. ALETHEIA returns the full regulatory distribution for every compound, flagging both consensus ("11 of 14 agencies restrict") and disagreement ("EU restricts; US permits with limits"). Marketplaces can set their own policy threshold without having to read 14 agency datasheets.
Drop a live safety badge on every product detail page. The badge is an SVG that reflects the compound's current risk tier with a click-through to source classifications. No JavaScript on your end, no rate limit on badge endpoints, automatic refresh when underlying classifications change. Useful for marketplaces in regulated categories (kids, beauty, pet, food contact) that want consumer-facing transparency.
<img src="https://api.aletheia.holisticquality.io/api/badge/hq-c-org-000001.svg"
alt="ALETHEIA safety rating" />
Approval at listing time isn't enough — regulators reclassify compounds. POST /api/watchlist registers compounds your sellers actively use; /api/webhooks fires when any tracked compound's classification changes upstream. You learn that a previously-permitted compound just landed on Prop 65 the day the agency publishes — not when a customer's lawyer sends a letter.
GET /api/compound/cas/{cas} when you have CAS numbers, GET /api/compounds?search=... when you only have ingredient names. Cache resolutions per ingredient string — this is the slowest step and it's heavily reusable.POST /api/compounds/batch call returns risk tiers + agency classifications for the whole product. p95 typically <200ms on cached lookups.low; auto-reject where any compound is restricted; queue the moderate-risk middle for human review. ALETHEIA returns the data; the policy decision is yours.POST /api/watchlist. Webhook fires when any classification shifts.<img> tag per compound or one rolled-up product badge.
POST /api/compounds/batch with three IDs and context=human_adult returns a structured product-level risk roll-up plus per-compound detail. Truncated:
{
"context": "human_adult",
"product_risk": {
"tier": "moderate",
"highest_compound": "hq-c-org-000033",
"flags": ["prop65_listed", "eu_clp_acute_tox_4"]
},
"compounds": [
{
"id": "hq-c-org-000001",
"name": "Glyphosate",
"risk_level": "moderate",
"classifications": [
{ "agency": "IARC", "designation": "Group 2A" },
{ "agency": "EPA", "designation": "Not likely" },
{ "agency": "EU CLP", "designation": "Acute Tox. 4" }
]
}
],
"snapshot_version": "2026-04-15"
}
The right tier depends on listings-per-day and how aggressive you want the watchlist to be.
500 requests/day, 10 compounds per batch.
Useful for evaluation and one-off audits. Marketplaces will outgrow Basic quickly — the per-batch cap of 10 means a typical 12-ingredient cleaner needs 2 batched calls instead of 1.
10,000 requests/day, 50 compounds per batch.
Right for marketplaces processing up to roughly 800 new listings/day with average product complexity (10–15 ingredients per SKU). 50 compounds per batch covers the long tail of complex formulations (cosmetics, household cleaners) in a single call. Comfortable headroom for resolution caching + watchlist refresh.
100,000 requests/day, 100 compounds per batch.
Right for marketplaces with higher listing velocity (up to ~8,000 new listings/day), multi-pipeline rollouts, or product categories where ingredient lists routinely exceed 50 compounds (industrial chemicals, complex personal care). Also the right starting point if you're running batch screens against existing inventory in addition to live listings.
Unlimited daily, batches up to 100, dedicated SLA.
For marketplaces above ~8,000 new listings/day, multi-region deployments, or any operator that wants a contractual uptime SLA, single-tenant rate-limit pool, and a custom DPA. Sold direct — api@holisticquality.io.
ALETHEIA aggregates publicly-available regulatory and scientific information into a structured, normalized API. It is not a substitute for your trust & safety team, your legal counsel, or primary agency datasheets when making binding compliance decisions. We make the screening signal cheap and fast so the humans on your team can spend their time on the genuine edge cases instead of grinding through routine ingredient lookups.
Free tier: 500 requests/day with up to 10-compound batches, no API key. 7-day Pro trial: 10,000/day with 50-compound batches, no credit card.