帮助我们向全球数百万消费者推荐食物

group photo donation 2024
Open Food Facts logo

请向我们的 2026 筹款活动捐款

您的捐款将资助我们非营利协会的日常运营:

  • 保持我们的数据库对所有人开放以及良好的稳定性,
    • 技术基础设施(网站/移动应用程序)和一个小型常驻团队
  • 保持独立于食品行业,

  • 参与一个由坚定者组成的社区,

  • 支持公共卫生研究的进步。

每一份捐款都意义非凡!感谢您的支持,让我们共同努力,进一步提升全球食品透明度。

数据

重用数据条款

Open Food Facts 数据库可在 开放数据库许可证下使用。
数据库的各个内容可在 数据库内容许可证下使用。
产品图像可在 Creative Commons 相同方式共享许可证下使用。 它们可能包含受版权或其他权利保护的图形元素,在某些情况下可以复制(引用权或合理使用)。

在复用数据之前,请阅读 使用和复用条款和条件

告诉我们您使用我们数据的情况

我们非常有兴趣了解 Open Food Facts 数据的用途。 这不是强制性的,但如果您 告诉我们您的使用情况 我们会非常感激,以便我们与 Open Food Facts 社区分享。 您还可以 填写此表格 以获得让您的应用获得推荐的机会。

Open Food Facts 数据导出

数据库转储和导出每晚生成。 数据库非常大,因此您可以找到 多种不同的方式来使用数据,具体取决于导出风格。

有关 MongoDB 转储和 CSV 导出的不同字段的信息可在 https://world.openfoodfacts.org/data/data-fields.txt找到

MongoDB 转储

所有产品的数据都可以在 MongoDB 数据库转储中找到。

链接
https://static.openfoodfacts.org/data/openfoodfacts-mongodbdump.gz
SHA256 校验和
https://static.openfoodfacts.org/data/gz-sha256sum
MD5 校验和
https://static.openfoodfacts.org/data/gz-md5sum

Delta Export

提供前 14 天的每日增量导出数据。 当前可用的增量文件列表可以在 https://static.openfoodfacts.org/data/delta/index.txt找到。

每一行代表一个可在 https://static.openfoodfacts.org/data/delta/{filename}处获取的文件。

文件名包含 JSON 文件中第一个和最后一个更改的 UNIX 时间戳,以便可以按字母顺序使用 mongoimport 导入增量文件(提取后)。

请注意,由于 mongoexport的性质,增量文件无法告诉您有关已删除产品的信息。 要从数据库中删除已删除的产品,您需要导入完整的 MongoDB 转储。

JSONL 数据导出

整个数据库也可以采用 JSONL 格式 (有时称为 LDJSON 或 NDJSON),其中每一行都是一个 JSON 对象。 它代表与 MongoDB 导出相同的数据。 该文件使用 gzip 压缩。

链接
https://static.openfoodfacts.org/data/openfoodfacts-products.jsonl.gz

利用数据库的一个合适方法是使用 DuckDB,这是一种旨在在几分之一秒内处理大量数据的进程内分析工具。 您可以阅读我们的 博客文章 ,我们将引导您使用 DuckDB 探索和处理 Open Food Facts 数据库

Hugging Face 上的 Parquet 格式数据导出

JSONL 转储的简化版本也可在 Parquet 格式中使用。 在转换过程中,我们过滤掉了包含重复信息、用于内部调试或与用户无关的列。

Parquet 格式已被证明非常方便:

  • 数据按列而不是按行组织,这节省了存储空间并加快了分析查询速度,即您可以只选择您关心的列,从而优化查询性能,即使在入门级计算机上也是如此。
  • 高效的数据压缩和解压缩,适合存储和共享任何类型的大数据集,
  • 支持复杂数据类型和高级嵌套数据结构。

该数据集可在 Hugging Face上获得,这是一个协作机器学习生态系统,开发人员和研究人员可以在其中共享模型和数据集。

链接
https://huggingface.co/datasets/openfoodfacts/product-database/resolve/main/food.parquet?download=true

Wiki中查找更多信息,包括数据重用指南和入门示例查询。

CSV 数据导出

可以通过 高级搜索表单以 CSV 格式(可使用 LibreOffice、Excel 和许多其他电子表格软件读取)下载所有产品或部分产品的数据。

链接
食物: https://static.openfoodfacts.org/data/en.openfoodfacts.org.products.csv.gz (GZIP 格式压缩的 CSV:约 0.9 Gb,未压缩:约 9 Gb)
化妆品: https://static.openbeautyfacts.org/data/en.openbeautyfacts.org.products.csv.gz
宠物食品: https://static.openpetfoodfacts.org/data/en.openpetfoodfacts.org.products.csv.gz
所有其他产品: https://static.openproductsfacts.org/data/en.openproductsfacts.org.products.csv.gz

