M2 Compatibility & Health

Is this safe for this diet.

Check allergens and intolerances across 14 domains — per ingredient or for an entire ingredient list, with clear verdicts instead of raw data. Histamine, FODMAP and pancreas are independently modelled, including thresholds and safe serving sizes.

14 domains, one check.

One request checks an ingredient list across all domains — or exactly the ones you care about. Without an amount, it transparently assumes 100 g (amountAssumed = true).

Gluten
Lactose
Dairy (protein)
Egg
Soy
Peanut
Tree nuts
Sesame
Sulfites
Fish
Shellfish & crustaceans
Histamine
FODMAP
Pancreas

The three highlighted domains are independently modelled — with their own rules, thresholds and serving sizes.

Histamine — with DAO effect.

  • ·Histamine content per ingredient (high/moderate/low/none) incl. threshold grams: at the threshold amount, risk rises to high.
  • ·DAO effect modelled: ingredients with strong DAO support lower the risk by one level.
  • ·Histamine liberators are detected and escalate the assessment — suspected → at least moderate, confirmed → high.
  • ·Fermented or aged? Both escalate one level — and the response flags it separately (containsFermented, containsAged).

FODMAP — with safe servings.

  • ·FODMAP level per ingredient (none–high) plus groups: oligo-, di-, monosaccharides and polyols.
  • ·Safe serving sizes in grams: only at the threshold amount does the assessment tip to high.
  • ·Group logic: 2+ FODMAP groups → at least moderate, 3+ → high — and several moderate ingredients escalate the overall verdict.
  • ·Unknown is never harmless: unknown is conservatively treated as at least moderate.

Pancreas — its own domain.

  • ·Assesses fat and fiber load, fried/greasy preparation and alcohol — with a safe serving size per ingredient.
  • ·For apps around pancreas-friendly diets — as an independent risk dimension (low/moderate/high/unknown).

Diet check.

Checks an ingredient list against four diets and names violations per ingredient including the source — not just yes/no.

vegan vegetarian pescetarian porkFree

Clear verdicts, not raw data.

Every domain returns a verdict plus a risk level. Your app doesn't interpret thresholds — it displays the verdict.

compatible caution incompatible uncertain

uncertain is an honest result: when the data isn't sufficient, we say so — instead of guessing.

Endpoints in this module.

GET /v1/ingredients/{id}/allergens

14-domain profile of a single ingredient

POST /v1/compatibility/check

Check an ingredient list across all (or selected) domains

POST /v1/compatibility/check/batch

Batch check: up to 100 checks in one request (credits = count × 5)

POST /v1/compatibility/diet

Diet check: vegan, vegetarian, pescetarian, pork-free

POST /v1/compatibility/fodmap

FODMAP assessment incl. safe serving sizes

POST /v1/compatibility/histamine

Histamine assessment incl. DAO effect & thresholds

What it looks like.

curl -X POST https://api.foodoracle.app/v1/compatibility/check \
  -H "X-API-Key: fo_live_..." \
  -H "Content-Type: application/json" \
  -d '{
    "items": [
      { "ingredientId": "parmesan", "amount": 50, "unit": "gram" }
    ],
    "concerns": ["histamine", "fodmap"]
  }'
{
  "concerns": [
    { "concern": "histamine", "risk": "high", "verdict": "incompatible" },
    { "concern": "fodmap",    "risk": "low",  "verdict": "compatible" }
  ]
}

Responses shown abbreviated — full schemas in the API reference.

Deterministic. No LLM.

Every answer comes from a curated ingredient library and fixed rules — reproducible, explainable, in milliseconds. Same request, same result. No hallucinations.

5
Credits per call

Note: foodoracle provides data and risk assessments as information for your app — not medical advice. Health decisions belong in professional hands.