You log a bowl of chili in one app and get one calorie count per 100 grams. You log it in another and get a noticeably different number. Neither one has to be wrong: they may be looking it up in different databases, and both can be legitimate sources.
Where the numbers come from in the US
The main public source is FoodData Central, run by the U.S. Department of Agriculture (USDA). It isn't a single table: it brings together several data types, each one built for a different purpose.
- Foundation Foods: values from laboratory analyses of food samples, published with details on how the samples were collected and analyzed. It's the most detailed, and it covers a smaller set of basic foods.
- SR Legacy: USDA's long-standing National Nutrient Database for Standard Reference, frozen at its final 2018 release. It has several thousand generic foods, many of them listed raw, cooked and prepared in other ways - which is where a good part of the calorie difference lives.
- FNDDS, the Food and Nutrient Database for Dietary Studies: built for the national dietary survey, What We Eat in America. It describes foods and drinks the way people actually eat them, mixed dishes included, with values calculated from recipes.
- Branded Foods: what's printed on product labels, with brand and barcode, supplied by food companies. It doesn't measure anything: it reproduces what the manufacturer declared.
Why they disagree
- Preparation. Raw, cooked and fried are different foods, calorie-wise. Cooking changes how much water a food holds - meat loses water and gets denser, while rice and pasta soak it up - and frying adds fat. An entry that only gives the food's name is describing one specific preparation, even when it doesn't say which.
- Recipe. Lasagna isn't a food, it's a dish - and each database measured or calculated its own recipe. The same goes for chili, casseroles or anything else you put together.
- Method and era. Measurements made in different decades, with different equipment, on different samples.
- Label versus lab. What's on the package is declared by the manufacturer, within the margin that labeling rules allow - not measured by a third party.
Which one to use
The practical answer matters less than it seems. To track your own progress, what matters is CONSISTENCY: always using the same reference. If your rice has been logged with the same number today as it always has, the change in your total over the month is real, even if the absolute number comes with a margin.
The mistake that really gets in the way is switching sources midway without realizing it - logging the same dish from a database one day and from a label the next. Then the change you see in the chart isn't yours; it comes from the source.
For packaged food, go with the label, which describes that specific product. For home-cooked food, go with a food composition database, which measures the food itself.
And in Biomapa
In the US, Biomapa's food search uses USDA FoodData Central - its SR Legacy data - and every result shows where it came from. Biomapa doesn't average numbers from different databases: mixing measurements made with different methods would produce a number that doesn't exist in any table. And because the search always draws on the same reference, logging your usual foods through it keeps your history comparable over time.