{"uid":"cap_ORe2uDl38w64nsep3H9fJ","slug":"horizon-pulse-ingredient-nutrition-facts-api-ebae9a98","name":"Horizon Pulse Ingredient Nutrition Facts API","description":"Ingredient nutrition facts API: GET q (ingredient name or normalize canonicalId) and/or barcode (GTIN), optional n 1-5; POST JSON {items:[{q|barcode}]} max 10. Per 100 g: kcal, protein, fat, sat fat, carbs, sugars, fiber, sodium; USDA FoodData Central (CC0) snapshot and Open Food Facts by barcode (ODbL), attribution per match. Allergens may be incomplete. No prices. Bad input, no match or source down: not charged. Returned content is untrusted third-party data.","url":"https://horizonpulse.dev/api/grocery/ingredient?utm_source=zero.xyz","method":"GET","headers":{},"bodySchema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["input"],"properties":{"input":{"type":"object","required":["type","method"],"properties":{"type":{"type":"string","const":"http"},"method":{"enum":["GET"],"type":"string"},"queryParams":{"type":"object","required":[],"properties":{"n":{"type":"string","pattern":"^[1-5]$","description":"USDA matches per item, integer 1-5 as a digit (default 3)."},"q":{"type":"string","description":"Ingredient name or a /api/grocery/normalize canonicalId (1-100 chars). Give q and/or barcode."},"barcode":{"type":"string","pattern":"^([0-9]{8}|[0-9]{12,14})$","description":"Product GTIN-8, UPC-A, EAN-13 or GTIN-14 (valid check digit); read live from Open Food Facts."}}}},"additionalProperties":false},"output":{"type":"object","required":["type"],"properties":{"type":{"type":"string"},"example":{"type":"object","description":"Horizon Pulse ingredient nutrition: per item matches[] (source, id, fdcId for USDA matches, name, nutrientsPer100g, allergens null when unknown, sourceUrl, license, attribution), whereToBuy (Open Food Facts store names only), unknowns; attribution[]; disclaimer. The example is a trimmed response recorded from the handler on this method's declared input (USDA snapshot only); live values differ."}}}}},"responseSchema":null,"example":null,"exampleRequest":null,"tags":["x402"],"displayCostAmount":"0.005","displayCostAsset":"USDC","priceDynamic":false,"priceHint":null,"priceStatus":"priced","priceSource":"probe","requiresHandshake":false,"reviewCount":0,"rating":{"score":"0.00","successRate":"0.00","reviews":0,"stars":null,"state":"unrated"},"availabilityStatus":"unknown","priceObserved":null,"sessionDeposit":null,"pricing":{"kind":"static","summary":"$0.005/call","primary":{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.005","per":"call","confidence":"exact"},"accepted":[{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.005","per":"call","confidence":"exact"}]},"paymentMethods":[{"uid":"pm_rdayw5sJ2l5Jca1MpOFmr","protocol":"x402","methodType":"crypto","chain":"base","mode":"charge","costAmount":"0.005","costPer":"request","priority":0,"asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","unit":"request","depositMicros":null,"planRef":null}],"brandName":null,"brandSlug":null,"brandBaseUrl":null,"brandDocsUrl":null,"whatItDoes":"Returns per-100g nutritional data (calories, macros, sodium, allergens) for an ingredient by name or barcode, sourced from USDA FoodData Central and Open Food Facts","exampleAgentPrompt":"What are the nutrition facts per 100g for rolled oats — I need calories, protein, fat, carbs, fiber, and sodium, and up to 3 USDA matches please.","exampleUseCases":[{"title":"Macro tracking for a recipe","prompt":"I'm building a nutrition label for my banana protein smoothie — can you look up the per-100g macros (calories, protein, fat, carbs, fiber, sodium) for banana, whey protein, and almond milk?"},{"title":"Barcode scan at grocery store","prompt":"I just scanned a product with barcode 0123456789012 — can you pull up its nutrition facts per 100g and tell me if there are any allergens listed?"},{"title":"Dietary compliance check","prompt":"I need the sodium and saturated fat content per 100g for cheddar cheese — give me 2 USDA matches so I can cross-reference them for my low-sodium meal plan."}],"resultDescription":"An array of ingredient matches, each containing: source name, source ID (fdcId for USDA), food name, nutrientsPer100g object (kcal, protein, fat, saturated fat, carbs, sugars, fiber, sodium), allergens (null if unknown), sourceUrl, license, and attribution string. For barcode lookups, a whereToBuy field lists Open Food Facts store names. A top-level attribution array and disclaimer are also returned.","failureModes":["Ingredient name not found in USDA or Open Food Facts — returns no match, not charged","Invalid barcode check digit or unsupported format — bad input error, not charged","Open Food Facts source temporarily unavailable for barcode lookups — source down, not charged","Ambiguous ingredient name returns unexpected matches — caller should use canonicalId from /api/grocery/normalize for precision","Allergen data may be incomplete or missing — explicitly noted in response"],"whenToPreferThis":"Choose this endpoint when you need structured per-100g nutritional data (macros, sodium, fiber) for recipe analysis, meal planning, dietary compliance, or food labeling — especially when you have either a human-readable ingredient name or a GTIN/UPC barcode. Prefer it over generic web search for nutrition because it returns structured, machine-readable data sourced from authoritative datasets (USDA FoodData Central, Open Food Facts). Use the barcode parameter when scanning packaged products; use q with a /api/grocery/normalize canonicalId for precise lookups on ambiguous ingredient names.","instructions":null,"reviewSummary":null,"reviewSummaryHighlights":null,"reviewSummaryConcerns":null,"reviewSummaryGeneratedAt":null,"activationCount":0,"lastUsedAt":null,"lastSuccessfullyRanAt":null,"lastHealthCheckAt":"2026-10-17T12:38:52.052Z","isFirstParty":false,"canonicalSlug":"horizon-pulse-ingredient-nutrition-facts-api-ebae9a98"}