API תזונה חינמי למפתחים: איך לבנות אפליקציות עם נתוני המזון של Nutrola
מדריך למפתחים לבניית אפליקציות מודעות לתזונה עם ה-API החינמי של Nutrola. מכסה נקודות קצה, אימות, דוגמאות קוד ב-Python, JavaScript ו-cURL, מגבלות בקשות והשוואות עם Nutritionix, Edamam ו-USDA APIs.
בעבר, בניית אפליקציה מודעת לתזונה דרשה לאסוף בסיס נתונים משלכם ממקורות שונים, לרכוש מערכות נתונים יקרות או לגרד מידע ממקורות לא מהימנים. כיום, APIs לתזונה מספקים גישה מסודרת ומבנית לבסיסי נתונים רחבים של מזון, עם נתוני מקרונוטריינטים, מיקרונוטריינטים וגדלי מנות המועברים בפורמט JSON נקי. מדריך זה מדריך את המפתחים בעולם ה-APIs לתזונה, עם דגש על איך להתחיל עם השכבה החינמית של Nutrola ואיך היא משווה לאלטרנטיבות.
אם אתם בונים אפליקציית תכנון ארוחות, מעקב כושר, כלי מחקר, אנליזר מתכונים או עוזר AI שעונה על שאלות תזונה, מדריך זה מספק לכם את הפרטים הטכניים לבחירת API ולהתחלת הבקשות תוך דקות.
סקירה כללית של APIs לתזונה
לפני שנכנסים ליישום, הנה השוואה של ה-APIs העיקריים לתזונה הזמינים למפתחים בשנת 2026.
| API | שכבת חינם | מגבלת בקשות (חינם) | מזונות בבסיס הנתונים | סריקת ברקוד | זיהוי מזון (AI) | מחירים (בתשלום) |
|---|---|---|---|---|---|---|
| Nutrola API | כן | 500 בקשות/יום | 900,000+ | כן | כן (תוספת) | מ-$29/חודש |
| USDA FoodData Central | כן (חינם לחלוטין) | 1,000/שעה לכל מפתח | 370,000+ | לא | לא | חינם |
| Nutritionix API | כן (מוגבל) | 50 בקשות/יום | 1,000,000+ | כן | לא | מ-$299/חודש |
| Edamam API | כן | 100 בקשות/יום | 900,000+ | לא | לא | מ-$19/חודש |
| FatSecret Platform API | כן | 5,000 בקשות/יום | 500,000+ | כן | לא | חינם (עם קרדיט) |
| Open Food Facts API | כן (חינם לחלוטין) | שימוש סביר | 3,000,000+ | כן | לא | חינם |
| Spoonacular | כן | 150 בקשות/יום | 500,000+ | לא | לא | מ-$29/חודש |
התחלה עם Nutrola API
שלב 1: יצירת חשבון מפתח
בקרו בפורטל המפתחים של Nutrola בכתובת developers.nutrola.com כדי ליצור חשבון חינמי. לאחר אימות הדוא"ל, תקבלו מפתח API בלוח הבקרה שלכם. השכבה החינמית כוללת 500 בקשות ביום, גישה לבסיס הנתונים המלא של המזון וחיפוש מזון מבוסס טקסט. נקודות קצה לזיהוי מזון באמצעות AI זמינות בשכבות בתשלום.
שלב 2: אימות
כל הבקשות ל-API דורשות את מפתח ה-API שלכם בכותרת הבקשה. המפתח מועבר דרך הכותרת X-Api-Key.
X-Api-Key: your_api_key_here
ה-API משתמש ב-HTTPS בלבד. כל הבקשות לנקודות קצה HTTP יקבלו הפניה 301 ל-HTTPS. אל תשלבו את מפתח ה-API שלכם בקוד צד לקוח; תמיד הפנו בקשות דרך השרת האחורי שלכם.
שלב 3: כתובת בסיס
כל הנקודות הקצה מוגשות מ:
https://api.nutrola.com/v1/
התשובות בפורמט JSON עם קידוד UTF-8. ה-API פועל לפי עקרונות RESTful עם קודי סטטוס HTTP סטנדרטיים.
נקודות קצה עיקריות
חיפוש מזונות
חפשו בבסיס הנתונים של המזון לפי שאילתת טקסט. מחזיר מזונות תואמים עם נתוני תזונה.
נקודת קצה: GET /v1/foods/search
פרמטרים:
| פרמטר | סוג | נדרש | תיאור |
|---|---|---|---|
| query | מיתר | כן | מונח חיפוש (למשל, "חזה עוף בגריל") |
| limit | מספר שלם | לא | תוצאות לכל עמוד (ברירת מחדל: 10, מקסימום: 50) |
| offset | מספר שלם | לא | דחיית עמוד (ברירת מחדל: 0) |
| type | מיתר | לא | סינון לפי סוג: "רגיל", "מותג", "מסעדה" |
| language | מיתר | לא | קוד שפה (ברירת מחדל: "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
}
קבלת מזון לפי מזהה
קבלו נתוני תזונה מפורטים עבור פריט מזון ספציפי לפי מזהה Nutrola שלו.
נקודת קצה: 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 | מיתר | כן | ברקוד 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"Total: {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
בקשה: נתוני פורמט multipart עם קובץ התמונה, או גוף JSON עם תמונה מקודדת ב-base64.
דוגמה (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
תגובות שגיאה
ה-API משתמש בקודי סטטוס HTTP סטנדרטיים עם גופי שגיאה מתארים.
{
"error": {
"code": "rate_limit_exceeded",
"message": "Daily request limit of 500 exceeded. Resets at 00:00 UTC.",
"status": 429
}
}
| קוד סטטוס | משמעות |
|---|---|
| 200 | הצלחה |
| 400 | בקשה רעה (פרמטרים לא תקינים) |
| 401 | לא מורשה (מפתח API לא תקין או חסר) |
| 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: רשימה של מיתרים כמו ["200g חזה עוף", "1 כוס אורז חום", "2 כפות שמן זית"]
"""
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 חזה עוף",
"1 כוס אורז חום מבושל",
"2 כפות שמן זית",
"1 כוס ברוקולי מאודה"
])
print(f"סך המתכון: {recipe['calories']} kcal, {recipe['protein_g']}g חלבון")
מחקר וניתוח נתונים
למחקר אקדמי, השתמשו ב-API כדי לבנות פרופילים תזונתיים עבור אוכלוסיות מחקר או לאמת כלים להערכה תזונתית.
import pandas as pd
def build_nutrition_profile(food_log_df):
"""
food_log_df: DataFrame עם עמודות ['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)
השוואה עם APIs חלופיים
USDA FoodData Central API
ה-API של USDA הוא חינם לחלוטין ללא שכבות בתשלום, מה שהופך אותו לבחירה המובילה עבור פרויקטים אקדמיים וממשלתיים. הוא מכסה כ-370,000 מזונות בבסיסי נתונים שונים. יתרונותיו כוללים היותו הסטנדרט המוזן לנתוני הרכב המזון בארה"ב, הסמכות שעליה מתבססים בסיסי נתונים אחרים. מגבלותיו כוללות חוסר בפרסינג בשפה טבעית (יש להתאים שמות מזון למפתחות ספציפיים בבסיס הנתונים), חוסר בחיפוש ברקוד, חוסר בזיהוי AI, והנתונים על מזונות ממותגים עשויים להיות לא עקביים מכיוון שהם תלויים בהגשות של יצרנים. תיעוד ה-API הוא פונקציונלי אך לא ידידותי למפתחים בסטנדרטים מודרניים.
הכי טוב עבור: מחקר אקדמי, פרויקטים ממשלתיים, אפליקציות שצריכות נתוני הפניה סמכותיים ויש להן משאבי פיתוח להתמודד עם מורכבות ההתאמה.
Nutritionix API
Nutritionix מציע אחד מבסיסי הנתונים הגדולים ביותר עם כיסוי חזק של מזונות ממסעדות וממותגים. נקודת הקצה של השפה הטבעית שלה בשלה ומטפלת בשאילתות מורכבות היטב. עם זאת, השכבה החינמית מוגבלת מאוד ל-50 בקשות ביום, ותוכניות בתשלום מתחילות ב-$299 לחודש, מה שמקשה על מפתחים עצמאיים וסטארט-אפים קטנים. ה-API מתועד היטב ותומך הן בחיפוש טקסטואלי והן בחיפוש ברקוד.
הכי טוב עבור: אפליקציות ממומנות היטב שצריכות נתוני מזון ממסעדות נרחבים ויכולות להרשות לעצמן את המחיר.
Edamam API
Edamam מציע APIs לניתוח תזונה, ניתוח מתכונים ונתוני מזון. השכבה החינמית מספקת 100 בקשות ביום, שזה סביר עבור פרוטוטיפ. החוזק של Edamam הוא ביכולת ניתוח המתכונים שלה, שיכולה לפרוס רשימת מרכיבים מלאה ולחזור עם נתוני תזונה לכל מנה. בסיס הנתונים מכסה כ-900,000 מזונות. מגבלות כוללות אי-עקביות לעיתים בנתוני גדלי מנות וחווית מפתח פחות אינטואיטיבית בהשוואה ל-APIs חדשים יותר.
הכי טוב עבור: אפליקציות ממוקדות מתכונים, כלים לתכנון ארוחות שצריכים ניתוח ברמת המתכון.
FatSecret Platform API
FatSecret מציע שכבת חינם נדיבה עם 5,000 בקשות ביום, מה שהופך אותו לאטרקטיבי עבור פרויקטים בתקציב מוגבל. התמורה היא שצריך להציג את המיתוג של FatSecret וקרדיט באפליקציה שלכם. בסיס הנתונים מכסה כ-500,000 מזונות עם כיסוי בינלאומי סביר. ה-API תומך באימות OAuth 1.0, שהוא ישן ומורכב יותר ליישום מאשר גישות מפתח API או OAuth 2.0.
הכי טוב עבור: פרויקטים עם מגבלות תקציב שיכולים לעמוד בדרישות הקרדיט ואימות OAuth 1.0.
Open Food Facts API
Open Food Facts הוא בסיס נתונים של מזון מונחה קהילה, פתוח עם מעל 3 מיליון מוצרים, בעיקר מוצרים ארוזים עם נתוני ברקוד. הוא חינם לחלוטין ופתוח (רישיון בסיס נתונים פתוח). ה-API פשוט לחיפושי ברקוד אך פחות מסודר עבור שאילתות חיפוש תזונה. איכות הנתונים משתנה מכיוון שהתרומות הן קהילתיות, אם כי תהליך סקירה קהילתי תופס הרבה שגיאות.
הכי טוב עבור: סריקות ברקוד של מזון ארוז, פרויקטים שמתאימים לעקרונות קוד פתוח, כיסוי מזון ארוז בינלאומי.
סיכום השוואת APIs
| תכונה | 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+ מזינים | משתנה |
| אימות | מפתח API | מפתח API | מפתח API | מזהה אפליקציה + מפתח | OAuth 1.0 | לא (אופציונלי) |
שיטות עבודה מומלצות לבניית אפליקציות תזונה
שמירה אגרסיבית
נתוני תזונה עבור מזונות נפוצים אינם משתנים לעיתים קרובות. שמרו תוצאות חיפוש מזון ונתוני תזונה על השרת שלכם למשך 24 עד 72 שעות כדי להפחית את הבקשות ל-API ולשפר את זמני התגובה.
טיפול בנתונים חסרים בצורה נאותה
לא לכל רשומת מזון יש נתוני מיקרונוטריינטים מלאים. עיצבו את הממשק שלכם כך שיצביע על כשלים בנתונים כאשר הם אינם זמינים במקום להציג אפסים, דבר שעלול להטעות את המשתמשים לחשוב "מזון זה מכיל אפס ברזל".
אימות קלט משתמש לפני בקשות API
חתכו רווחים, נרמלו יחידות ובדקו איות של שמות מזון לפני שליחתם ל-API. שאילתה מעוצבת היטב מניבה תוצאות טובות יותר מאשר אחת מלאה בטעויות.
השתמשו בנקודת הקצה של השפה הטבעית כאשר אפשרי
במקום לבנות את מנתח שמות המזון שלכם, השתמשו בנקודת הקצה /foods/analyze. היא מטפלת בכמויות ("2 כוסות"), שיטות הכנה ("גריל") ותיאורים מורכבים ("לחם חיטה מלאה עם חמאה") טוב יותר מרוב היישומים המותאמים אישית.
כבדו את מגבלות הבקשות
יישמו לוגיקת חזרה נאותה. בצעו פעולות בקבוצה היכן שזה אפשרי. השתמשו ב-webhooks או בתורים עבור פעולות בנפח גבוה במקום בבקשות API סינכרוניות.
אשרו את מקורות הנתונים
פרקטיקה טובה (ולעיתים דרישה חוקית בהתאם ל-API) היא לאשר את מקור הנתונים. הציגו "נתוני תזונה מסופקים על ידי Nutrola" או המקביל עבור כל API שבו אתם משתמשים.
שאלות נפוצות
האם ה-API של Nutrola באמת חינמי?
כן. השכבה החינמית מספקת 500 בקשות API ביום ללא עלות, ללא צורך בכרטיס אשראי. זה מספיק עבור פרוטוטיפ, אפליקציות קטנות ופרויקטים אישיים. השכבה החינמית כוללת חיפוש טקסטואלי, חיפוש מזון לפי מזהה, סריקות ברקוד וניתוח בשפה טבעית. זיהוי מזון באמצעות AI מתמונות זמין בשכבות בתשלום החל מ-$29 לחודש.
באיזה פורמט ה-API מחזיר את הנתונים?
כל התשובות בפורמט JSON עם קידוד UTF-8. ערכי תזונה משתמשים ביחידות סטנדרטיות: קילוקלוריות לאנרגיה, גרמים למקרונוטריינטים וסיבים, מיליגרמים לנתרן ורוב המינרלים, ומיקרוגרמים לויטמינים כאשר זה רלוונטי.
האם אני יכול להשתמש ב-API של Nutrola באפליקציה מסחרית?
כן. גם השכבות החינמיות וגם בתשלום מתירות שימוש מסחרי. השכבה החינמית דורשת קרדיט ל-Nutrola באפליקציה שלכם. שכבות בתשלום כוללות אפשרויות לבן-לבן שבהן אין צורך בקרדיט.
באיזו תדירות מעודכן בסיס הנתונים של המזון?
בסיס הנתונים של Nutrola מעודכן באופן מתמשך עבור מזונות ממותגים ומסעדות, עם נתוני הפניה של USDA מסונכרנים תוך 30 יום מהשקות USDA. רענונים גדולים של בסיס הנתונים מתרחשים מדי חודש, בעוד שפריטי מזון בודדים עשויים להתעדכן מדי יום בהתאם לשינויים של יצרנים, תיקונים מדווחים על ידי משתמשים והשקות מוצרים חדשים.
האם ה-API תומך במזונות בינלאומיים?
כן. בסיס הנתונים מכסה מזונות מיותר מ-50 מדינות, עם חיפוש זמין ב-8 שפות (אנגלית, ספרדית, גרמנית, צרפתית, פורטוגזית, יפנית, קוריאנית, וסינית). כיסוי המזון הבינלאומי הוא עדיפות מרכזית עבור Nutrola, ובסיס הנתונים כולל מנות אזוריות, מוצרים ממותגים מקומיים והכנות ספציפיות למטבח שלעיתים חסרות בבסיסי נתונים ממוקדים בארה"ב.
האם אני יכול להשתמש ב-API עבור אפליקציה ניידת?
כן, אך אל תשלבו את מפתח ה-API שלכם ישירות בקוד לקוח נייד, מכיוון שניתן לחלץ אותו מהבינארי של האפליקציה. במקום זאת, הקימו שרת אחורי קל שמפנה בקשות ל-API של Nutrola ומטפל באימות. זה גם נותן לכם שכבת קאשינג וניהול בקשות.
האם יש אפשרות webhook או סטרימינג?
נכון לעכשיו, ה-API פועל במודל בקשה-תגובה. תמיכה ב-webhook עבור תוצאות זיהוי מזון אסינכרוניות (עבור עיבוד קבוצתי גדול) נמצאת בתכנון לשנת 2026. עבור פעולות קבוצתיות כיום, השתמשו בנקודת הקצה /v1/foods/analyze/batch, שמקבלת עד 20 פריטים בבקשה אחת.
סיכום
APIs לתזונה הפכו את זה לאפשרי עבור מפתחים לבנות אפליקציות מודעות למזון מבלי העומס העצום של תחזוקת בסיס נתונים פרטי. ה-API של Nutrola מספק שכבת חינם נדיבה, כיסוי מזון מקיף על פני מטבחים בינלאומיים, הבנה בשפה טבעית וזיהוי מזון אופציונלי באמצעות AI, מה שהופך אותו לבחירה חזקה עבור פרויקטים ranging from weekend prototypes to production applications.
ה-API הטוב ביותר עבור הפרויקט שלכם תלוי בצרכים הספציפיים שלכם: USDA עבור נתוני הפניה סמכותיים, Nutritionix עבור כיסוי עמוק של מסעדות, Open Food Facts עבור נתוני ברקוד פתוחים, או Nutrola עבור איזון בין תכונות, דיוק וחווית מפתח. במקרים רבים, שילוב של מספר APIs נותן לכם את הכיסוי הטוב ביותר. התחילו עם השכבה החינמית, אשרו אותה מול המקרה שלכם, והתרחבו משם.
מוכנים לשנות את מעקב התזונה שלכם?
הצטרפו לאלפים ששינו את מסע הבריאות שלהם עם Nutrola!