大多数营养 API 将 80% 的数据隐藏在付费墙后。我的没有。

发布: (2025年12月16日 GMT+8 13:03)
6 min read
原文: Dev.to

Source: Dev.to

API 免费层营养素比较

API免费层营养素*价格(付费层)
Nutritionix5$449 / month
Edamam8$79 / month
Spoonacular12$99 / month
CalorieNinjas7(声称“全部”,但缺少15+)
Nutrition Tracker API30+免费(仅为秤付费)

*免费层响应中返回的不同营养素数量。

为什么我选择开放方式

当构建营养追踪 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 API30+免费(仅在超出免费限制后付费)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(文档中提供链接)。
  • 文档: 🌐 [官方文档]

欢迎在评论中分享任何使用完整营养数据构建的项目!

Back to Blog

相关文章

阅读更多 »