대부분의 Nutrition API는 데이터의 80%를 유료 장벽 뒤에 숨깁니다. 내 것은 그렇지 않습니다.
Source: Dev.to
API 무료‑티어 영양소 비교
| API | 무료‑티어 영양소* | 가격 (유료 티어) |
|---|---|---|
| Nutritionix | 5 | $449 / month |
| Edamam | 8 | $79 / month |
| Spoonacular | 12 | $99 / month |
| CalorieNinjas | 7 (“all”이라고 주장하지만 15+ 누락) | – |
| Nutrition Tracker API | 30+ | 무료 (스케일 비용만 지불) |
*무료‑티어 응답에 포함된 고유 영양소 수.
왜 나는 오픈 접근 방식을 선택했는가
When building the Nutrition Tracker API I faced two options:
| Option | Description |
|---|---|
| A – 업계 매뉴얼 따르기 | 무료로 “빅 4”(칼로리, 단백질, 탄수화물, 지방)만 제공하고, 미량 영양소는 유료 플랜 뒤에 가두어 전환율을 극대화한다. |
| B – 개발자에게 실제로 필요한 것을 제공하기 | 무료 티어에서도 30개 이상의 USDA 영양소 전체를 반환하고; 데이터를 제한하기보다 속도, 신뢰성, 데이터 품질로 경쟁한다. |
I chose Option B because:
- 많은 앱이 특정 미량 영양소를 필요로 한다(예: 비건을 위한 비타민 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 / 월) |
|---|---|---|---|
| 경쟁사 (예: Edamam) | 8 | $79 / month | ≈ $948 / year |
| Nutrition Tracker API | 30+ | Free (pay only after free limits) | $0 for MVP |
대부분의 취미 프로젝트는 비용이 급격히 증가하기 때문에 전체 영양소 추적을 포기합니다. Nutrition Tracker API의 무료 티어를 사용하면 비용 없이 완전한 MVP를 출시할 수 있으며, 무료 한도를 초과할 때만 비용을 지불하면 됩니다.
When a Paid Tier Makes Sense
- Processing ≥ 3 items per request (free tier caps at 2 items).
- Need priority support.
- Higher rate limits for production workloads.
The paid tier is therefore about scale and support, not about unlocking additional nutrients.
유료 티어가 의미가 있을 때
- 요청당 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 (문서에 링크 포함).
- 문서: 🌐 [공식 문서]
댓글에 완전한 영양소 데이터가 포함된 프로젝트를 자유롭게 공유해주세요!