This page documents how the CalorieMenus database is assembled, where the numbers come from, and the limits of what they tell you. We update it whenever the underlying process changes.

Primary data source

Our nutrition data is sourced from the Open Food Facts. The USDA FoodData Central (FDC) Branded Foods dataset is a public-domain catalog of foods sold in the US market, populated by manufacturer-submitted data through GS1 GDSN and partner data feeds. Each entry includes a calorie figure, full Nutrition Facts panel, ingredient statement, serving size, brand owner, and brand name.

For each chain on this site, we issue a search query against the FDC Branded Foods endpoint by brand name, deduplicate results by FDC ID, and filter out non-menu items (industrial bulk ingredients, raw mixes, syrups packaged in commercial gallon sizes that no diner would order). The remaining items are normalized into a common schema and written into per-item HTML pages at build time.

Fallback source

If the USDA endpoint is unavailable for a particular chain at build time, the build script falls back to the Open Food Facts database, an open collaborative product database licensed under the Open Database License (ODbL). Open Food Facts has broad coverage of branded foods including many quick-service items, and its nutrition fields are mappable to the same schema. Where the fallback was used, the source line on each affected page reflects it.

Per-serving figures

All nutrition figures on item pages are per serving as listed by the manufacturer in the source database. The serving size is shown alongside the calorie count on each item page — sometimes that is a single sandwich, sometimes a single piece, sometimes a fixed weight in grams. If you eat more or less than the listed serving, the calorie and macro values scale linearly: doubling the portion doubles the numbers.

Allergen detection

The "Detected allergens" list on each item page is derived from a keyword scan of the published ingredient string. We look for the major US-recognized allergen categories: wheat, milk and dairy components, eggs, soy, peanuts, tree nuts, fish, shellfish, and sesame. The scan is conservative — it surfaces allergens that are explicitly named in the ingredient list but cannot detect cross-contact from shared kitchen equipment, fryers, or prep surfaces. If you have a serious allergy, always confirm with the restaurant before ordering.

What the numbers cannot tell you

Restaurant nutrition data is necessarily an average. Real portions vary based on the person preparing them, regional supply differences, seasonal recipe changes, and customizations like extra cheese or no mayo. Treat the figures here as a strong reference point, not an exact measurement. For values used in medical decisions — for example, carb counts for insulin dosing — confirm against the in-store packaging or the chain's official allergen and nutrition guide for the day you are eating.

Updates and corrections

We rebuild the site periodically as the underlying datasets refresh. If you spot a value that contradicts current in-store packaging at a restaurant, treat the in-store information as authoritative and let us know via the contact page so we can investigate.