डेवलपर्स के लिए मुफ्त न्यूट्रिशन एपीआई: Nutrola के फूड डेटा के साथ ऐप कैसे बनाएं
Nutrola के मुफ्त न्यूट्रिशन एपीआई के साथ न्यूट्रिशन-जानकारी वाले ऐप बनाने के लिए एक डेवलपर गाइड। इसमें एंडपॉइंट्स, प्रमाणीकरण, Python, JavaScript और cURL में कोड उदाहरण, दर सीमाएं, और Nutritionix, Edamam, और USDA एपीआई के साथ तुलना शामिल है।
एक न्यूट्रिशन-जानकारी वाला ऐप बनाने के लिए पहले अपने खुद के फूड डेटाबेस को खड़ा करना, महंगे डेटा सेट का लाइसेंस लेना, या अविश्वसनीय स्रोतों से डेटा इकट्ठा करना आवश्यक था। आजकल, न्यूट्रिशन एपीआई संरचित और प्रोग्रामेटिक तरीके से व्यापक फूड डेटाबेस तक पहुंच प्रदान करते हैं, जिसमें मैक्रोन्यूट्रिएंट, माइक्रोन्यूट्रिएंट, और सर्विंग साइज डेटा साफ JSON के रूप में उपलब्ध होता है। यह गाइड डेवलपर्स को न्यूट्रिशन एपीआई के क्षेत्र में मार्गदर्शन करती है, विशेष रूप से Nutrola के मुफ्त टियर के साथ शुरुआत करने और इसके विकल्पों की तुलना करने पर ध्यान केंद्रित करती है।
चाहे आप एक मील प्लानिंग ऐप, फिटनेस ट्रैकर, शोध उपकरण, रेसिपी एनालाइज़र, या एक AI सहायक बना रहे हों जो न्यूट्रिशन संबंधी प्रश्नों का उत्तर देता हो, यह गाइड आपको एक एपीआई चुनने और मिनटों में अनुरोध करने के लिए तकनीकी विवरण प्रदान करती है।
न्यूट्रिशन एपीआई परिदृश्य का अवलोकन
क्रियान्वयन में गहराई में जाने से पहले, यहां 2026 में डेवलपर्स के लिए उपलब्ध प्रमुख न्यूट्रिशन एपीआई की तुलना की गई है।
| एपीआई | मुफ्त टियर | दर सीमा (मुफ्त) | डेटाबेस में खाद्य पदार्थ | बारकोड स्कैनिंग | फूड रिकग्निशन (AI) | मूल्य (भुगतान) |
|---|---|---|---|---|---|---|
| Nutrola एपीआई | हाँ | 500 अनुरोध/दिन | 900,000+ | हाँ | हाँ (ऐड-ऑन) | $29/माह से |
| USDA FoodData Central | हाँ (पूर्णतः मुफ्त) | 1,000/घंटा प्रति कुंजी | 370,000+ | नहीं | नहीं | मुफ्त |
| Nutritionix एपीआई | हाँ (सीमित) | 50 अनुरोध/दिन | 1,000,000+ | हाँ | नहीं | $299/माह से |
| Edamam एपीआई | हाँ | 100 अनुरोध/दिन | 900,000+ | नहीं | नहीं | $19/माह से |
| FatSecret प्लेटफ़ॉर्म एपीआई | हाँ | 5,000 अनुरोध/दिन | 500,000+ | हाँ | नहीं | मुफ्त (क्रेडिट के साथ) |
| Open Food Facts एपीआई | हाँ (पूर्णतः मुफ्त) | उचित उपयोग | 3,000,000+ | हाँ | नहीं | मुफ्त |
| Spoonacular | हाँ | 150 अनुरोध/दिन | 500,000+ | नहीं | नहीं | $29/माह से |
Nutrola एपीआई के साथ शुरुआत करना
चरण 1: डेवलपर खाता बनाएं
Nutrola डेवलपर पोर्टल पर जाएं developers.nutrola.com पर एक मुफ्त खाता बनाने के लिए। ईमेल सत्यापन के बाद, आपको अपने डैशबोर्ड पर एक एपीआई कुंजी प्राप्त होगी। मुफ्त टियर में 500 अनुरोध प्रति दिन, पूर्ण फूड डेटाबेस तक पहुंच, और टेक्स्ट-आधारित फूड सर्च शामिल है। AI फूड रिकग्निशन एंडपॉइंट्स भुगतान टियर पर उपलब्ध हैं।
चरण 2: प्रमाणीकरण
सभी एपीआई अनुरोधों में आपके एपीआई कुंजी की आवश्यकता होती है, जो अनुरोध हेडर में पास की जाती है। कुंजी को X-Api-Key हेडर के माध्यम से पास किया जाता है।
X-Api-Key: your_api_key_here
एपीआई केवल HTTPS का उपयोग करता है। HTTP एंडपॉइंट्स के सभी अनुरोधों को HTTPS पर 301 रीडायरेक्ट प्राप्त होगा। अपने एपीआई कुंजी को क्लाइंट-साइड कोड में एम्बेड न करें; हमेशा अपने बैकएंड सर्वर के माध्यम से अनुरोधों को प्रॉक्सी करें।
चरण 3: बेस यूआरएल
सभी एंडपॉइंट्स सेवारत हैं:
https://api.nutrola.com/v1/
प्रतिक्रियाएं JSON प्रारूप में UTF-8 एन्कोडिंग के साथ होती हैं। एपीआई RESTful मानकों का पालन करता है और मानक HTTP स्थिति कोड का उपयोग करता है।
मुख्य एंडपॉइंट्स
खाद्य पदार्थ खोजें
खाद्य डेटाबेस को टेक्स्ट क्वेरी द्वारा खोजें। न्यूट्रिशनल डेटा के साथ मेल खाने वाले खाद्य पदार्थ लौटाता है।
एंडपॉइंट: GET /v1/foods/search
पैरामीटर:
| पैरामीटर | प्रकार | आवश्यक | विवरण |
|---|---|---|---|
| query | string | हाँ | खोज शब्द (जैसे, "ग्रिल्ड चिकन ब्रेस्ट") |
| limit | integer | नहीं | प्रति पृष्ठ परिणाम (डिफ़ॉल्ट: 10, अधिकतम: 50) |
| offset | integer | नहीं | पृष्ठांकन ऑफसेट (डिफ़ॉल्ट: 0) |
| type | string | नहीं | प्रकार द्वारा फ़िल्टर करें: "common", "branded", "restaurant" |
| language | string | नहीं | भाषा कोड (डिफ़ॉल्ट: "en"). समर्थित: en, es, de, fr, pt, ja, ko, zh |
उदाहरण अनुरोध (cURL):
curl -X GET "https://api.nutrola.com/v1/foods/search?query=grilled+chicken+breast&limit=5" \
-H "X-Api-Key: your_api_key_here"
उदाहरण अनुरोध (Python):
import requests
API_KEY = "your_api_key_here"
BASE_URL = "https://api.nutrola.com/v1"
response = requests.get(
f"{BASE_URL}/foods/search",
headers={"X-Api-Key": API_KEY},
params={
"query": "grilled chicken breast",
"limit": 5
}
)
data = response.json()
for food in data["foods"]:
print(f"{food['name']}: {food['calories']} kcal per {food['serving_size']}{food['serving_unit']}")
उदाहरण अनुरोध (JavaScript / Node.js):
const API_KEY = "your_api_key_here";
const BASE_URL = "https://api.nutrola.com/v1";
async function searchFoods(query) {
const url = new URL(`${BASE_URL}/foods/search`);
url.searchParams.append("query", query);
url.searchParams.append("limit", "5");
const response = await fetch(url, {
headers: { "X-Api-Key": API_KEY }
});
const data = await response.json();
return data.foods;
}
searchFoods("grilled chicken breast").then(foods => {
foods.forEach(food => {
console.log(`${food.name}: ${food.calories} kcal per ${food.serving_size}${food.serving_unit}`);
});
});
उदाहरण प्रतिक्रिया:
{
"foods": [
{
"id": "nf_001234",
"name": "Chicken Breast, Grilled, Skinless",
"type": "common",
"calories": 165,
"protein_g": 31.0,
"carbohydrates_g": 0.0,
"fat_g": 3.6,
"fiber_g": 0.0,
"sugar_g": 0.0,
"sodium_mg": 74,
"serving_size": 100,
"serving_unit": "g",
"serving_description": "100 grams",
"alt_servings": [
{
"description": "1 medium breast (196g)",
"multiplier": 1.96
},
{
"description": "1 oz (28g)",
"multiplier": 0.28
}
],
"source": "USDA SR Legacy",
"updated": "2026-01-15"
}
],
"total_results": 47,
"offset": 0,
"limit": 5
}
खाद्य पदार्थ ID द्वारा प्राप्त करें
Nutrola ID द्वारा एक विशेष खाद्य आइटम के लिए विस्तृत न्यूट्रिशनल डेटा प्राप्त करें।
एंडपॉइंट: GET /v1/foods/{food_id}
उदाहरण (cURL):
curl -X GET "https://api.nutrola.com/v1/foods/nf_001234" \
-H "X-Api-Key: your_api_key_here"
प्रतिक्रिया में पूर्ण मैक्रो और माइक्रोन्यूट्रिएंट प्रोफ़ाइल (30+ न्यूट्रिएंट), सभी उपलब्ध सर्विंग साइज, सामग्री सूची (ब्रांडेड और रेस्तरां आइटम के लिए), एलर्जेन फ्लैग, आहार टैग (शाकाहारी, ग्लूटेन-फ्री, हलाल, कोषेर), और स्रोत का श्रेय शामिल है।
बारकोड द्वारा खाद्य पदार्थ प्राप्त करें
UPC या EAN बारकोड द्वारा एक पैकेज्ड खाद्य उत्पाद को देखें।
एंडपॉइंट: GET /v1/foods/barcode/{code}
पैरामीटर:
| पैरामीटर | प्रकार | आवश्यक | विवरण |
|---|---|---|---|
| code | string | हाँ | UPC (12-अंकीय) या EAN (13-अंकीय) बारकोड |
उदाहरण (Python):
response = requests.get(
f"{BASE_URL}/foods/barcode/041331092609",
headers={"X-Api-Key": API_KEY}
)
food = response.json()
print(f"{food['name']}: {food['calories']} kcal per {food['serving_description']}")
प्राकृतिक भाषा इनपुट का विश्लेषण करें
एक प्राकृतिक-भाषा खाद्य विवरण को पार्स करें और संरचित न्यूट्रिशनल डेटा लौटाएं। यह एंडपॉइंट मात्राओं, इकाइयों, तैयारी विधियों, और एकल स्ट्रिंग में कई आइटमों को संभालता है।
एंडपॉइंट: POST /v1/foods/analyze
अनुरोध बॉडी:
{
"query": "2 scrambled eggs with a slice of whole wheat toast and half an avocado",
"language": "en"
}
उदाहरण (Python):
response = requests.post(
f"{BASE_URL}/foods/analyze",
headers={
"X-Api-Key": API_KEY,
"Content-Type": "application/json"
},
json={
"query": "2 scrambled eggs with a slice of whole wheat toast and half an avocado"
}
)
result = response.json()
for item in result["items"]:
print(f"{item['quantity']} {item['unit']} {item['name']}: {item['calories']} kcal")
print(f"कुल: {result['total']['calories']} kcal")
उदाहरण प्रतिक्रिया:
{
"items": [
{
"name": "Scrambled Eggs",
"quantity": 2,
"unit": "large",
"calories": 182,
"protein_g": 12.2,
"carbohydrates_g": 2.4,
"fat_g": 13.6,
"food_id": "nf_002891"
},
{
"name": "Whole Wheat Toast",
"quantity": 1,
"unit": "slice",
"calories": 81,
"protein_g": 3.9,
"carbohydrates_g": 13.8,
"fat_g": 1.1,
"food_id": "nf_003401"
},
{
"name": "Avocado",
"quantity": 0.5,
"unit": "medium",
"calories": 120,
"protein_g": 1.5,
"carbohydrates_g": 6.4,
"fat_g": 11.0,
"food_id": "nf_000892"
}
],
"total": {
"calories": 383,
"protein_g": 17.6,
"carbohydrates_g": 22.6,
"fat_g": 25.7
}
}
AI फूड रिकग्निशन (भुगतान टियर)
AI-संचालित पहचान और न्यूट्रिशनल विश्लेषण के लिए एक खाद्य फ़ोटोग्राफ़ सबमिट करें।
एंडपॉइंट: POST /v1/foods/recognize
अनुरोध: इमेज फ़ाइल के साथ मल्टीपार्ट फॉर्म डेटा, या एक JSON बॉडी जिसमें बेस64-कोडेड इमेज हो।
उदाहरण (Python):
with open("meal_photo.jpg", "rb") as f:
response = requests.post(
f"{BASE_URL}/foods/recognize",
headers={"X-Api-Key": API_KEY},
files={"image": ("meal.jpg", f, "image/jpeg")}
)
result = response.json()
for item in result["detected_items"]:
print(f"{item['name']} ({item['confidence']:.1%}): {item['calories']} kcal")
प्रतिक्रिया में विश्वास स्तर के साथ पहचान किए गए खाद्य पदार्थों, बाउंडिंग बॉक्स के समन्वय, अनुमानित भाग के आकार, प्रति आइटम न्यूट्रिशनल ब्रेकडाउन, और कुल भोजन न्यूट्रिशनल सारांश शामिल हैं।
दर सीमाएं और त्रुटि प्रबंधन
टियर द्वारा दर सीमाएं
| टियर | दैनिक अनुरोध | अनुरोध/सेकंड | AI पहचान | मूल्य |
|---|---|---|---|---|
| मुफ्त | 500 | 5 | शामिल नहीं | $0 |
| स्टार्टर्स | 5,000 | 10 | 100/दिन | $29/माह |
| प्रो | 50,000 | 25 | 1,000/दिन | $99/माह |
| एंटरप्राइज | कस्टम | कस्टम | कस्टम | बिक्री से संपर्क करें |
दर सीमा हेडर
हर प्रतिक्रिया में दर सीमा हेडर शामिल होते हैं:
X-RateLimit-Limit: 500
X-RateLimit-Remaining: 487
X-RateLimit-Reset: 1710374400
त्रुटि प्रतिक्रियाएं
एपीआई मानक HTTP स्थिति कोड का उपयोग करता है जिसमें वर्णनात्मक त्रुटि बॉडी होती है।
{
"error": {
"code": "rate_limit_exceeded",
"message": "दैनिक अनुरोध सीमा 500 से अधिक हो गई। 00:00 UTC पर रीसेट होता है।",
"status": 429
}
}
| स्थिति कोड | अर्थ |
|---|---|
| 200 | सफलता |
| 400 | खराब अनुरोध (अमान्य पैरामीटर) |
| 401 | अनधिकृत (अमान्य या अनुपस्थित एपीआई कुंजी) |
| 404 | खाद्य पदार्थ नहीं मिला |
| 429 | दर सीमा पार हो गई |
| 500 | आंतरिक सर्वर त्रुटि |
429 और 500 प्रतिक्रियाओं के लिए एक्सपोनेंशियल बैकऑफ लागू करें। एक सरल रणनीति यह है कि पहले विफलता के बाद 1 सेकंड, दूसरे के बाद 2 सेकंड, तीसरे के बाद 4 सेकंड, अधिकतम 60 सेकंड तक प्रतीक्षा करें।
उपयोग के मामले और कार्यान्वयन पैटर्न
मील प्लानिंग एप्लिकेशन
एक मील प्लानर बनाएं जो लक्षित मैक्रोज़ को हिट करता है, खाद्य पदार्थों को खोजता है, न्यूट्रिशनल कुल की गणना करता है, और तब तक दोहराता है जब तक मील प्लान उपयोगकर्ता के लक्ष्यों को पूरा नहीं करता।
def find_foods_for_target(target_protein, target_calories):
"""प्रोटीन से भरपूर खाद्य पदार्थों को कैलोरी बजट के भीतर खोजें।"""
response = requests.get(
f"{BASE_URL}/foods/search",
headers={"X-Api-Key": API_KEY},
params={
"query": "high protein",
"limit": 20,
"type": "common"
}
)
foods = response.json()["foods"]
# प्रोटीन-से-कैलोरी अनुपात द्वारा फ़िल्टर करें
efficient_foods = [
f for f in foods
if f["protein_g"] / max(f["calories"], 1) > 0.15
]
return sorted(efficient_foods, key=lambda f: f["protein_g"], reverse=True)
फिटनेस ऐप एकीकरण
गतिविधि डेटा के साथ जोड़ें ताकि उपयोगकर्ताओं को उनके कैलोरी संतुलन दिखा सकें। त्वरित लॉगिंग के लिए प्राकृतिक भाषा एंडपॉइंट का उपयोग करें।
async function logMealFromText(description) {
const response = await fetch(`${BASE_URL}/foods/analyze`, {
method: "POST",
headers: {
"X-Api-Key": API_KEY,
"Content-Type": "application/json"
},
body: JSON.stringify({ query: description })
});
const data = await response.json();
// अपने डेटाबेस में स्टोर करें
await db.meals.insert({
user_id: currentUser.id,
items: data.items,
total_calories: data.total.calories,
total_protein: data.total.protein_g,
timestamp: new Date()
});
return data;
}
रेसिपी न्यूट्रिशन कैलकुलेटर
एक रेसिपी के न्यूट्रिशनल कंटेंट की गणना करें, प्रत्येक सामग्री को देख कर और मानों को जोड़कर।
def analyze_recipe(ingredients):
"""
ingredients: list of strings like ["200g chicken breast", "1 cup brown rice", "2 tbsp olive oil"]
"""
recipe_nutrition = {"calories": 0, "protein_g": 0, "carbohydrates_g": 0, "fat_g": 0}
for ingredient in ingredients:
response = requests.post(
f"{BASE_URL}/foods/analyze",
headers={
"X-Api-Key": API_KEY,
"Content-Type": "application/json"
},
json={"query": ingredient}
)
data = response.json()
for item in data["items"]:
recipe_nutrition["calories"] += item["calories"]
recipe_nutrition["protein_g"] += item["protein_g"]
recipe_nutrition["carbohydrates_g"] += item["carbohydrates_g"]
recipe_nutrition["fat_g"] += item["fat_g"]
return recipe_nutrition
# उदाहरण उपयोग
recipe = analyze_recipe([
"200g chicken breast",
"1 cup brown rice cooked",
"2 tablespoons olive oil",
"1 cup steamed broccoli"
])
print(f"रेसिपी कुल: {recipe['calories']} kcal, {recipe['protein_g']}g प्रोटीन")
शोध और डेटा विश्लेषण
शैक्षणिक शोध के लिए, अध्ययन जनसंख्याओं के लिए न्यूट्रिशन प्रोफाइल बनाने के लिए एपीआई का उपयोग करें या आहार मूल्यांकन उपकरणों को मान्य करें।
import pandas as pd
def build_nutrition_profile(food_log_df):
"""
food_log_df: DataFrame with columns ['food_description', 'date']
प्रत्येक प्रविष्टि के लिए पूर्ण न्यूट्रिशनल ब्रेकडाउन के साथ DataFrame लौटाता है।
"""
results = []
for _, row in food_log_df.iterrows():
response = requests.post(
f"{BASE_URL}/foods/analyze",
headers={
"X-Api-Key": API_KEY,
"Content-Type": "application/json"
},
json={"query": row["food_description"]}
)
data = response.json()
results.append({
"date": row["date"],
"description": row["food_description"],
"calories": data["total"]["calories"],
"protein_g": data["total"]["protein_g"],
"carbs_g": data["total"]["carbohydrates_g"],
"fat_g": data["total"]["fat_g"]
})
return pd.DataFrame(results)
वैकल्पिक एपीआई की तुलना
USDA FoodData Central एपीआई
USDA एपीआई पूरी तरह से मुफ्त है और इसमें कोई भुगतान टियर नहीं है, जिससे यह शैक्षणिक और सरकारी परियोजनाओं के लिए डिफ़ॉल्ट विकल्प बनता है। यह लगभग 370,000 खाद्य पदार्थों को कवर करता है जो फाउंडेशन, SR लेगेसी, सर्वे (FNDDS), और ब्रांडेड डेटाबेस में हैं। इसकी ताकत यह है कि यह अमेरिकी खाद्य संरचना डेटा के लिए स्वर्ण मानक है, जो अन्य डेटाबेस का संदर्भ लेते हैं। सीमाएं इसमें प्राकृतिक भाषा पार्सिंग (आपको खाद्य नामों को उनके विशिष्ट डेटाबेस कुंजी से मेल करना होगा), बारकोड लुकअप नहीं, AI पहचान नहीं, और ब्रांडेड खाद्य डेटा में असंगतता शामिल है क्योंकि यह निर्माता की प्रस्तुतियों पर निर्भर करता है। एपीआई दस्तावेज़ कार्यात्मक है लेकिन आधुनिक मानकों द्वारा डेवलपर-फ्रेंडली नहीं है।
सर्वश्रेष्ठ के लिए: शैक्षणिक शोध, सरकारी परियोजनाएं, ऐसे अनुप्रयोग जो प्राधिकृत संदर्भ डेटा की आवश्यकता रखते हैं और जिनके पास मिलान जटिलता को संभालने के लिए डेवलपर संसाधन हैं।
Nutritionix एपीआई
Nutritionix के पास एक विशाल खाद्य डेटाबेस है जिसमें रेस्तरां और ब्रांडेड खाद्य पदार्थों का मजबूत कवरेज है। इसका प्राकृतिक भाषा एंडपॉइंट परिपक्व है और जटिल क्वेरियों को अच्छी तरह से संभालता है। हालाँकि, मुफ्त टियर प्रति दिन 50 अनुरोधों पर अत्यधिक सीमित है, और भुगतान योजनाएँ $299 प्रति माह से शुरू होती हैं, जो कई स्वतंत्र डेवलपर्स और छोटे स्टार्टअप्स के लिए पहुंच से बाहर है। एपीआई अच्छी तरह से प्रलेखित है और टेक्स्ट और बारकोड लुकअप दोनों का समर्थन करता है।
सर्वश्रेष्ठ के लिए: अच्छी तरह से वित्तपोषित अनुप्रयोग जो व्यापक रेस्तरां खाद्य डेटा की आवश्यकता रखते हैं और मूल्य निर्धारण वहन कर सकते हैं।
Edamam एपीआई
Edamam न्यूट्रिशन विश्लेषण, रेसिपी विश्लेषण, और खाद्य डेटाबेस एपीआई प्रदान करता है। मुफ्त टियर प्रति दिन 100 अनुरोध प्रदान करता है, जो प्रोटोटाइपिंग के लिए कार्यशील है। Edamam की ताकत इसकी रेसिपी विश्लेषण क्षमता है, जो एक पूर्ण रेसिपी की सामग्री सूची को पार्स कर सकती है और प्रति-सेवा न्यूट्रिशनल डेटा लौटाती है। डेटाबेस लगभग 900,000 खाद्य पदार्थों को कवर करता है। सीमाएं इसमें कभी-कभी सर्विंग साइज डेटा में असंगतता और नए एपीआई की तुलना में कम सहज डेवलपर अनुभव शामिल हैं।
सर्वश्रेष्ठ के लिए: रेसिपी-केंद्रित अनुप्रयोग, मील योजना उपकरण जिन्हें रेसिपी-स्तरीय विश्लेषण की आवश्यकता है।
FatSecret प्लेटफ़ॉर्म एपीआई
FatSecret एक उदार मुफ्त टियर प्रदान करता है जिसमें 5,000 अनुरोध प्रति दिन होते हैं, जो बूटस्ट्रैप्ड परियोजनाओं के लिए आकर्षक है। व्यापारिकता का व्यापार यह है कि आपको अपने अनुप्रयोग में FatSecret ब्रांडिंग और क्रेडिट प्रदर्शित करना होगा। डेटाबेस में लगभग 500,000 खाद्य पदार्थों को कवर किया गया है जिसमें उचित अंतरराष्ट्रीय कवरेज है। एपीआई OAuth 1.0 प्रमाणीकरण का समर्थन करता है, जो पुराने और लागू करने में अधिक जटिल है।
सर्वश्रेष्ठ के लिए: बजट-सीमित परियोजनाएँ जो क्रेडिट आवश्यकताओं और OAuth 1.0 को समायोजित कर सकती हैं।
Open Food Facts एपीआई
Open Food Facts एक सामुदायिक-चालित, ओपन-सोर्स खाद्य डेटाबेस है जिसमें 3 मिलियन से अधिक उत्पाद हैं, मुख्य रूप से पैकेज्ड सामान जो बारकोड डेटा के साथ हैं। यह पूरी तरह से मुफ्त और खुला है (ओपन डेटाबेस लाइसेंस)। एपीआई बारकोड लुकअप के लिए सीधा है लेकिन न्यूट्रिशनल खोज क्वेरियों के लिए कम संरचित है। डेटा की गुणवत्ता भिन्न होती है क्योंकि योगदान सामुदायिक स्रोत से होते हैं, हालांकि एक सामुदायिक समीक्षा प्रक्रिया कई त्रुटियों को पकड़ती है।
सर्वश्रेष्ठ के लिए: पैकेज्ड खाद्य बारकोड स्कैनिंग, ओपन-सोर्स सिद्धांतों के साथ मेल खाने वाले परियोजनाएँ, अंतरराष्ट्रीय पैकेज्ड खाद्य कवरेज।
एपीआई तुलना सारांश
| विशेषता | Nutrola | USDA | Nutritionix | Edamam | FatSecret | Open Food Facts |
|---|---|---|---|---|---|---|
| मुफ्त टियर दैनिक सीमा | 500 | 1,000/घंटा | 50 | 100 | 5,000 | असीमित |
| प्राकृतिक भाषा पार्सिंग | हाँ | नहीं | हाँ | हाँ | नहीं | नहीं |
| AI फूड रिकग्निशन | हाँ (भुगतान) | नहीं | नहीं | नहीं | नहीं | नहीं |
| बारकोड लुकअप | हाँ | नहीं | हाँ | नहीं | हाँ | हाँ |
| बहु-भाषा समर्थन | 8 भाषाएँ | अंग्रेजी | अंग्रेजी | अंग्रेजी | 16 भाषाएँ | 40+ भाषाएँ |
| रेसिपी विश्लेषण | NLP के माध्यम से | नहीं | हाँ | हाँ | नहीं | नहीं |
| माइक्रोन्यूट्रिएंट गहराई | 30+ न्यूट्रिएंट | 60+ न्यूट्रिएंट | 20+ न्यूट्रिएंट | 25+ न्यूट्रिएंट | 15+ न्यूट्रिएंट | भिन्न |
| प्रमाणीकरण | एपीआई कुंजी | एपीआई कुंजी | एपीआई कुंजी | ऐप आईडी + कुंजी | OAuth 1.0 | कोई (वैकल्पिक) |
न्यूट्रिशन ऐप बनाने के लिए सर्वोत्तम प्रथाएँ
आक्रामक रूप से कैश करें
सामान्य खाद्य पदार्थों के लिए न्यूट्रिशनल डेटा अक्सर बदलता नहीं है। API कॉल को कम करने और प्रतिक्रिया समय में सुधार करने के लिए अपने बैकएंड पर खाद्य खोज परिणामों और न्यूट्रिशनल लुकअप को 24 से 72 घंटों के लिए कैश करें।
अनुपलब्ध डेटा को सुचारू रूप से संभालें
हर खाद्य प्रविष्टि में पूर्ण माइक्रोन्यूट्रिएंट डेटा नहीं होता है। अपने UI को इस तरह से डिज़ाइन करें कि जब डेटा अनुपलब्ध हो तो यह संकेत दे, बजाय इसके कि शून्य दिखाए, जिसे उपयोगकर्ता "इस खाद्य पदार्थ में शून्य आयरन है" के रूप में गलत समझ सकते हैं।
एपीआई कॉल से पहले उपयोगकर्ता इनपुट मान्य करें
API को भेजने से पहलेWhitespace को ट्रिम करें, इकाइयों को सामान्य करें, और खाद्य नामों की स्पेल-चेक करें। एक अच्छी तरह से निर्मित क्वेरी एक टाइपो से भरी क्वेरी की तुलना में बहुत बेहतर परिणाम देती है।
जब संभव हो, प्राकृतिक भाषा एंडपॉइंट का उपयोग करें
अपने खुद के खाद्य नाम पार्सर बनाने के बजाय, /foods/analyze एंडपॉइंट का उपयोग करें। यह मात्राओं ("2 कप"), तैयारी विधियों ("ग्रिल्ड"), और यौगिक विवरण ("होल व्हीट टोस्ट विद बटर") को अधिकांश कस्टम कार्यान्वयन से बेहतर संभालता है।
दर सीमाओं का सम्मान करें
सही बैकऑफ लॉजिक लागू करें। जहां संभव हो बैच संचालन का उपयोग करें। उच्च-वॉल्यूम संचालन के लिए समकालिक एपीआई कॉल के बजाय वेबहुक या कतारों का उपयोग करें।
डेटा स्रोतों का श्रेय दें
अच्छी प्रथा (और कभी-कभी कानूनी आवश्यकता) यह है कि डेटा स्रोत का श्रेय दें। अपने अनुप्रयोग में "Nutrola द्वारा प्रदान किया गया न्यूट्रिशनल डेटा" या जिस एपीआई का आप उपयोग कर रहे हैं उसका समकक्ष प्रदर्शित करें।
अक्सर पूछे जाने वाले प्रश्न
क्या Nutrola एपीआई वास्तव में मुफ्त है?
हाँ। मुफ्त टियर प्रति दिन 500 एपीआई अनुरोध प्रदान करता है, बिना किसी लागत के, बिना क्रेडिट कार्ड की आवश्यकता के। यह प्रोटोटाइपिंग, छोटे अनुप्रयोगों, और व्यक्तिगत परियोजनाओं के लिए पर्याप्त है। मुफ्त टियर में टेक्स्ट सर्च, खाद्य आईडी द्वारा लुकअप, बारकोड स्कैनिंग, और प्राकृतिक भाषा विश्लेषण शामिल है। छवियों से AI फूड रिकग्निशन भुगतान टियर पर उपलब्ध है, जो $29 प्रति माह से शुरू होता है।
एपीआई कौन सा डेटा प्रारूप लौटाता है?
सभी प्रतिक्रियाएँ JSON प्रारूप में UTF-8 एन्कोडिंग के साथ होती हैं। न्यूट्रिशनल मान मानक इकाइयों का उपयोग करते हैं: ऊर्जा के लिए किलो कैलोरी, मैक्रोन्यूट्रिएंट और फाइबर के लिए ग्राम, सोडियम और अधिकांश खनिजों के लिए मिलीग्राम, और जहां लागू हो विटामिन के लिए माइक्रोग्राम।
क्या मैं Nutrola एपीआई का उपयोग एक व्यावसायिक अनुप्रयोग में कर सकता हूँ?
हाँ। मुफ्त और भुगतान दोनों टियर व्यावसायिक उपयोग की अनुमति देते हैं। मुफ्त टियर में आपके अनुप्रयोग में Nutrola का श्रेय देना आवश्यक है। भुगतान टियर में व्हाइट-लेबल विकल्प शामिल हैं जहाँ श्रेय की आवश्यकता नहीं होती।
खाद्य डेटाबेस कितनी बार अपडेट होता है?
Nutrola खाद्य डेटाबेस ब्रांडेड और रेस्तरां खाद्य पदार्थों के लिए लगातार अपडेट होता है, USDA संदर्भ डेटा को USDA रिलीज़ के 30 दिनों के भीतर समन्वयित किया जाता है। प्रमुख डेटाबेस रिफ्रेश हर महीने होते हैं, जबकि व्यक्तिगत खाद्य प्रविष्टियाँ निर्माता परिवर्तनों, उपयोगकर्ता-रिपोर्टेड सुधारों, और नए उत्पाद लॉन्च के आधार पर दैनिक अपडेट हो सकती हैं।
क्या एपीआई अंतरराष्ट्रीय खाद्य पदार्थों का समर्थन करता है?
हाँ। डेटाबेस 50 से अधिक देशों के खाद्य पदार्थों को कवर करता है, जिसमें 8 भाषाओं (अंग्रेजी, स्पेनिश, जर्मन, फ्रेंच, पुर्तगाली, जापानी, कोरियाई, और चीनी) में खोज उपलब्ध है। अंतरराष्ट्रीय खाद्य कवरेज Nutrola की एक मुख्य प्राथमिकता है, और डेटाबेस में क्षेत्रीय व्यंजन, स्थानीय ब्रांडेड उत्पाद, और व्यंजन-विशिष्ट तैयारी शामिल हैं जो अक्सर अमेरिकी-केंद्रित डेटाबेस में गायब होते हैं।
क्या मैं एपीआई का उपयोग मोबाइल ऐप के लिए कर सकता हूँ?
हाँ, लेकिन अपने एपीआई कुंजी को सीधे मोबाइल क्लाइंट कोड में एम्बेड न करें, क्योंकि इसे ऐप बाइनरी से निकाला जा सकता है। इसके बजाय, एक हल्का बैकएंड सर्वर सेट करें जो Nutrola एपीआई के लिए अनुरोधों को प्रॉक्सी करता है और प्रमाणीकरण को संभालता है। यह आपको कैशिंग और अनुरोध प्रबंधन के लिए एक परत भी देता है।
क्या कोई वेबहुक या स्ट्रीमिंग विकल्प है?
वर्तमान में, एपीआई अनुरोध-प्रतिक्रिया मॉडल पर कार्य करता है। बड़े बैच प्रसंस्करण के लिए असिंक्रोनस खाद्य पहचान परिणामों के लिए वेबहुक समर्थन 2026 के रोडमैप पर है। आज के लिए बैच संचालन के लिए, /v1/foods/analyze/batch एंडपॉइंट का उपयोग करें, जो एकल अनुरोध में 20 आइटम तक स्वीकार करता है।
निष्कर्ष
न्यूट्रिशन एपीआई ने डेवलपर्स के लिए खाद्य-जानकारी वाले अनुप्रयोगों का निर्माण करना व्यावहारिक बना दिया है, बिना एक स्वामित्व खाद्य डेटाबेस बनाए रखने के विशाल ओवरहेड के। Nutrola का एपीआई एक उदार मुफ्त टियर, अंतरराष्ट्रीय व्यंजनों में व्यापक खाद्य कवरेज, प्राकृतिक भाषा समझ, और वैकल्पिक AI फूड रिकग्निशन प्रदान करता है, जो इसे सप्ताहांत के प्रोटोटाइप से लेकर उत्पादन अनुप्रयोगों तक के प्रोजेक्ट्स के लिए एक मजबूत विकल्प बनाता है।
आपके प्रोजेक्ट के लिए सबसे अच्छा एपीआई आपकी विशिष्ट आवश्यकताओं पर निर्भर करता है: प्राधिकृत संदर्भ डेटा के लिए USDA, गहरे रेस्तरां कवरेज के लिए Nutritionix, ओपन-सोर्स बारकोड डेटा के लिए Open Food Facts, या Nutrola सुविधाओं, सटीकता, और डेवलपर अनुभव के संतुलन के लिए। कई मामलों में, कई एपीआई को संयोजित करना आपको सबसे अच्छा कवरेज देता है। मुफ्त टियर से शुरू करें, इसे अपने उपयोग के मामले के खिलाफ मान्य करें, और वहां से स्केल करें।
क्या आप अपने पोषण ट्रैकिंग को बदलने के लिए तैयार हैं?
उन हजारों में शामिल हों जिन्होंने Nutrola के साथ अपनी स्वास्थ्य यात्रा को बदल दिया!