Skip to content

Blog

USDA FoodData Central vs MyFitnessPal: honest database comparison

By Alec Zakhary

TL;DR

MyFitnessPal's 20M-entry database is huge but mostly crowdsourced (~23% entry error rate). USDA FoodData Central's ~13K entries are lab-verified and public domain. Breadth vs. trust — most apps hide which they use.

Illustration for USDA FoodData Central vs MyFitnessPal: honest database comparison

Here’s a number that surprised me when I first dug into it: MyFitnessPal’s database is over 1,500 times larger than USDA’s, and yet the smaller one is the underlying truth source for most “verified” entries in the bigger one.

If that sounds backward, it’s because nutrition database scale and accuracy work very differently than you’d expect. Let me walk through what’s actually in each.

MyFitnessPal’s database: ~20 million entries

MFP markets over 20 million food items, 68,500 brands, and 380+ restaurant chains. It’s the largest food database of any calorie tracking app.

How does any company curate 20 million food entries? They don’t. The vast majority are user-submitted. Anyone with a MyFitnessPal account can add a new food, and once added it’s available to other users. There are barcode scanners, brand partnerships (MFP’s Nutritionix integration handles a lot of packaged goods), and some editorial verification — but the bulk of the database is community-contributed.

The accuracy data on this:

  • Spot-check audits of MyFitnessPal user-submitted entries (multiple independent reviews plus our own audit of 50 random entries cross-referenced to USDA FDC) suggest roughly 20–25% disagreement with USDA-verified or brand-published reference values, depending on food category.
  • The pattern across crowdsourced consumer nutrition databases is similar — error rates cluster around 15–20% on random samples versus lab-analyzed values, with packaged-food entries (where a barcode anchors the lookup) substantially better than freshly prepared dishes.
  • Calorie-specific accuracy on well-maintained MFP entries lands around ±7% based on community spot-check threads on r/loseit and r/MyFitnessPal — but there is no quality filter exposed in the UI to tell you which entries those are.

If you’ve ever searched MFP for “banana” and seen 30 different entries with different calorie counts, you’ve seen the problem in practice.

USDA FoodData Central: ~13K entries (much smaller, much different)

USDA FoodData Central is the federal government’s nutrition database. It’s much smaller than MFP, but it’s not really competing for the same job. USDA breaks into three primary datasets that we use:

  • Foundation Foods — around 400 entries, each one based on detailed laboratory analysis. These are the gold standard for individual ingredients (specific cuts of chicken, varieties of rice, fresh produce). Updated as new analyses are funded.
  • FNDDS (Food and Nutrient Database for Dietary Studies) — over 5,000 entries, updated every two years. These are composite dishes the way Americans actually eat them (“chicken burrito with rice and beans”, “latte with whole milk”). FNDDS is the secret weapon for restaurant-style food analysis.
  • SR Legacy — over 7,000 entries from the older Standard Reference database. Final release was April 2018, so it’s no longer updated, but it’s still broad and reliable for most foods.

That’s roughly 13,000 verified entries total — about 1/1,500th the size of MFP. But every entry comes from lab analysis or institutional data, with full nutrient breakdowns covering around 150 nutrients per food.

USDA data is also in the public domain (CC0 1.0 Universal) — meaning anyone, including any app, can use it for free with no attribution required. Many apps that claim “verified data” are pulling from USDA under the hood.

The trade-off, plainly

PropertyMyFitnessPalUSDA FoodData Central
Entries~20,000,000~13,000
SourceMostly user-submittedLab analyses + institutional data
VerificationSpot-checked at bestPeer-reviewed
Random-sample error rate~23%<1% (within methodology)
Brand coverage68,500 brandsNone directly
Restaurant coverage380+ chainsComposite dishes only (FNDDS)
CostFreemiumFree, public domain
APIYesYes (free)
Update cadenceContinuous, unverifiedAnnual to biennial, verified

Translated: if you want to log “Lay’s Sour Cream and Onion Chips, family size”, MFP wins. If you want to know what’s actually in a serving of grilled chicken thigh, USDA wins.

Why most apps don’t surface this distinction

There’s no incentive. “20 million foods” is a marketing number. “13,000 lab-verified foods” sounds smaller and worse to the average buyer, even though it’s the basis for the brand-published numbers in many of those 20 million crowdsourced entries.

This is also why I’m building Nutrogine differently. Every Nutrogine page tags each calorie figure with one of four Source Badges:

  • USDA verified — pulled from FoodData Central, with the FDC ID linked
  • Brand-claimed — from a chain’s official nutrition page
  • User-reported — aggregated from Reddit, Yelp, customer reports
  • Estimated — cross-referenced from USDA components, no single primary source

You can see, on every number, which database it came from. If we’re showing you “590 cal” for a Chipotle bowl, you can click through to the USDA FDC entry for chicken thigh, the Chipotle nutrition PDF, and the r/Chipotle thread that says actual portions vary 14-27 oz. Then you decide what to trust.

What this means if you’re picking a calorie app today

Three pragmatic recommendations from someone who’s compared these databases against each other:

  1. For everyday tracking with an emphasis on convenience (fast logging, barcode scans, packaged-food breadth): MyFitnessPal is still the best choice. Just know the 23% error rate is real — verify anything that surprises you.
  2. For nutrient precision, micronutrient tracking, or any clinical use case: Cronometer (also USDA-grounded) or USDA FoodData Central directly via the free API.
  3. For restaurant calorie tracking specifically: Honestly, no current app does this well, which is the gap I’m trying to close with Nutrogine.

FAQ

Is USDA FoodData Central free to use?

Yes. All USDA FoodData Central data is in the public domain (CC0 1.0) and the API is free with a registered key. No attribution required.

Why does MyFitnessPal have so many more entries than USDA?

Because MFP is mostly user-submitted (community contributions, barcode-scanned packaged foods, brand partnerships), while USDA only includes lab-analyzed or institutionally-validated entries. Different goals, different quality bars.

Is the larger database always more accurate?

No — typically the inverse. Larger crowdsourced databases have higher random-sample error rates because there’s no systematic verification. USDA’s smaller database has near-zero error within its methodology because every entry is lab-derived.

Do other calorie apps use USDA data?

Many do, often without saying so prominently. Cronometer is built on USDA. SnapCalorie pulls from USDA-verified sources. Even MFP cross-references USDA for many of its “verified” entries — but it doesn’t surface that distinction in the UI.