Two intelligence layers — scraped + AI-analysed — returning real certifications, per-ingredient allergen trees, 30+ clean label fields, religious compliance, NovaScore, EcoScore, sustainability flags, and full macros/micros. Across 5 million UPC-indexed products. Full payload on the free tier.
Every response has two root objects: scraped_data — direct from manufacturer and Amazon — and analysed_data — our AI qualification layer. Click a domain to explore the real fields.
analysed_data.generalDataCore product identity. Every product carries UPC-12, GTIN-14, brand, full category tree, net weight in two units, and pack configuration — standardised across all 5M products.
analysed_data.npiFoodPackagesAllergensIntolerancesDual stated + qualified model for every allergen. Per-ingredient allergen trees nested inside the ingredients array — not just product-level booleans. Know exactly which ingredient is the risk.
analysed_data.cleanLabel30+ boolean/enum fields covering every clean-label dimension. Both stated (on-pack claim) and qualified (AI-verified) for each. The most comprehensive clean-label dataset in any food API.
analysed_data.additionalInfoProduct-level and per-ingredient dietary and religious compliance. Four religious labels, six dietary protocols. Nested on every ingredient — so you know exactly which ingredient breaks compliance.
analysed_data.nutritionalInformationTwo nutrition objects: stated (manufacturer/pack) and qualified (AI backfilled + verified). Both carry macros and micros per 100g with daily values. Backfill flag shows when AI enrichment was applied.
analysed_data.additionalInfoSix independent scoring systems applied to every product. Industry-standard grades plus food safety signals. No other food API delivers all six in a single response.
analysed_data.additionalInfo.sustainability_labelsSix ESG-adjacent boolean flags per product and per ingredient. Essential for sustainability-led grocery platforms and CPG analytics teams.
analysed_data.claimsStructured extraction of on-pack certifications, nutritional claims, ingredient claims, contact info, and preparation instructions. Everything a consumer app needs without additional scraping.
Pick your language. Copy the snippet. Your first call returns the complete payload — all 200+ attributes, per-ingredient allergen trees, every score. The free tier holds nothing back.
UPC 039978009579 — exactly as returned from our database. Every field shown is a real value from the JSON, not a mock.
No competitor ships per-ingredient allergen trees, dual stated/qualified fields, or all six quality scores in a single response.
Every ingredient carries its own allergen object — 11 allergens per ingredient, not just a product-level boolean. Know exactly which ingredient breaks compliance for each user profile. No other API does this.
Every allergen and clean label field comes in two variants: stated (what the manufacturer declared on pack) and qualified (what our AI verification confirmed). Catch discrepancies before they become liability.
Artificial colours, flavours, sweeteners, preservatives, HFCS, GMO status, hormone flags, ingredient count, recognisability — all stated and qualified. The most complete clean-label API dataset in existence.
NovaScore, Nutri-Score, EcoScore, Organic, Non-GMO, and Carcinogenic flag — all in a single response. No stitching together multiple APIs or building your own scoring pipeline.
Halal, Kosher, Jain, and Hindu — at product and ingredient level. Open 2.2B+ consumers in religious dietary markets that every other food API completely ignores.
PlantBased, Recycled, SustainablePackaging, OrganicPositioning, SocialResponsibility, AnimalWelfare — per product and per ingredient. Power the ESG-driven grocery platforms consumers are demanding.
Per-ingredient allergen trees let you tell users not just "this product may contain peanuts" but exactly which ingredient is the risk — before they scan at the shelf. That's a clinical-grade difference.
Filter 5 million products in real time against a user's simultaneous constraints: Keto + Kosher + No artificial colours + EcoScore B or better. No other API has the data to do this in one call.
Four religious compliance labels — Halal, Kosher, Jain, Hindu — at product and ingredient level. Reach 2.2B consumers in dietary markets that no competitor addresses at any depth.
30+ clean label fields with stated vs. qualified pairs let CPG brands benchmark their entire portfolio, identify claim gaps, and compare against 5M competitor products — at API speed.
Architecture decisions, edge cases, and gotchas — documented so you don’t hit them at 2am.
scraped_data (raw manufacturer/Amazon data) and analysed_data (AI-qualified layer). Always read from analysed_data for application logic — it's verified and normalised. Use scraped_data for auditing or provenance trails only.
const { analysed_data } = await response.json();
// ✓ Do this
const nova = analysed_data.additionalInfo.nova_group;
// ✗ Not this (raw, unnormalised)
const nova = scraped_data.nova_group;
eggStated (manufacturer's claim) and eggQualified (our AI verification). For safety-critical filtering, always use the Qualified field. Stated can be missing or incorrect — Qualified is our verified conclusion.
const allergens = analysed_data
.npiFoodPackagesAllergensIntolerances;
// ✓ Safety-critical: use Qualified
if (allergens.glutenQualified === "No") {
// safe for gluten-free diet
}
ingredients[] array. Use ingredient-level flags to tell users exactly which ingredient is the problem.
analysed_data.ingredients.forEach(ing => {
if (ing.allergens.Peanuts) {
alert(`Contains peanuts: ${ing.name}`);
}
if (!ing.dietary_preference.Vegan) {
alert(`Not vegan: ${ing.name}`);
}
});
qualified.backfillNutrientsProcessed is true, the nutrition values were AI-enriched (not sourced directly from the manufacturer). The data is still reliable, but you may want to surface a confidence indicator in clinical contexts. All backfilled values include a source field.data_last_updated field — use it to invalidate cache selectively rather than polling.
// Recommended cache strategy
const CACHE_TTL = 86400; // 24 hours
const key = `nutrigraph:${upc}`;
const cached = await redis.get(key);
if (!cached) {
const data = await nutrigraph.get(upc);
await redis.setex(key, CACHE_TTL, data);
}
404 means the UPC is not yet in our 5M product database. We add products continuously — submit missing UPCs via the POST /v2/request endpoint and we typically onboard within 48 hours. 429 = rate limit hit. All error responses follow the same envelope:
{
"error": "PRODUCT_NOT_FOUND",
"upc": "012345678901",
"message": "Submit via /v2/request",
"request_id": "req_abc123"
}
1,000 free calls. No credit card. The complete analysed_data layer — per-ingredient allergen trees, all 6 quality scores, 30+ clean label fields, religious compliance, sustainability flags — all of it, from call one. No artificial data limits. You only pay when you scale past 1,000 calls.
Four tiers, no sales calls for the first three. Founding Member discounts lock in lifetime savings — only 3 spots remain.
5 million products. Two intelligence layers. Per-ingredient allergen trees. Six quality scores. 30+ clean label fields. Four religious labels. Six sustainability flags. All in one API call, in under 50ms.
Get your free API key