文件编码为Unicode UTF-8。 分隔字段的字符是 <tab> (制表符)。

RDF数据导出

该数据库还提供 RDF 格式(这是一个实验,不再积极维护)。 您可以用法语阅读公告

链接
https://world.openfoodfacts.org/data/en.openfoodfacts.org.products.rdf.gz

图像数据导出

所有图像和 OCR 结果都可以从我们的服务器或 AWS(通过 AWS 开放数据计划)下载。 查看我们的文档以了解有关如何下载图像的更多信息

实时 JSON 和 XML API

JSON API 也可用于读取产品数据。 此 API 特别用于 Open Food Facts 移动应用程序。

我们会不断改进 API,但我们会小心保持旧版本兼容性。 如果您使用它,请 与我们联系 ,以便我们告知您可能发生的变化。

探索我们的 API

为改进我们的 API 和 OpenAPI 文档做出贡献

我们渴望完成 API 的文档、添加用例并自动化 SDK 生成。 如果您对 OpenAPI 十分了解,我们需要您的协助。

非常欢迎您将 API 用于生产案例,只要 1 次 API 调用 = 用户进行 1 次真实数据请求。 任何使用 API 抓取数据库的尝试都很可能被阻止,因为完整的每日导出数据就在这个页面上提供。

此外,如果出现任何问题,在 API 调用中发送您的 HTTP 标头是与我们联系的好方法。

XML API(暂不支持)

您还可以使用 .xml以 XML 格式获取结果

例如: https://world.openfoodfacts.org/api/v2/product/737628064502.xml

此 API 并未得到积极维护,也没有官方文档。

包装器和 SDK

我们可能有您最喜欢的编程语言的包装器。 请尽量使用并改进它。 如果你没有找到,你也可以帮助创建它。

它们不仅能让你消费数据,还能让你的用户贡献新数据

让用户满意的一般原则

  • 您可以搜索有关产品的信息,包括许多有用的计算值。
  • 如果您无法获取特定产品的信息,您可以让您的用户发送产品照片和数据,然后由 Open Food Facts AI 和贡献者处理这些信息以获得您想要向他们展示的计算结果。
  • 您还可以实施完整的流程,以便他们只需付出一些努力就能立即获得结果。

如果您的用户不期望立即获得结果(例如库存应用程序)

  • 提交照片(正面/营养/成分):对用户来说最轻松的事情
  • Open Food Facts AI - Robotoff - 将从照片中生成一些衍生数据
  • 随着时间的推移,其他应用程序和 Open Food Facts 社区将填补数据空白

如果您的用户希望立即获得结果(例如营养应用程序)

  • 提交营养成分表 + 类别 > 获取 Nutri-Score 得分
  • 提交成分 > 获取 NOVA 小组(关于食品超加工)、添加剂、过敏原、标准化成分、纯素食、素食…等信息;
  • Submit category + labels > soon get the Eco-Score (about environmental impact)

Android 和 iPhone 移动应用程序

Open Food Facts 移动应用程序的代码可在 GitHub 上获取(FlutterKotlin AndroidSwift iOS)。

We look to turn the deprecated Kotlin and Swift codebases into Kotlin and Swift SDKs, help welcome :-)

该应用程序允许用户扫描产品的条形码,查看产品信息,以及拍摄和提交缺失产品的图片和数据。

欢迎您复用代码(它是开源的)并帮助我们改进它,造福地球上的每个人。

SDK(开发套件)

图标 语言/框架 参考资源 讨论
Cordova(旧应用程序) GitHub 不适用
DART GitHub pub.dev 不适用
Elixir GitHub Slack 频道
Go GitHub Slack 频道
Java GitHub Slack 频道
Spring Boot GitHub Slack 频道
Kotlin GitHub Slack 频道
JavaScript GitHub Slack 频道
PHP GitHub Slack 频道
PHP(Laravel) GitHub Slack 频道
Python GitHub Slack 频道
React Native GitHub Slack 频道
Ruby GitHub Slack 频道
赤色 GitHub Slack 频道
R GitHub Slack 频道
Swift GitHub Slack 频道
.NET/C# GitHub Slack 频道

讨论数据、API 和导出

您可以查看 有关 API 和数据导出的常见问题常见的 Open Food Facts 问题

您可以 加入 Open Food Facts Slack 聊天室 这是提问和讨论 API的首选方式。 请 在#api 频道中提出您的问题

您可以 在我们的 API 文档存储库上新建一个讨论

如对数据有任何疑问,请联系我们 reuse@openfoodfacts.org