大多数营养 API 将 80% 的数据隐藏在付费墙后。我的没有。
发布: (2025年12月16日 GMT+8 13:03)
6 min read
原文: Dev.to
Source: Dev.to
API 免费层营养素比较
| API | 免费层营养素* | 价格(付费层) |
|---|---|---|
| Nutritionix | 5 | $449 / month |
| Edamam | 8 | $79 / month |
| Spoonacular | 12 | $99 / month |
| CalorieNinjas | 7(声称“全部”,但缺少15+) | – |
| Nutrition Tracker API | 30+ | 免费(仅为秤付费) |
*免费层响应中返回的不同营养素数量。
为什么我选择开放方式
当构建营养追踪 API 时,我面临两种选择:
| 选项 | 描述 |
|---|---|
| A – 遵循行业惯例 | 仅免费提供“4 大”营养素(热量、蛋白质、碳水化合物、脂肪);将微量营养素锁定在付费计划中,以最大化转化率。 |
| B – 为开发者提供他们真正需要的 | 即使在免费层也返回 所有 30 多种 USDA 营养素;通过速度、可靠性和数据质量竞争,而不是对数据设限。 |
我选择 选项 B 的原因是:
- 许多应用需要特定的微量营养素(例如,素食者需要的维生素 B12,女性健康所需的铁,运动员所需的电解质)。
- USDA 已经免费公开这些数据;额外收费并未带来实际价值。
- 慷慨的免费层鼓励更多开发者构建创新的营养解决方案。
典型使用场景的营养需求
| 应用类型 | 必需营养素 |
|---|---|
| 素食/素食主义者 | B12,铁,锌 |
| 女性健康 | 叶酸,钙,铁 |
| 运动营养 | 钠,钾,镁 |
| 老年护理 | 维生素 D,钙,B‑维生素 |
将这些内容锁在付费墙后,只能让资金充足的产品提供完整的解决方案。
营养追踪器 API 的价值主张
- 自然语言解析(例如 “100 g 菠菜”)。
- 全球分布的边缘网络,实现极低延迟。
- 干净、已验证的数据,具备全球冗余(请求会路由到最近的健康数据中心)。
- 准确的宏量营养素分解(参见之前的帖子)。
- 免费层包含全部 30 多种营养素;付费层提供更高的速率限制、优先支持和更大的批处理规模。
示例请求与响应
POST /v1/calculate/natural HTTP/1.1
Host: nutrition-tracker-api.p.rapidapi.com
Content-Type: application/json
X-RapidAPI-Key: YOUR_KEY
{
"text": "100g spinach"
}
{
"totalNutrients": {
"Energy": { "value": 23, "unit": "kcal" },
"Protein": { "value": 2.86, "unit": "g" },
"Fat": { "value": 0.39, "unit": "g" },
"Carbohydrate, by difference": { "value": 3.63, "unit": "g" },
"Fiber, total dietary": { "value": 2.2, "unit": "g" },
"Sugars, total": { "value": 0.42, "unit": "g" },
"Calcium, Ca": { "value": 99, "unit": "mg" },
"Iron, Fe": { "value": 2.71, "unit": "mg" },
"Magnesium, Mg": { "value": 79, "unit": "mg" },
"Phosphorus, P": { "value": 49, "unit": "mg" },
"Potassium, K": { "value": 558, "unit": "mg" },
"Sodium, Na": { "value": 79, "unit": "mg" },
"Zinc, Zn": { "value": 0.53, "unit": "mg" },
"Vitamin C, total ascorbic acid": { "value": 28.1, "unit": "mg" },
"Vitamin A, IU": { "value": 9377, "unit": "IU" },
"Vitamin A, RAE": { "value": 469, "unit": "µg" },
"Vitamin E (alpha-tocopherol)": { "value": 2.03, "unit": "mg" },
"Vitamin K (phylloquinone)": { "value": 482.9, "unit": "µg" },
"Thiamin": { "value": 0.078, "unit": "mg" },
"Riboflavin": { "value": 0.189, "unit": "mg" },
"Niacin": { "value": 0.724, "unit": "mg" },
"Vitamin B‑6": { "value": 0.195, "unit": "mg" },
"Folate, total": { "value": 194, "unit": "µg" },
"Vitamin B‑12": { "value": 0, "unit": "µg" },
"Choline, total": { "value": 19.3, "unit": "mg" },
"Selenium, Se": { "value": 1, "unit": "µg" },
"Copper, Cu": { "value": 0.13, "unit": "mg" },
"Manganese, Mn": { "value": 0.897, "unit": "mg" }
}
}
所有 30 多种营养素均免费返回。
定价情景
| API | 免费层营养素 | 付费层(最低) | 业余项目成本(≈ $79 / month) |
|---|---|---|---|
| Competitor (e.g., Edamam) | 8 | $79 / month | ≈ $948 / year |
| Nutrition Tracker API | 30+ | 免费(仅在超出免费限制后付费) | MVP 为 $0 |
大多数业余项目放弃完整的营养素追踪,因为费用很快变得难以承受。使用 Nutrition Tracker API 的免费层,你可以零成本推出完整的 MVP,只有在超出免费限制时才需要付费。
当付费层有意义时
- 处理 ≥ 3 项每请求(免费层上限为 2 项)。
- 需要优先支持。
- 更高的速率限制 用于生产工作负载。
因此,付费层关注的是 规模和支持,而不是解锁额外的营养成分。
如何尝试 API
curl -X POST "https://nutrition-tracker-api.p.rapidapi.com/v1/calculate/natural" \
-H "X-RapidAPI-Key: YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{"text": "1 banana and 2 tablespoons peanut butter"}'
- RapidAPI 门户: 🚀 [在 RapidAPI 上尝试 API]
- SDK: Python、JavaScript、Java(文档中提供链接)。
- 文档: 🌐 [官方文档]
欢迎在评论中分享任何使用完整营养数据构建的项目!