Créer votre compte
Rendez-vous sur la page d’inscription et créez un compte gratuit. Pas de carte bancaire requise — l’offre gratuite vous donne 100 requêtes d’API par jour, largement suffisant pour tester et prototyper.
Générer une clé d’API
Une fois connecté, allez dans Dashboard > API Keys et cliquez sur Create key. Donnez-lui un nom descriptif comme « My App » ou « Development ». La clé complète n’est affichée qu’une seule fois : copiez-la et rangez-la en lieu sûr (par exemple dans un fichier .env ou un gestionnaire de mots de passe).
Votre clé ressemblera à ceci : food_KV23NskbwXkKzi1yaPdPF1
Faire votre première requête
Recherchez un produit alimentaire par son nom :
curl "https://foodbase.dev/v1/foods/search?q=banana&limit=3" \
-H "X-API-Key: food_your_key_here"
La réponse contient les produits correspondants avec leurs noms, marques, catégories et données nutritionnelles de base :
{
"data": [
{
"id": "abc-123",
"name_default": "Banana",
"brand": null,
"category": "Fresh fruits",
"nutriscore": "a"
}
],
"total": 26080,
"limit": 3,
"offset": 0
}
Recherche par code-barres
Si vous créez une application de lecture de codes-barres, utilisez l’endpoint de code-barres avec un code EAN-13 ou UPC :
curl "https://foodbase.dev/v1/foods/barcode/5449000000996" \
-H "X-API-Key: food_your_key_here"
Il renvoie les détails complets du produit, y compris un résumé nutritionnel avec calories, protéines, glucides, lipides, sucres et fibres — le tout pour 100 g.
Obtenir les nutriments détaillés
Pour la répartition complète des nutriments (plus de 40 valeurs organisées par catégorie), utilisez l’endpoint des nutriments. Il est disponible sur toutes les offres — l’offre Free inclut 25 détails par jour (surveillez l’en-tête X-RateLimit-Nutrients-Remaining), les offres payantes sont illimitées :
curl "https://foodbase.dev/v1/foods/{id}/nutrients" \
-H "X-API-Key: food_your_key_here"
La réponse regroupe les nutriments par catégories :
- Macronutriments — énergie (kcal/kJ), protéines, glucides, lipides, fibres, sucres, alcool, amidon
- Lipides — saturés, trans, mono/polyinsaturés, oméga-3/6, cholestérol
- Minéraux — sodium, calcium, fer, potassium, magnésium, zinc, et plus
- Vitamines — A, C, D, E, complexe B (B1, B2, B6, B9, B12), niacine
Recherches groupées
Besoin de récupérer plusieurs produits d’un coup ? Utilisez l’endpoint bulk avec jusqu’à 100 identifiants :
curl -X POST "https://foodbase.dev/v1/foods/bulk" \
-H "X-API-Key: food_your_key_here" \
-H "Content-Type: application/json" \
-d '{"ids": ["id-1", "id-2", "id-3"]}'
Les résultats sont renvoyés dans le même ordre que les identifiants fournis — inutile de les retrier de votre côté.
Essayer les endpoints IA
Chaque offre — y compris Free — inclut une allocation mensuelle de crédits IA (20 sur Free). Ils alimentent les endpoints de vision et d’analyse : identifier un produit à partir d’une photo, lire une étiquette nutritionnelle, analyser un repas ou générer un résumé IA en langage clair de n’importe quel produit. Chaque appel a un prix fixe en crédits indiqué dans la documentation, et chaque réponse IA contient les en-têtes X-Credits-Remaining.
Le moyen le plus rapide de les voir à l’œuvre est le playground photo — envoyez une photo directement depuis le navigateur avec votre propre clé. Ou appelez-en un directement :
curl -X POST "https://foodbase.dev/v1/analyze/product" \
-H "X-API-Key: food_your_key_here" \
-H "Content-Type: application/json" \
-d '{"barcode": "3017620422003"}'
Des limites de débit qui ne vous gênent pas
Les limites par seconde fonctionnent comme des token buckets : le débit de votre offre est la vitesse soutenue (Free = 1 requête/s) et vous disposez en plus d’une rafale de 5× ce débit — une page qui lance quelques requêtes en parallèle fonctionne donc sans souci. Chaque réponse inclut des en-têtes pour que votre application puisse suivre sa consommation :
X-RateLimit-Second-Limit: 1
X-RateLimit-Burst-Capacity: 5
X-RateLimit-Second-Remaining: 4
X-RateLimit-Daily-Limit: 100
X-RateLimit-Daily-Remaining: 97
X-RateLimit-Daily-Reset: 2026-04-14T23:59:59Z
Si vous recevez un 429, il est toujours accompagné d’un en-tête Retry-After indiquant le nombre de secondes à attendre avant que le prochain jeton ne soit disponible — respectez-le (la plupart des clients HTTP peuvent le faire automatiquement) et vous retrouverez des 200 aussi vite que le limiteur le permet. Pour récupérer beaucoup de produits d’un coup, POST /foods/bulk est une seule requête au lieu de N.
Prochaines étapes
- Parcourez la documentation de l’API pour tous les endpoints disponibles et testez-les de façon interactive
- Explorez la base vous-même dans l’explorateur de produits — chaque fiche produit montre exactement ce que renvoie l’API
- Consultez vos statistiques d’utilisation pour suivre vos requêtes quotidiennes
- Passez à une offre supérieure quand vous avez besoin de plus de capacité
- Lisez notre guide des données nutritionnelles pour comprendre la couverture des données
À lire aussi
Construisez-le avec FoodBase
6,1 M de produits, plus de 40 nutriments et l'analyse alimentaire par IA — gratuit pour commencer, sans carte bancaire.