?

API Nutritionnelle
CIQUAL 2025

Accédez à la base de données officielle de composition nutritionnelle des aliments via une API simple et gratuite.

3 484 aliments CIQUAL 2025 Gratuit Français
3 484
Aliments
12
Catégories
Requêtes/jour

Exemple rapide

HTTP
GET https://wikimindai.github.io/ciqual-api/data.json

# Filtrer côté client par nom :
const data = await fetch('https://wikimindai.github.io/ciqual-api/data.json');
const aliments = await data.json();
const pomme = aliments.filter(a =>
  a.names.fr.toLowerCase().includes('pomme')
);

Comment ça marche

L'API CIQUAL est hébergée statiquement sur GitHub Pages. Les données proviennent de la base CIQUAL 2025 de l'ANSES. Vous récupérez le fichier JSON complet et filtrez côté client — aucun serveur requis.

La clé API permet de s'identifier dans des futurs endpoints avancés et de contribuer à la communauté Wikimind. Elle est stockée dans Firebase et vérifiée à chaque appel d'endpoint authentifié.

Mes clés API
Créez et gérez vos clés pour accéder à l'API CIQUAL.
🔑

Connectez-vous pour créer et gérer vos clés API.

Playground
Testez l'API en direct. Aucune clé requise pour les endpoints publics.
GET
/data.json
GET
/data.json?search
GET
/data.json?id
GET
/data.json?category
GET
/validate?api_key 🔒
limit
// La réponse apparaîtra ici…
Documentation
Tout ce qu'il faut savoir pour intégrer l'API CIQUAL dans votre projet.

Introduction

L'API CIQUAL donne accès à la base de données officielle de composition nutritionnelle des aliments de l'ANSES (version 2025), comprenant 3 484 aliments.

L'API est entièrement statique et hébergée sur GitHub Pages. Elle ne nécessite aucun serveur. Les données sont servies sous forme d'un fichier JSON unique que vous filtrez côté client.

BASE URL
https://wikimindai.github.io/ciqual-api
FORMAT
JSON
CORS
✓ Activé
AUTH
API Key (optionnel)

Authentification

L'endpoint principal /data.json est public et ne nécessite aucune authentification.

Pour les endpoints avancés (futurs), une clé API est requise. Passez-la via le paramètre api_key :

URL
https://wikimindai.github.io/ciqual-api/data.json?api_key=wm-fd12345678

Les clés sont de la forme wm-fd suivi de 8 chiffres aléatoires uniques. Elles sont stockées dans Firebase et vérifiables via l'endpoint /validate.

Valider une clé API

GET /validate?api_key={votre_clé}

Vérifie qu'une clé API existe et n'est pas expirée. Répond avec les métadonnées de la clé.

Réponse 200
{
  "valid": true,
  "key": "wm-fd12345678",
  "name": "Mon appli",
  "created_at": "2025-06-01T10:00:00Z",
  "expires_at": "2025-09-01T10:00:00Z"
}

Endpoints

GET /data.json

Retourne la totalité des 3 484 aliments de la base CIQUAL 2025.

PARAMÈTRES (côté client)

Ce endpoint retourne le JSON brut. Filtrez les résultats côté client :

ParamètreTypeDescription
searchoptionnelstringFiltre par nom (insensible à la casse)
idoptionnelstringFiltre par identifiant CIQUAL
group_codeoptionnelstringFiltre par code de groupe (0–11)
limitoptionnelnumberNombre de résultats max

Structure des données

Chaque aliment est un objet JSON avec la structure suivante :

JSON
{
  "id": "2001",
  "names": {
    "fr": "Pomme, pulpe et peau, crue"
  },
  "categories": {
    "group_code": "2",
    "group_name": "fruits, légumes, légumineuses et oléagineux",
    "subgroup_code": "201",
    "subgroup_name": "fruits"
  },
  "nutrition": {
    "energy": { "kcal": 52, "kj": 218 },
    "carbohydrates": { "total_g": 11.8, "sugars_g": 10.4 },
    "fats": { "total_g": 0.2, "saturated_g": 0.03 }
  },
  "minerals": {
    "calcium_mg": 6,
    "iron_mg": 0.12,
    "potassium_mg": 107
  },
  "vitamins": {
    "vitamin_c_mg": 4.6,
    "vitamin_b6_mg": 0.041
  },
  "source": "CIQUAL 2025",
  "language": "fr"
}

Codes de groupes

CodeGroupe
0Non classé
1Entrées et plats composés
2Fruits, légumes, légumineuses et oléagineux
3Produits céréaliers
4Viandes, œufs, poissons
5Produits laitiers
6Eaux et autres boissons
7Produits sucrés
8Glaces et sorbets
9Matières grasses
10Aides culinaires et ingrédients divers
11Aliments infantiles

Exemples d'intégration

JavaScript (Fetch API)

JavaScript
// Récupérer tous les aliments
const res = await fetch('https://wikimindai.github.io/ciqual-api/data.json');
const aliments = await res.json();

// Rechercher par nom
const results = aliments.filter(a =>
  a.names.fr.toLowerCase().includes('pomme')
);

// Filtrer par catégorie (fruits = groupe 2)
const fruits = aliments.filter(a =>
  a.categories.group_code === '2'
).slice(0, 10); // 10 premiers

Python

Python
import requests

url = "https://wikimindai.github.io/ciqual-api/data.json"
aliments = requests.get(url).json()

# Recherche par nom
resultats = [
    a for a in aliments
    if 'pomme' in a['names']['fr'].lower()
]
print(f"{len(resultats)} résultats trouvés")
for a in resultats[:3]:
    print(f"• {a['names']['fr']} (id: {a['id']})")

Avec authentification API

JavaScript
const API_KEY = 'wm-fd12345678'; // Votre clé

// Valider la clé avant d'appeler
async function validateKey(key) {
  const db = firebase.database();
  const snap = await db.ref(`api_keys/${key}`).once('value');
  return snap.exists() && !snap.val().expired;
}

// Appel sécurisé
const isValid = await validateKey(API_KEY);
if (isValid) {
  const data = await fetch(
    `https://wikimindai.github.io/ciqual-api/data.json`
  ).then(r => r.json());
  // Traitement...
}

Limites & Quota

Sans clé API
Requêtes illimitées sur /data.json (GitHub Pages)
Avec clé API
Accès aux futurs endpoints avancés

Les données étant statiques (GitHub Pages), il n'y a pas de limite de requêtes. La clé API sert principalement d'identification pour les services futurs et les intégrations avancées.