Back to home

Credits — Data Sources

Effective date : 2026-08-18 Version : 0.6.0


KCalories relies on several public nutritional databases to power the food information surfaced inside the app. This page lists the sources used and their reuse terms, in compliance with the applicable open data licences.

1. Ciqual 2025 — French Food Composition Table (ANSES)

  • Source : French Agency for Food, Environmental and Occupational Health & Safety (ANSES) — Food Observatory
  • Reference : Ciqual 2025 nutritional food composition table, version 2025-11-03
  • DOI : 10.57745/RDMHWY
  • Public URL : https://ciqual.anses.fr/
  • Licence : Open Licence v2.0 (Etalab 2.0)
  • Coverage : ~3,500 generic French foods, full macro- and micronutrient profiles
  • Use in KCalories : the reference dataset for French-language food search

Required attribution (Etalab 2.0) : “Source: Ciqual 2025 Nutritional Composition Table, ANSES, https://ciqual.anses.fr/, Etalab Open Licence v2.0.”

Transformations applied by KCalories : CIQUAL carbohydrates already follow the European convention (fibre excluded) and are carried over unchanged. Where the table publishes no energy value, it is computed from the declared macronutrients (Atwater coefficients, EU Regulation 1169/2011) ; where that computation is not possible either, energy stays not available and the food is flagged as incomplete.

