Sommaire
Documentation

NitroCore API

Une API REST pour interroger la composition nutritionnelle CIQUAL de l'ANSES : recherche d'aliments et macronutriments pour 100 g. Réponses JSON, authentifiées par clé API.

Format
JSON / REST
Auth
Clé API
Limite
60 req / min

Démarrage rapide

  • Créez un compte

    Une clé API vous est générée (affichée une seule fois).

  • Cherchez un aliment

    Récupérez son alim_code.

  • Lisez ses macros

    Appelez l'endpoint nutrition avec ce code.

Exemple complet

# 1 · rechercher « avocat »
curl -H "x-api-key: VOTRE_CLÉ" "https://nutricore.makoserv.fr/api/aliments/search?q=avocat"

# 2 · macros de l'aliment 13036
curl -H "x-api-key: VOTRE_CLÉ" "https://nutricore.makoserv.fr/api/aliments/13036/nutrition"
Obtenir ma clé API

Authentification

Chaque requête doit porter votre clé API, au choix dans l'un des deux headers :

Header x-api-key
x-api-key: nit_live_xxxxxxxx…
Header Authorization
Authorization: Bearer nit_live_xxxxxxxx…
Votre clé est hachée en base et n'est affichée qu'une seule fois. Vous pouvez la régénérer depuis le dashboard (l'ancienne est alors immédiatement invalidée).

URL de base

Toutes les routes API sont préfixées par :

https://nutricore.makoserv.fr/api
GET /api/aliments/:id/nutrition

Valeurs nutritionnelles (abrégé)

Renvoie les 9 macronutriments principaux d'un aliment pour 100 g, en clés courtes.

Paramètre Type Requis Description
id number oui Le alim_code (obtenu via la recherche)

Exemple

curl -H "Authorization: Bearer VOTRE_CLÉ" "https://nutricore.makoserv.fr/api/aliments/13036/nutrition"
const r = await fetch("https://nutricore.makoserv.fr/api/aliments/13036/nutrition", { headers: { "x-api-key": "VOTRE_CLÉ" } });
const data = await r.json();
import requests
r = requests.get("https://nutricore.makoserv.fr/api/aliments/13036/nutrition", headers={"x-api-key": "VOTRE_CLÉ"})
print(r.json())

Réponse 200

{ "alim_code": 13036, "macros_100g": { "energie_kcal": 205, "proteines": 1.75, "glucides": 3.67, "lipides": 19.3, "fibres": 6.7 } }
Un champ peut être absent si la valeur n'est pas renseignée (ou « traces ») pour cet aliment.
GET /api/aliments/:id/nutrition/full

Valeurs nutritionnelles complètes

Aucun filtre : renvoie tous les constituants disponibles pour l'aliment (jusqu'à ~70 : énergie, macros, acides gras détaillés, vitamines, minéraux…), pour 100 g. Chaque constituant garde son nom officiel CIQUAL (unité incluse dans le nom).

Paramètre Type Requis Description
id number oui Le alim_code

Exemple

curl -H "x-api-key: VOTRE_CLÉ" "https://nutricore.makoserv.fr/api/aliments/13036/nutrition/full"

Réponse 200

{ "alim_code": 13036, "alim_nom_fr": "Pastèque, chair…", "constituants": [ { "code": 327, "nom": "Energie… (kcal/100 g)", "symbole": "…", "teneur_100g": 35.4 }, /* … */ ] }
Utilisez /nutrition (abrégé) pour un affichage simple, et /nutrition/full quand vous avez besoin de toutes les données.

Nutriments renvoyés (abrégé)

L'objet macros_100g peut contenir les champs suivants (valeurs pour 100 g) :

Champ JSON Constituant Unité
energie_kj Énergie (Règlement UE 1169/2011) kJ
energie_kcal Énergie (Règlement UE 1169/2011) kcal
proteines Protéines (N × 6.25) g
glucides Glucides g
lipides Lipides g
sucres Sucres g
acides_gras_satures Acides gras saturés g
fibres Fibres alimentaires g
sel Sel (chlorure de sodium) g

Limites de débit

Chaque clé est limitée à 60 requêtes par minute. Au-delà, l'API répond 429 avec un header Retry-After: 60.

{ "error": "Trop de requêtes. Limite : 60/min." }

Codes d'erreur

Code Signification
200 Requête réussie
401 Clé API manquante (aucun header fourni)
403 Clé API invalide ou révoquée
429 Trop de requêtes (limite dépassée)
500 Erreur serveur

Source des données

Les données proviennent de CIQUAL publiée par l'ANSES (Agence nationale de sécurité sanitaire de l'alimentation).

Prêt à commencer ?

Générez votre clé API gratuite en quelques secondes.

Obtenir ma clé API