The Open Food Facts database is available under the Open Database License.
The individual contents of the database are available under the Database Contents License.
Products images are available under the Creative Commons Attribution ShareAlike licence. They may contain graphical elements subject to copyright or other rights, that may in some cases be reproduced (quotation rights or fair use).
Please read Terms and conditions of use and re-use before re-using the data.
We are very interested in learning what the Open Food Facts data is used for. It is not mandatory, but we would very much appreciate it if you tell us about your re-uses so that we can share them with the Open Food Facts community.
Open Food Facts data exports
Database dumps and exports are generated nightly. The database is very big, so you can find different ways to use the data, depending on the export flavor.
Information on the different fields for the MongoDB dump and CSV exports is available at https://world.openfoodfacts.org/data/data-fields.txt
Data for all products is available in a MongoDB database dump.
Daily delta exports are provided for the previous 14 days. The list of currently available delta files can be found at
Each line represents a file that is available at
The filename contains UNIX timestamp of the first and the last change contained in the JSON file, so that the delta files can
be imported (after extraction) with
mongoimport in alphabetical order.
Please note that due to the nature of
mongoexport, the delta files cannot tell you about deleted products. To remove
deleted products from your database, you will need to import the full MongoDB dump.
JSONL data export
The whole database is also available in JSONL format (sometimes called LDJSON or NDJSON) where each line is a JSON object. It represents the same data as the MongoDB export. The file is compressed with gzip.
CSV Data Export
Data for all products, or some of the products, can be downloaded in CSV format (readable with OpenOffice, Excel and many other software) through the advanced search form.
- https://static.openfoodfacts.org/data/en.openfoodfacts.org.products.csv (raw CSV)
- https://static.openfoodfacts.org/data/en.openfoodfacts.org.products.csv.gz (compressed CSV in GZIP format)
The file encoding is Unicode UTF-8. The character that separates fields is <tab> (tabulation).
RDF Data Export
The database is also available in the RDF format. announcement in French.
Live JSON and XML API
A JSON API is also available to read the data for a product. This API is in particular used in the Open Food Facts mobile app for iPhone and Android.
We improve the API over-time but we are careful to keep backwards compatibility. Please tell us if you use it, so that we can tell you about potential changes.
URL to read data for a product: https://world.openfoodfacts.org/api/v0/product/[barcode].json
You can also get the result in XML by using
You are very welcome to use the API for production cases, as long as 1 API call = 1 real scan by a user. Any attempt to scrape the database using the API will very likely be blocked, as full daily exports are available on this very page.
Also, sending an HTTP header with your API call is a good way we can get in touch, should any issue arise.
If you are unsure about anything, or have any question (there is no silly question), feel free to ask it on the #api channel on Slack :-)
Android and iPhone mobile app
The code for the Open Food Facts mobile app is available on GitHub (Android and iOS). The app allows users to scan the barcode of products, to view the product information, and to take and submit pictures and data for missing products.
The app for iOS is developed in Swift.
The app for Android is developed in Kotlin.
We also have an on-going Dart/Flutter effort.
You are welcome to reuse the code (it's open source) and help us improve it, for everyone, on all the planet.
Wrappers and SDKs
We probably have a wrapper for your favorite programming language. If we do, you can use it and improve it. If we don't, you can help create it.
They will let you consume data, as well as let your users contribute new data
- You can search for information about products, including many useful computed values.
- If you can't get the information on a specific product, you can get your user to send photos and data, that will then be processed by Open Food Facts AI and contributors to get the computed result you want to show them.
- You can also implement the complete flow so that they get immediately the result with some effort on their side.
If your users do not expect a result immediately (e.g. Inventory apps)
- Submit photos (front/nutrition/ingredients): most painless thing for your users
- The Open Food Facts AI Robotoff will generate some derived data from the photos
- Over time, other apps, and the Open Food Facts community will fill the data gaps
If your users expect a result immediately (e.g. Nutrition apps)
- Submit nutrition facts + category > get Nutri-Score
- Submit ingredients > get the NOVA group (about food ultra-processing), additives, allergens, normalized ingredients, vegan, vegetarian…
- Submit category + labels > soon get the Eco-Score (about environmental impact)
- Cordova: GitHub (old Open Food Facts official app)
- DART: GitHub - Package on pub.dev
- Elixir: GitHub
- Go: GitHub
- NodeJS: GitHub
- PHP: GitHub
- PHP (Laravel): GitHub
- Python: GitHub
- React Native: GitHub
- Ruby: GitHub
Discussing data, API and exports
You can also join the mailing list to discuss the API and exports, tell us about your re-uses, and be notified when improvements or changes are made to the API. Send an empty e-mail to firstname.lastname@example.org to subscribe.
For any question regarding the data, you can contact us at email@example.com