Nutrition API
Barcode Lookup API
UPC or EAN in, normalized nutrition data out. One GET request returns the product name, brand, image, serving size, and full macros, built on USDA FoodData Central and Open Food Facts with coverage across 180+ countries.
Try it live
Scan with your camera or enter a barcode. This demo calls the same endpoint your app would.
Try: 5449000000996 (Coca-Cola), 7622210449283 (Oreo), 3017620422003 (Nutella)
One request, normalized response
curl "https://exercise-api.ymove.app/api/v2/foods/barcode/041631000564?country=NL" \
-H "Authorization: Bearer YOUR_API_KEY"
{
"data": {
"name": "Nature Valley Granola Bar",
"displayName": "Granola Bar (Nature Valley)",
"brand": "General Mills",
"barcode": "041631000564",
"servingSize": 42,
"servingDescription": "1 bar (42g)",
"calories": 190,
"protein": 4,
"fat": 7,
"carbs": 29,
"fiber": 2,
"sugar": 11,
"sodium": 160,
"imageUrl": "https://...",
"source": "openfoodfacts"
}
}The optional country parameter (ISO code, e.g. NL, FR, DE) localizes nutrition labels and serving descriptions where localized data exists. The response shape matches the food search endpoint, so scanned and searched foods flow through the same UI code.
Built for calorie trackers and nutrition apps
Generic barcode databases return product metadata: a name, a brand, sometimes a price. A food app needs more: a serving size, normalized macros, and a response that drops into the same data model as the rest of the food database. The YMove barcode api returns exactly that, one normalized food object with nutrition per serving, sourced from USDA FoodData Central for US branded foods and Open Food Facts for international coverage across 180+ countries.
Barcode lookup is included in the standard YMove plan alongside food search, AI food logging (text and photo), the recipe api, and the exercise api: one key, $19/mo, no per-lookup fees, no attribution requirements, and you can cache responses in your own database.
Barcode API Comparison
| Feature | YMove | Barcode Lookup | Go-UPC | Edamam Food DB | Open Food Facts |
|---|---|---|---|---|---|
| Normalized nutrition per serving | Raw, varies | ||||
| Food-first coverage (USDA + OFF) | |||||
| Country-aware label localization | |||||
| Product images | |||||
| Cache responses freely | Check ToS | Check ToS | Restricted | ODbL share-alike | |
| Bundled food search + AI logging + recipes + exercises | |||||
| Self-serve signup | |||||
| Pricing model | $19/mo flat bundle | Paid per-lookup plans | Paid per-lookup plans | Per-product tiers | Free, rate-limited |
Normalized nutrition per serving
Food-first coverage (USDA + OFF)
Country-aware label localization
Product images
Cache responses freely
Bundled food search + AI logging + recipes + exercises
Self-serve signup
Pricing model
Barcode Lookup (barcodelookup.com) and Go-UPC are general product databases; Edamam and Open Food Facts are food databases. Comparison reflects published docs and pricing pages as of June 2026.
Frequently asked questions
Is there a barcode API for food and nutrition data?
Yes. The YMove barcode API takes a UPC or EAN and returns the product with normalized nutrition per serving: calories, protein, fat, carbs, fiber, sugar, sodium, and saturated fat, plus brand, serving description, and a product image. It is built on USDA FoodData Central branded foods and Open Food Facts, covering products from 180+ countries.
How do I get nutrition facts from a UPC code?
Call GET /api/v2/foods/barcode/{upc} with your API key. The response is a single normalized food object, the same shape the food search endpoint returns, so a scanned product drops straight into the same UI as a searched one.
Which barcode formats are supported?
UPC-A (12 digits, US/Canada), EAN-13 (13 digits, international), and the short EAN-8 and UPC-E formats. Pass the digits as printed; leading zeros are handled.
Does it work for international products?
Yes. Open Food Facts coverage spans 180+ countries, and the optional country parameter (e.g. country=NL or country=FR) localizes nutrition labels and serving descriptions where localized data exists.
Can I cache the responses?
Yes, cache freely. There are no attribution requirements and no restrictions on storing responses in your own database, unlike several competing food data APIs.
See also: the free UPC barcode lookup tool, the food search demo, and the full nutrition API.
Ready to Build?
Barcode lookup, food search, AI food logging, recipes, and exercise content, one key from $19/mo.
Start Free Trial