Tous les articles
guide quickstart

Premiers pas avec FoodBase

Créez votre compte, générez une clé d'API et faites votre première requête en moins de 5 minutes.

mis à jour le 13 octobre 2026 FoodBase Team 3 min de lecture

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

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.