Get product content
Retrieve every content sub-resource for a product in a single response: images, ingredients, nutrition facts, certifications, claims, recalls, circularity score, and FTL designation. Use this on resolver pages to avoid five round-trips; use the per-resource endpoints when only a slice is needed.
Authorizations
Path Parameters
GTIN barcode (8, 12, 13, or 14 digits, with or without separators). Normalized to GTIN-14 for lookup.
Response
OK
Aggregated content bundle for a product.
One-shot endpoint that gathers everything a resolver page needs:
images, ingredients, nutrition facts, certifications, claims,
recalls, circularity score, and FTL designation. Use the per-resource
sub-endpoints (/products/{gtin}/images, /products/{gtin}/ingredients,
etc.) when only a slice is needed.
All images attached to the product, ordered by priority. Empty list when none on file.
All ingredient rows for the product, ordered by priority (label order). Empty list when none on file.
All certifications assigned to the product (e.g. USDA Organic, Fair Trade). Empty list when none on file.
All product claims assigned to the product (e.g. Non-GMO, Vegan). Empty list when none on file.
Recall records linked to the product across FDA, FSIS, CPSC, and Health Canada. Empty list when no recalls are on file.
Structured nutrition-facts panel. Null when no panel has been recorded for the product.
{
"label_format": "US_FDA",
"nutrients": [],
"serving_size": "1 cup (240ml)",
"serving_size_g": 240,
"servings_per_container": 8
}Sustainability circularity score for the product. Null when none has been computed.
{
"assessment_date": "2025-06-01",
"durability_score": 8,
"methodology": "EU Circular Economy Monitoring Framework",
"overall_score": 7.5,
"recyclability_score": 9,
"repairability_score": 6,
"reusability_score": 7
}FSMA 204 Food Traceability List designation. Null when the product has not been evaluated for FTL coverage.
{
"contains_ftl_substance": true,
"ftl_categories": [],
"ftl_substance_categories": ["FRESH_HERBS"],
"is_ftl": false
}