Savor Safety Core

Catch unsafe ingredients before they reach a plate

One call tells you whether a recipe or menu item conflicts with a diner's allergies or diet. The answer comes from code, not a language model, so it is the same every time, costs no model tokens, and returns in well under a millisecond.

Free key in about a minute — create an account, name your app, copy the key.

0.15 ms

median verification time

100%

catch rate on our published bench

22

languages of ingredient names

Pricing

Start free, pay per call as you grow, or licence the engine to run inside your own infrastructure. No AI model fees are involved on any tier.

Read the detailed licensing guide →

Sandbox

Free

500 calls / month, 30 / day

  • · Instant self-serve key
  • · Full verification engine
  • · 22 languages of ingredient aliases
  • · No card required
Get a free key

Developer

Most popular

$0.002

per call, from 10,000 / month

  • · Production quotas
  • · Usage dashboard
  • · Pinned taxonomy version
  • · Email support
Start in the sandbox

Business

From $499

per month, volume pricing

  • · Committed volume discounts
  • · Uptime terms
  • · Priority taxonomy requests
  • · Evaluation bench for your CI
Get a free key

Embedded / OEM

Talk to us

annual licence

  • · Run the engine in your own stack
  • · Data never leaves your servers
  • · Taxonomy updates by subscription
  • · White-label rights
Get a free key

Try it in one request

curl -X POST https://savormood.com/api/public/v1/verify \
  -H "Authorization: Bearer YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "constraints": ["Peanut-free", "Gluten-free"],
    "dietary": ["Vegetarian"],
    "ingredients": [{ "item": "2 tbsp soy sauce" }, { "item": "satay sauce" }],
    "locales": ["en", "id", "zh"]
  }'
{
  "safe": false,
  "violations": [{ "constraint": "Peanut-free" }],
  "dietaryProblems": [],
  "engineVersion": "[email protected]",
  "taxonomyVersion": "1.0.0",
  "requestId": "req_…"
}

The verdict is a simple pass or fail with the constraint that failed. We do not return the ingredient, the internal term that matched, or how it was matched, and we never store the ingredients you send — only counts, timings and versions for your usage dashboard.

Honest limits

The check reads the ingredients you declare. It cannot see undeclared additives inside a packaged product, nor cross-contamination in a kitchen. It is a strong control, not a medical guarantee, and your product should keep an end-user disclaimer.