API Nutrition Gratuit pour Développeurs : Comment Créer des Applications avec les Données Alimentaires de Nutrola
Un guide pour les développeurs sur la création d'applications conscientes de la nutrition avec l'API nutrition gratuite de Nutrola. Couvre les points de terminaison, l'authentification, des exemples de code en Python, JavaScript et cURL, les limites de taux, et des comparaisons avec les API Nutritionix, Edamam et USDA.
Créer une application consciente de la nutrition nécessitait autrefois de rassembler sa propre base de données alimentaires, de licencier des ensembles de données coûteux ou de récupérer des sources peu fiables. Aujourd'hui, les API nutritionnelles offrent un accès structuré et programmatique à des bases de données alimentaires complètes, avec des données sur les macronutriments, les micronutriments et les tailles de portions, le tout livré sous forme de JSON clair. Ce guide accompagne les développeurs à travers le paysage des API nutritionnelles, en se concentrant sur la manière de commencer avec la version gratuite de Nutrola et comment elle se compare aux alternatives.
Que vous développiez une application de planification de repas, un tracker de fitness, un outil de recherche, un analyseur de recettes ou un assistant IA répondant à des questions nutritionnelles, ce guide vous fournit les détails techniques nécessaires pour choisir une API et commencer à faire des requêtes en quelques minutes.
Aperçu du Paysage des API Nutritionnelles
Avant de plonger dans l'implémentation, voici une comparaison des principales API nutritionnelles disponibles pour les développeurs en 2026.
| API | Version Gratuite | Limite de Taux (Gratuite) | Aliments dans la Base de Données | Scan de Code-barres | Reconnaissance Alimentaire (IA) | Tarification (Payante) |
|---|---|---|---|---|---|---|
| API Nutrola | Oui | 500 requêtes/jour | 900,000+ | Oui | Oui (optionnel) | À partir de 29$/mois |
| USDA FoodData Central | Oui (entièrement gratuit) | 1,000/heure par clé | 370,000+ | Non | Non | Gratuit |
| API Nutritionix | Oui (limitée) | 50 requêtes/jour | 1,000,000+ | Oui | Non | À partir de 299$/mois |
| API Edamam | Oui | 100 requêtes/jour | 900,000+ | Non | Non | À partir de 19$/mois |
| API FatSecret Platform | Oui | 5,000 requêtes/jour | 500,000+ | Oui | Non | Gratuit (avec attribution) |
| API Open Food Facts | Oui (entièrement gratuit) | Utilisation raisonnable | 3,000,000+ | Oui | Non | Gratuit |
| Spoonacular | Oui | 150 requêtes/jour | 500,000+ | Non | Non | À partir de 29$/mois |
Commencer avec l'API Nutrola
Étape 1 : Créer un Compte Développeur
Rendez-vous sur le Portail Développeur de Nutrola à developers.nutrola.com pour créer un compte gratuit. Après vérification de votre email, vous recevrez une clé API sur votre tableau de bord. La version gratuite inclut 500 requêtes par jour, l'accès à la base de données alimentaire complète et la recherche alimentaire textuelle. Les points de terminaison de reconnaissance alimentaire par IA sont disponibles dans les versions payantes.
Étape 2 : Authentification
Toutes les requêtes API nécessitent votre clé API dans l'en-tête de la requête. La clé est transmise via l'en-tête X-Api-Key.
X-Api-Key: votre_clé_api_ici
L'API utilise exclusivement HTTPS. Toutes les requêtes vers des points de terminaison HTTP recevront une redirection 301 vers HTTPS. Ne pas intégrer votre clé API dans le code côté client ; faites toujours passer les requêtes par votre serveur backend.
Étape 3 : URL de Base
Tous les points de terminaison sont servis depuis :
https://api.nutrola.com/v1/
Les réponses sont au format JSON avec un encodage UTF-8. L'API suit les conventions RESTful avec des codes d'état HTTP standards.
Points de Terminaison Principaux
Recherche d'Aliments
Recherchez dans la base de données alimentaire par requête textuelle. Retourne les aliments correspondants avec des données nutritionnelles.
Point de terminaison : GET /v1/foods/search
Paramètres :
| Paramètre | Type | Requis | Description |
|---|---|---|---|
| query | string | Oui | Terme de recherche (ex : "poitrine de poulet grillée") |
| limit | integer | Non | Résultats par page (par défaut : 10, max : 50) |
| offset | integer | Non | Décalage de pagination (par défaut : 0) |
| type | string | Non | Filtrer par type : "commun", "marqué", "restaurant" |
| language | string | Non | Code de langue (par défaut : "en"). Prend en charge : en, es, de, fr, pt, ja, ko, zh |
Exemple de Requête (cURL) :
curl -X GET "https://api.nutrola.com/v1/foods/search?query=grilled+chicken+breast&limit=5" \
-H "X-Api-Key: votre_clé_api_ici"
Exemple de Requête (Python) :
import requests
API_KEY = "votre_clé_api_ici"
BASE_URL = "https://api.nutrola.com/v1"
response = requests.get(
f"{BASE_URL}/foods/search",
headers={"X-Api-Key": API_KEY},
params={
"query": "poitrine de poulet grillée",
"limit": 5
}
)
data = response.json()
for food in data["foods"]:
print(f"{food['name']}: {food['calories']} kcal par {food['serving_size']}{food['serving_unit']}")
Exemple de Requête (JavaScript / Node.js) :
const API_KEY = "votre_clé_api_ici";
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("poitrine de poulet grillée").then(foods => {
foods.forEach(food => {
console.log(`${food.name}: ${food.calories} kcal par ${food.serving_size}${food.serving_unit}`);
});
});
Exemple de Réponse :
{
"foods": [
{
"id": "nf_001234",
"name": "Poitrine de Poulet, Grillée, Sans Peau",
"type": "commun",
"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 grammes",
"alt_servings": [
{
"description": "1 poitrine moyenne (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
}
Obtenir un Aliment par ID
Récupérez des données nutritionnelles détaillées pour un aliment spécifique par son ID Nutrola.
Point de terminaison : GET /v1/foods/{food_id}
Exemple (cURL) :
curl -X GET "https://api.nutrola.com/v1/foods/nf_001234" \
-H "X-Api-Key: votre_clé_api_ici"
La réponse inclut le profil complet des macronutriments et micronutriments (30+ nutriments), toutes les tailles de portions disponibles, la liste des ingrédients (pour les éléments marqués et de restaurant), les indicateurs d'allergènes, les étiquettes diététiques (végétalien, sans gluten, halal, casher), et l'attribution de la source.
Obtenir un Aliment par Code-barres
Recherchez un produit alimentaire emballé par son code-barres UPC ou EAN.
Point de terminaison : GET /v1/foods/barcode/{code}
Paramètres :
| Paramètre | Type | Requis | Description |
|---|---|---|---|
| code | string | Oui | Code-barres UPC (12 chiffres) ou EAN (13 chiffres) |
Exemple (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 par {food['serving_description']}")
Analyser une Entrée en Langage Naturel
Analysez une description alimentaire en langage naturel et retournez des données nutritionnelles structurées. Ce point de terminaison gère les quantités, les unités, les méthodes de préparation et plusieurs éléments dans une seule chaîne.
Point de terminaison : POST /v1/foods/analyze
Corps de la Requête :
{
"query": "2 œufs brouillés avec une tranche de pain complet et la moitié d'un avocat",
"language": "fr"
}
Exemple (Python) :
response = requests.post(
f"{BASE_URL}/foods/analyze",
headers={
"X-Api-Key": API_KEY,
"Content-Type": "application/json"
},
json={
"query": "2 œufs brouillés avec une tranche de pain complet et la moitié d'un avocat"
}
)
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")
Exemple de Réponse :
{
"items": [
{
"name": "Œufs Brouillés",
"quantity": 2,
"unit": "grand",
"calories": 182,
"protein_g": 12.2,
"carbohydrates_g": 2.4,
"fat_g": 13.6,
"food_id": "nf_002891"
},
{
"name": "Pain Complet",
"quantity": 1,
"unit": "tranche",
"calories": 81,
"protein_g": 3.9,
"carbohydrates_g": 13.8,
"fat_g": 1.1,
"food_id": "nf_003401"
},
{
"name": "Avocat",
"quantity": 0.5,
"unit": "moyen",
"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
}
}
Reconnaissance Alimentaire par IA (Niveau Payant)
Soumettez une photo d'aliment pour une reconnaissance alimentée par IA et une analyse nutritionnelle.
Point de terminaison : POST /v1/foods/recognize
Requête : Données multipart/form avec le fichier image, ou un corps JSON avec une image encodée en base64.
Exemple (Python) :
with open("photo_repas.jpg", "rb") as f:
response = requests.post(
f"{BASE_URL}/foods/recognize",
headers={"X-Api-Key": API_KEY},
files={"image": ("repas.jpg", f, "image/jpeg")}
)
result = response.json()
for item in result["detected_items"]:
print(f"{item['name']} ({item['confidence']:.1%}): {item['calories']} kcal")
La réponse inclut les éléments alimentaires détectés avec des scores de confiance, les coordonnées de la boîte englobante, les tailles de portions estimées, la répartition nutritionnelle par élément, et le résumé nutritionnel total du repas.
Limites de Taux et Gestion des Erreurs
Limites de Taux par Niveau
| Niveau | Requêtes Quotidiennes | Requêtes/Seconde | Reconnaissance IA | Prix |
|---|---|---|---|---|
| Gratuit | 500 | 5 | Non inclus | 0$ |
| Starter | 5,000 | 10 | 100/jour | 29$/mois |
| Pro | 50,000 | 25 | 1,000/jour | 99$/mois |
| Entreprise | Personnalisé | Personnalisé | Personnalisé | Contacter les ventes |
En-têtes de Limite de Taux
Chaque réponse inclut des en-têtes de limite de taux :
X-RateLimit-Limit: 500
X-RateLimit-Remaining: 487
X-RateLimit-Reset: 1710374400
Réponses d'Erreur
L'API utilise des codes d'état HTTP standards avec des corps d'erreur descriptifs.
{
"error": {
"code": "rate_limit_exceeded",
"message": "Limite de requêtes quotidienne de 500 dépassée. Réinitialisation à 00:00 UTC.",
"status": 429
}
}
| Code d'État | Signification |
|---|---|
| 200 | Succès |
| 400 | Mauvaise requête (paramètres invalides) |
| 401 | Non autorisé (clé API invalide ou manquante) |
| 404 | Aliment non trouvé |
| 429 | Limite de taux dépassée |
| 500 | Erreur interne du serveur |
Implémentez un retour exponentiel pour les réponses 429 et 500. Une stratégie simple consiste à attendre 1 seconde après le premier échec, 2 secondes après le deuxième, 4 après le troisième, jusqu'à un maximum de 60 secondes.
Cas d'Utilisation et Modèles d'Implémentation
Applications de Planification de Repas
Créez un planificateur de repas qui atteint les macros cibles en recherchant des aliments, en calculant les totaux nutritionnels, et en itérant jusqu'à ce que le plan de repas réponde aux objectifs de l'utilisateur.
def find_foods_for_target(target_protein, target_calories):
"""Trouver des aliments riches en protéines dans le budget calorique."""
response = requests.get(
f"{BASE_URL}/foods/search",
headers={"X-Api-Key": API_KEY},
params={
"query": "riche en protéines",
"limit": 20,
"type": "commun"
}
)
foods = response.json()["foods"]
# Filtrer par ratio protéines-calories
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)
Intégration d'Applications de Fitness
Associez-vous aux données d'activité pour montrer aux utilisateurs leur équilibre calorique. Utilisez le point de terminaison de langage naturel pour un enregistrement rapide.
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();
// Stocker dans votre base de données
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;
}
Calculateur Nutritionnel de Recettes
Calculez le contenu nutritionnel d'une recette en recherchant chaque ingrédient et en additionnant les valeurs.
def analyze_recipe(ingredients):
"""
ingredients : liste de chaînes comme ["200g poitrine de poulet", "1 tasse de riz brun", "2 cuil. à soupe d'huile d'olive"]
"""
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
# Exemple d'utilisation
recipe = analyze_recipe([
"200g poitrine de poulet",
"1 tasse de riz brun cuit",
"2 cuillères à soupe d'huile d'olive",
"1 tasse de brocoli cuit à la vapeur"
])
print(f"Total de la recette : {recipe['calories']} kcal, {recipe['protein_g']}g de protéines")
Recherche et Analyse de Données
Pour la recherche académique, utilisez l'API pour construire des profils nutritionnels pour des populations d'étude ou valider des outils d'évaluation diététique.
import pandas as pd
def build_nutrition_profile(food_log_df):
"""
food_log_df : DataFrame avec les colonnes ['food_description', 'date']
Retourne un DataFrame avec la répartition nutritionnelle complète par entrée.
"""
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)
Comparaison avec les API Alternatives
API USDA FoodData Central
L'API USDA est entièrement gratuite sans niveaux payants, ce qui en fait le choix par défaut pour les projets académiques et gouvernementaux. Elle couvre environ 370,000 aliments à travers les bases de données Foundation, SR Legacy, Survey (FNDDS) et Branded. Ses points forts incluent le fait d'être la référence en matière de données de composition alimentaire aux États-Unis, l'autorité à laquelle d'autres bases de données se réfèrent. Ses limitations incluent l'absence d'analyse en langage naturel (vous devez faire correspondre les noms des aliments à leurs clés spécifiques de base de données), pas de recherche par code-barres, pas de reconnaissance IA, et les données alimentaires de marque peuvent être incohérentes car elles dépendent des soumissions des fabricants. La documentation de l'API est fonctionnelle mais pas conviviale pour les développeurs selon les normes modernes.
Idéal pour : Recherche académique, projets gouvernementaux, applications nécessitant des données de référence autoritaires et disposant de ressources développeurs pour gérer la complexité de la correspondance.
API Nutritionix
Nutritionix possède l'une des plus grandes bases de données alimentaires avec une forte couverture des aliments de restaurant et de marque. Son point de terminaison de langage naturel est mature et gère bien les requêtes complexes. Cependant, la version gratuite est extrêmement limitée à 50 requêtes par jour, et les plans payants commencent à 299$ par mois, ce qui la rend inaccessible pour de nombreux développeurs indépendants et petites startups. L'API est bien documentée et prend en charge à la fois la recherche textuelle et par code-barres.
Idéal pour : Applications bien financées ayant besoin de données alimentaires de restaurant étendues et pouvant se permettre le prix.
API Edamam
Edamam propose des API d'analyse nutritionnelle, d'analyse de recettes et de base de données alimentaires. La version gratuite fournit 100 requêtes par jour, ce qui est acceptable pour le prototypage. La force d'Edamam réside dans sa capacité d'analyse de recettes, qui peut analyser la liste des ingrédients d'une recette complète et retourner des données nutritionnelles par portion. La base de données couvre environ 900,000 aliments. Les limitations incluent des incohérences occasionnelles dans les données de taille de portion et une expérience développeur moins intuitive par rapport aux API plus récentes.
Idéal pour : Applications axées sur les recettes, outils de planification de repas nécessitant une analyse au niveau des recettes.
API FatSecret Platform
FatSecret propose une version gratuite généreuse avec 5,000 requêtes par jour, ce qui la rend attrayante pour les projets à budget limité. L'inconvénient est que vous devez afficher la marque FatSecret et l'attribution dans votre application. La base de données couvre environ 500,000 aliments avec une couverture internationale décente. L'API prend en charge l'authentification OAuth 1.0, qui est plus ancienne et plus complexe à mettre en œuvre que les approches par clé API ou OAuth 2.0.
Idéal pour : Projets à budget contraint pouvant accepter des exigences d'attribution et OAuth 1.0.
API Open Food Facts
Open Food Facts est une base de données alimentaire open-source et communautaire avec plus de 3 millions de produits, principalement des biens emballés avec des données de code-barres. Elle est entièrement gratuite et ouverte (Open Database License). L'API est simple pour les recherches par code-barres mais moins structurée pour les requêtes de recherche nutritionnelle. La qualité des données varie car les contributions sont crowdsourcées, bien qu'un processus de révision communautaire corrige de nombreuses erreurs.
Idéal pour : Scans de codes-barres d'aliments emballés, projets alignés avec des principes open-source, couverture internationale des aliments emballés.
Résumé de la Comparaison des API
| Fonctionnalité | Nutrola | USDA | Nutritionix | Edamam | FatSecret | Open Food Facts |
|---|---|---|---|---|---|---|
| Limite quotidienne de la version gratuite | 500 | 1,000/heure | 50 | 100 | 5,000 | Illimité |
| Analyse en langage naturel | Oui | Non | Oui | Oui | Non | Non |
| Reconnaissance alimentaire par IA | Oui (payant) | Non | Non | Non | Non | Non |
| Recherche par code-barres | Oui | Non | Oui | Non | Oui | Oui |
| Support multilingue | 8 langues | Anglais | Anglais | Anglais | 16 langues | 40+ langues |
| Analyse de recettes | Via NLP | Non | Oui | Oui | Non | Non |
| Profondeur en micronutriments | 30+ nutriments | 60+ nutriments | 20+ nutriments | 25+ nutriments | 15+ nutriments | Varie |
| Authentification | Clé API | Clé API | Clé API | ID d'application + Clé | OAuth 1.0 | Aucune (optionnelle) |
Meilleures Pratiques pour Construire des Applications Nutritionnelles
Cacher de manière agressive
Les données nutritionnelles pour les aliments courants ne changent pas fréquemment. Cachez les résultats de recherche d'aliments et les recherches nutritionnelles sur votre backend pendant 24 à 72 heures pour réduire les appels API et améliorer les temps de réponse.
Gérer les données manquantes avec soin
Tous les enregistrements alimentaires n'ont pas de données micronutritionnelles complètes. Concevez votre interface utilisateur pour indiquer lorsque les données ne sont pas disponibles plutôt que d'afficher des zéros, que les utilisateurs pourraient mal interpréter comme "cet aliment contient zéro fer".
Valider les entrées utilisateur avant les appels API
Éliminez les espaces superflus, normalisez les unités et corrigez l'orthographe des noms des aliments avant de les envoyer à l'API. Une requête bien formée produit de bien meilleurs résultats qu'une requête remplie de fautes de frappe.
Utiliser le point de terminaison de langage naturel quand c'est possible
Au lieu de construire votre propre analyseur de noms d'aliments, utilisez le point de terminaison /foods/analyze. Il gère mieux les quantités ("2 tasses"), les méthodes de préparation ("grillé"), et les descriptions composées ("pain complet avec beurre") que la plupart des implémentations personnalisées.
Respecter les limites de taux
Implémentez une logique de retour appropriée. Regroupez les opérations lorsque cela est possible. Utilisez des webhooks ou des files d'attente pour les opérations à fort volume plutôt que des appels API synchrones.
Attribuer les sources de données
Une bonne pratique (et parfois une exigence légale selon l'API) est d'attribuer la source des données. Affichez "Données nutritionnelles fournies par Nutrola" ou l'équivalent pour l'API que vous utilisez.
Questions Fréquemment Posées
L'API Nutrola est-elle vraiment gratuite ?
Oui. La version gratuite fournit 500 requêtes API par jour sans coût, sans carte de crédit requise. Cela suffit pour le prototypage, les petites applications et les projets personnels. La version gratuite inclut la recherche textuelle, la recherche d'aliments par ID, le scan de code-barres et l'analyse en langage naturel. La reconnaissance alimentaire par IA à partir d'images est disponible dans les versions payantes à partir de 29$ par mois.
Quel format de données l'API retourne-t-elle ?
Toutes les réponses sont au format JSON avec un encodage UTF-8. Les valeurs nutritionnelles utilisent des unités standard : kilocalories pour l'énergie, grammes pour les macronutriments et les fibres, milligrammes pour le sodium et la plupart des minéraux, et microgrammes pour les vitamines lorsque cela est applicable.
Puis-je utiliser l'API Nutrola dans une application commerciale ?
Oui. Les versions gratuite et payante permettent une utilisation commerciale. La version gratuite nécessite une attribution à Nutrola dans votre application. Les versions payantes incluent des options en marque blanche où aucune attribution n'est requise.
À quelle fréquence la base de données alimentaire est-elle mise à jour ?
La base de données alimentaire de Nutrola est mise à jour en continu pour les aliments de marque et de restaurant, avec des données de référence USDA synchronisées dans les 30 jours suivant les publications de l'USDA. Des mises à jour majeures de la base de données ont lieu chaque mois, tandis que les entrées alimentaires individuelles peuvent être mises à jour quotidiennement en fonction des changements des fabricants, des corrections signalées par les utilisateurs et des nouveaux lancements de produits.
L'API prend-elle en charge les aliments internationaux ?
Oui. La base de données couvre des aliments de plus de 50 pays, avec une recherche disponible en 8 langues (anglais, espagnol, allemand, français, portugais, japonais, coréen et chinois). La couverture des aliments internationaux est une priorité essentielle pour Nutrola, et la base de données inclut des plats régionaux, des produits de marque locaux et des préparations spécifiques à la cuisine souvent absentes des bases de données centrées sur les États-Unis.
Puis-je utiliser l'API pour une application mobile ?
Oui, mais ne pas intégrer votre clé API directement dans le code client mobile, car elle peut être extraite du binaire de l'application. Configurez plutôt un serveur backend léger qui fait passer les requêtes à l'API Nutrola et gère l'authentification. Cela vous donne également une couche pour le cache et la gestion des requêtes.
Existe-t-il une option de webhook ou de streaming ?
Actuellement, l'API fonctionne sur un modèle de requête-réponse. Le support des webhooks pour les résultats de reconnaissance alimentaire asynchrone (pour le traitement par lots) est prévu pour 2026. Pour les opérations par lots aujourd'hui, utilisez le point de terminaison /v1/foods/analyze/batch, qui accepte jusqu'à 20 éléments dans une seule requête.
Conclusion
Les API nutritionnelles ont rendu pratique pour les développeurs de créer des applications conscientes de la nourriture sans le coût énorme de la maintenance d'une base de données alimentaire propriétaire. L'API de Nutrola offre une version gratuite généreuse, une couverture alimentaire complète à travers les cuisines internationales, une compréhension du langage naturel, et une reconnaissance alimentaire par IA optionnelle, en faisant un choix solide pour des projets allant de prototypes de week-end à des applications de production.
La meilleure API pour votre projet dépend de vos besoins spécifiques : USDA pour des données de référence autoritaires, Nutritionix pour une couverture approfondie des restaurants, Open Food Facts pour des données de codes-barres open-source, ou Nutrola pour un équilibre de fonctionnalités, d'exactitude et d'expérience développeur. Dans de nombreux cas, combiner plusieurs API vous donnera la meilleure couverture. Commencez avec la version gratuite, validez-la par rapport à votre cas d'utilisation, et évoluez à partir de là.
Prêt à transformer votre suivi nutritionnel ?
Rejoignez des milliers de personnes qui ont transformé leur parcours santé avec Nutrola !