USDA FoodData Central · nutrient database
US Nutrient Composition Lookup
Get defensible USDA nutrition database composition numbers and compare US nutrition facts database declarations in minutes without manual lab lookups. FDA rounding and Daily Values stay a separate regulatory step.
USDA FoodData Central is the US federal nutrient database (also searched as the USDA nutrition database, USDA nutritional database, or nutrition facts database). This capability looks it up live for a food, ingredient or UPC and returns composition per 100 g plus branded label values as submitted. It does not compute Daily Values or apply FDA rounding.
One address in Claude, ChatGPT, Copilot or Cursor, then ask for almond flour per 100 g or a UPC Nutrition Facts panel. No separate USDA API key on your side.
Which market this reads
What this check reads: United States. No other market is covered.
Reads USDA FoodData Central, a US register, and reports what that register holds. No EU composition database is read and no EU nutrition declaration is produced, so the values are US register values rather than a declaration for an EU pack.
What it does
Looks up a food, ingredient or packaged product in USDA FoodData Central and reports its recorded nutrient composition, serving size and declared label values, with the register's own identifiers.
Ask it like this
youSearch the USDA nutrient database and nutrition facts database for almond flour per 100 g, and report declared serving sizes and calories for comparable US brands.
You never name it yourself. Your assistant picks the right tool: us_nutrient_lookup__find_food
What you give it
| What to give | Kind of value | Needed? | Notes |
|---|---|---|---|
| query | string | yes | find_food: a food, ingredient, brand or UPC/GTIN, e.g. almond flour or 041303062623 |
| dataType | 'Foundation' | 'SR Legacy' | 'Branded' | 'Survey (FNDDS)' | optional | find_food: restrict to one kind of record. The four differ in kind and must not be conflated |
| pageSize | number | optional | find_food: records per page, default 3. The register returns each hit with its whole nutrient array and offers no way to ask for less |
| fdc_id | string | yes | get_composition and get_label_panel: the register's own fdcId, taken from find_food and never guessed |
What you get back
| What comes back | Kind of value | Notes |
|---|---|---|
| matches | array | find_food: register records with fdcId, description, dataType and publication date |
| total_in_register | number | how many records the register holds for the query, so you can see whether this page is the whole answer |
| nutrients | array | get_composition: composition per 100 g or 100 ml, each value with its derivation code. An absent nutrient was not analysed, which is not zero |
| label_nutrients | object | get_label_panel: the values a manufacturer declared on the pack, PER SERVING, with serving size, household measure and ingredient statement. Branded records only, submitted and not verified by USDA |
| source | object | the register that answered, and its licence |
| freshness | object | when it was fetched, and whether from cache |
Sources
- USDA FoodData Central (api.nal.usda.gov/fdc/v1) via api.data.gov, queried live. A work of the US federal government, public domain under 17 USC 105, no attribution required
- Reports what the register contains. It does not state that a panel, a value or a claim is compliant: FDA rounding increments and Daily Values are a regulatory judgement this capability does not make
Who wrote this
Every capability is written by one named publisher. You see who stands behind an answer, and you can take the conversation further with them directly.
fmcg.network Core Team
verifiedPlatform capabilities and reference implementations
Network team
What the assistant can offer next
Related reading
How uncertainty is handled
This check reports a confidence score with every answer. Below 70 out of 100 nothing is guessed: the uncertain items go to a review queue and the answer comes back marked "needs review".
Read how quality levels work