Skip to main content
Use this when you need to know what’s in a packaged food on US shelves: its ingredients, nutrition facts, serving size, and who makes it. Typical uses: find every product that contains an ingredient you supply, check a competitor’s formulation, or fill in label data from a barcode. The data is a copy of USDA FoodData Central’s current Branded Foods list, refreshed when USDA publishes. USDA builds that list from label data its partners send: brands through the GS1 network, and label data companies such as Label Insight. Each product’s data_source says which, and how fresh its data can be. Every product has source: "usda-fdc".

Search products

Every filter is optional. When you pass several, a product must match all of them.

Your first search: look up a barcode

The simplest search finds one product by the barcode on its package.
Response trimmed for clarity. Values are illustrative. Every product has the same set of fields; see Product fields below for all of them.

Understanding the response

  • data is this page of matching products. An empty array means nothing matched.
  • next_cursor is null on the last page. Otherwise, pass it as cursor to get the next page.
Results come one page at a time. limit sets the page size (1 to 200, default 50). Each response has a next_cursor: pass it back as cursor to get the next page, and stop when it’s null. Rows come back in ID order, so paging never skips or repeats a row.
  • nutrition holds the 15 nutrients on a US nutrition facts panel, per serving. A nutrient the data provider didn’t supply is null, which does not mean zero.
  • serving_size_unit is the unit exactly as the data provider wrote it, such as GRM. serving_size_unit_normalized is the same unit in a standard form, such as g. Use the normalized one when you compare products.

Find products that contain an ingredient

This finds snack bars that list whey protein, 20 at a time.

Find a brand’s products

brand matches the company that owns the brand, the brand, and the sub-brand, so either the maker or the label name works.

Find valid categories

category must match a category name exactly, apart from case. Get the list first. This call is free:
Response trimmed for clarity. Values are illustrative. Categories come back largest first.

Get one product

Pass an id from a search result. This endpoint needs the get-branded-foods scope.
The response is { "data": { ...product } }, with the same fields a search returns. An unknown ID returns 404:
404 Unknown product

Product fields

Every product, from search or from GET /v1/branded-foods/{id}, has all of these fields. A field the data provider didn’t supply is null. These descriptions are the same ones the API reference and the Orbbit Data MCP tools give.

Identity

Brand and category

Package and serving

Market

Label

Dates and provenance

Nutrition

nutrition always has these 15 keys, per serving.

Search filters

Validation rules

Summary

What to do next