Sommaire
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.
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
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"
Authentification
Chaque requête doit porter votre clé API, au choix dans l'un des deux headers :
URL de base
Toutes les routes API sont préfixées par :
/api/aliments/search
Recherche d'aliments
Recherche par nom (insensible à la casse). Renvoie jusqu'à 20 résultats.
| Paramètre | Type | Requis | Description |
|---|---|---|---|
q |
string | oui | Terme recherché (ex : avocat) |
Exemple
const data = await r.json();
r = requests.get("https://nutricore.makoserv.fr/api/aliments/search", params={"q": "avocat"}, headers={"x-api-key": "VOTRE_CLÉ"})
print(r.json())
Réponse 200
/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
const data = await r.json();
r = requests.get("https://nutricore.makoserv.fr/api/aliments/13036/nutrition", headers={"x-api-key": "VOTRE_CLÉ"})
print(r.json())
Réponse 200
/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
Réponse 200
/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.
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).