2. USDA — FoodData Central & Pesticide Data Program

  • Source : United States Department of Agriculture (USDA) — Agricultural Research Service, Beltsville Human Nutrition Research Center
  • Public URL : https://fdc.nal.usda.gov/
  • Licence : Public domain (U.S. Government work, no copyright applies)
  • Data used — SR Legacy (National Nutrient Database for Standard Reference, Legacy Release — April 2018) : a frozen dataset of generic English-language foods. The SR Legacy dataset holds environ 7,800 foods; a subset, deduplicated against CIQUAL, is integrated into name search as an English-language complement to the Ciqual entries.
  • Data used — FoodData Central, Branded Foods : queried live via the FDC API during a barcode scan, when a product is absent from Open Food Facts. The result is cached server-side so the API is not re-queried on the next scan of the same barcode ; that cache is temporary, its retention being described in the Privacy Policy. No Branded corpus is built or redistributed.
  • Data used — Pesticide Data Program (PDP) (https://www.ams.usda.gov/datasets/pdp) : the official US pesticide-residue monitoring program. KCalories aggregates the raw PDP data (2024 report + multi-year consensus) into a per-commodity residue-load indicator, used to modulate how relevant “organic” is per commodity (small organic/non-organic gap when measured residues are low). Public-domain data processed offline and bundled statically (no runtime call, no user data transmitted).

Required notice (USDA) : “Mention of trade names, commercial products, or companies does not imply recommendation nor endorsement by the U.S. Department of Agriculture.”

Although no attribution is mandated, KCalories cites the source as a matter of scientific courtesy.

Transformations applied by KCalories : the USDA publishes carbohydrates “by difference” (fibre folded in) ; declared fibre is therefore subtracted to obtain available carbohydrates, the only convention used in the app. For the SR Legacy corpus integrated into search, absent protein, carbohydrates and fat are recorded as 0, and an absent energy value is computed from the macronutrients (Atwater coefficients). On the live Branded fallback (barcode scan), an absent value stays missing — it is never replaced by 0 — and an entry missing any of the four macronutrients is not served.

3. Open Food Facts

Attribution (ODbL v1.0) : “Contains information from Open Food Facts (https://world.openfoodfacts.org/), which is made available here under the Open Database License (ODbL) — https://opendatacommons.org/licenses/odbl/1-0/.”

Photo attribution (CC BY-SA 3.0) : “Photo: Open Food Facts contributors, licensed under CC BY-SA 3.0 — https://creativecommons.org/licenses/by-sa/3.0/.” Per Open Food Facts’ own terms of use, contributors are credited by a link to the product page they contributed to — that is the form of credit the database designates for its contributors.

Modifications applied by KCalories — stated precisely, because an attribution that glosses over them is not one. To Open Food Facts data :

  • Unit conversions : salt converted to sodium ; energy converted to kilocalories where the source publishes kilojoules only ; micronutrient units harmonised.
  • Carbohydrates normalised to the European model : where the source declares fibre, that fibre is subtracted from the carbohydrate figure, so that available carbohydrates are published throughout. Without this, fibre would be counted twice on entries following the US convention. Where the source declares no fibre, the carbohydrate figure is carried over unchanged.
  • Per-100 g values reconstituted : where the source publishes a value per serving only, the per-100 g equivalent is computed pro rata from the declared serving quantity.
  • Missing values : where the source does not declare one of the four macronutrients (energy, protein, carbohydrates, fat), the value is kept as missing — never replaced by 0. An entry missing any of those four is not served in the app : it is refused at lookup time. An absent energy value is reconstituted by computation from the macronutrients in the Open Food Facts-derived database KCalories publishes ; it is not when the entry is queried live from Open Food Facts. Every other missing value is displayed as “not available”.
  • Formatting : projection into the KCalories data model, category harmonisation, indexing for search, aggregation with the other sources above.

The fibre subtraction also applies to USDA data (section 2), which follows the same US convention. CIQUAL data (section 1), already expressed under the European convention, is not subject to it.

Licence limits — as Open Food Facts states them itself : the CC BY-SA licence covers only the photograph and the rights of the contributors who took it. Other third-party rights may subsist in what it depicts (packaging design and graphical elements, trademarks, image rights of people featured on the packaging).

4. Food images — Wikimedia Commons & Openverse

  • Sources : Wikimedia Commons and Openverse (which aggregates Flickr, museums and other Creative Commons providers)
  • Licences : only images under reuse-and-modify-friendly licences are published — CC0, Public Domain Mark, Creative Commons Attribution (CC-BY) and Creative Commons Attribution-ShareAlike (CC-BY-SA). No-Derivatives (CC-BY-ND) and Non-Commercial (NC) works are excluded, because the app resizes images. Each published image records its own specific licence + attribution (author, licence, source page).
  • Coverage : illustrative photos for generic foods (the “overlay” food entries).
  • Modifications applied : the original photo is resized into responsive renditions (thumbnail / card / original) and re-encoded to WebP. No other alteration is made.

Required attribution (CC-BY / CC-BY-SA) : for every published image the author, licence and source page are recorded at publication (e.g. “Photo: [author], [licence], via Wikimedia Commons / Openverse, [source URL]”). This page credits the source banks in aggregate; per-image captions are planned for a later version.

5. KCalories commitments

  • KCalories never arbitrarily alters a nutritional value published by the sources above (Ciqual, USDA, Open Food Facts). The transformations applied are limited, documented and systematic : unit conversions, harmonisation of the carbohydrate calculation convention between European and US sources, reconstitution of the energy value from the macronutrients where it is absent, reconstitution of per-100 g values from the serving, and format normalisations. They are not the same for every source : the detail is at the end of each section (1, 2 and 3).
  • Where a value is missing in the source, KCalories does not invent it — but it does not treat it the same way everywhere, and here is the exact rule. The optional fields (fibre, sugars, polyols, saturated fat) are displayed as “not available”. One named exception : an absent sodium value is derived from the declared salt where the source publishes one and not the other (both express the same figure, to a factor). An absent energy value is computed from the macronutrients for CIQUAL foods, for the USDA SR Legacy corpus (sections 1 and 2) and for the Open Food Facts-derived database KCalories publishes (section 3) ; it is not for an entry queried live from Open Food Facts, nor for the live USDA Branded fallback. On the scan, absent protein, carbohydrates and fat stay missing, and an entry missing any of the four macronutrients is not served : a “0” there means “zero declared by the source”. Entries memorised automatically before this rule may still carry one ; they expire on their own within 30 days. An entry published by an administrator does not expire — but its value is a human decision, never an estimate by KCalories. It differs for the CIQUAL and USDA SR Legacy corpora integrated into search, where an absent macronutrient is recorded as 0 : a “0” there means either “zero declared” or “not declared”. In no case is it an estimate by KCalories.
  • User-added custom foods (home recipes, custom dishes) remain the exclusive property of the user and are never redistributed.
  • Aggregated, anonymised statistics (e.g. food popularity within the app) may be used to refine search ranking, in strict compliance with the Privacy Policy.

6. Data refresh

  • Ciqual : annual refresh (each autumn, when ANSES publishes a new version), driven manually by the KCalories team.
  • USDA SR Legacy (name search) : no refresh planned, the dataset has been frozen since 2018.
  • USDA FoodData Central — Branded (barcode scan) : real-time via API, automatic.
  • Open Food Facts : real-time via API, automatic.
  • Food images (Wikimedia Commons / Openverse) : on demand, human-reviewed before publication, driven manually by the KCalories team.

The exact dataset version used by the app is shown on this screen. When a major refresh ships (e.g. migration from USDA SR Legacy to USDA Foundation Foods), a new version of this document will be published and surfaced to you via the app’s standard update flow.

7. Contact

For any question regarding the origin of the data or licence compliance:


Last updated : 2026-08-18

Last updated : August 18, 2026