Pushbuild

USDA Food Nutrition: 450K Foods by UPC, Brand, Nutrients

Nutrition facts for 450,000+ branded grocery products and generic foods from USDA FoodData Central: calories, protein, fat, carbs, sugars, sodium, vitamins, ingredients and serving sizes. Look up by UPC barcode, search by name or brand, filter by nutrients.

$0.24 per 1,000 foods

Get an API key

What it returns

Nutrition facts for 450,000+ branded grocery products plus USDA reference foods, from USDA FoodData Central. - **UPC lookup**: scan a barcode, get the product's nutrition label and ingredients. - **Search** by product name, brand or category; filter by calories, protein, sugars, sodium, fat, carbs and fiber; include or exclude ingredients (e.g. no corn syrup, no peanuts). - **Generic foods** ("apples, raw", "hummus") from the Foundation and SR Legacy reference sets.

`fdcId`, `source` (branded or generic), `description`, `brandOwner`, `brandName`, `upc`, `category`, `ingredients`, `servingSize`, `servingUnit`, `householdServing`, `packageWeight`, `per100` (calories, protein, fat, saturated and trans fat, cholesterol, carbs, fiber, sugars, added sugars, sodium, potassium, calcium, iron, vitamins C and D per 100 g/ml), `perServing` for branded products, and the USDA page `url`. Discontinued products are excluded, and each UPC appears once (its newest label).

Request

POST https://api.pushbuild.com/usda-food-nutrition/run with a JSON body. Send your key in the X-API-Key header.

FieldTypeDescription
querystringFood or product name words, e.g. greek yogurt, cheerios.
upcslist of stringsLook up packaged products by UPC/GTIN barcode (leading zeros optional).
brandslist of stringsBrand or brand-owner name text, e.g. Kellogg, Chobani.
categorieslist of stringsCategory text, e.g. Cereal, Snacks, Fruits.
sourceslist of stringsbranded (packaged products) or generic (USDA reference foods like 'apples, raw'). Default both.
ingredientsIncludelist of stringsEvery listed ingredient must appear, e.g. oats.
ingredientsExcludelist of stringsNone of these may appear, e.g. corn syrup, peanut.
maxCaloriesintegerUpper limit on kcal per 100 g or ml.
minProteinintegerLower limit on protein grams per 100 g or ml.
maxSugarsintegerUpper limit on total sugars per 100 g or ml.
maxSodiumintegerUpper limit on sodium mg per 100 g or ml.
maxFatintegerUpper limit on total fat per 100 g or ml.
maxCarbsintegerUpper limit on carbohydrates per 100 g or ml.
minFiberintegerLower limit on fiber per 100 g or ml.
sortBystring: relevance, calories, protein, sugars, sodium, fiber, newestResult order (nutrient sorts are per 100 g). Default: "relevance".
maxItemsintegerMaximum items to return (1-500). Default: 100.

Example

curl -X POST https://api.pushbuild.com/usda-food-nutrition/run \
  -H "X-API-Key: YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{"query": "greek yogurt", "maxItems": 20}'

Response

{"count": 20, "truncated": false, "seconds": 1.4, "items": [ { ... } ]}

Each call returns up to 500 items. Records that fail validation or are not found are flagged in the items and not charged.

Pricing

Pay only for results returned: $0.24 per 1,000 foods. No charge for errors or empty searches.

Tell us what you need built.

Questions about this API, higher volumes, or a data source you need that we don't cover yet.

hello@pushbuild.com

(617) 299-8887

Tell us about your project

A few questions so we can come back with a written scope. We reply within one business day.