Fonti di dati
Il nostro database unisce due grandi fonti di dati aperti in un formato unificato e normalizzato:
Open Food Facts (4,1 M di prodotti) — un database globale gestito dalla community, con una forte copertura europea. I prodotti includono codici a barre, nomi/ingredienti multilingue, valutazioni Nutri-Score, classificazione NOVA, dati sugli allergeni e immagini. Con licenza ODbL.
USDA FoodData Central (2,0 M di prodotti) — il completo database di composizione degli alimenti del Dipartimento dell’Agricoltura degli Stati Uniti. Include valori nutrizionali verificati in laboratorio per prodotti di marca, alimenti di base (foundation) e alimenti di riferimento storici (legacy). Pubblico dominio.
Insieme fanno 6,1 milioni di prodotti alimentari unici — più di quanto offra da sola qualsiasi singola fonte.
Come uniamo i dati
Quando un prodotto esiste in entrambi i database (abbinati tramite codice a barre), diamo priorità ai valori nutrizionali USDA (verificati in laboratorio) e li integriamo con i metadati di Open Food Facts (immagini, allergeni, Nutri-Score, nomi multilingue). Ottieni il meglio dei due mondi: dati nutrizionali accurati con metadati di prodotto ricchi.
Livelli di nutrienti
Non tutti i prodotti hanno tutti i nutrienti misurati. Organizziamo i nutrienti in livelli in base alla copertura dei dati:
Livello 1: macro di base (copertura 97%+)
Disponibili per quasi tutti i prodotti del nostro database:
| Nutriente | Campo | Unità |
|---|---|---|
| Energia | energy_kcal, energy_kj | kcal, kJ |
| Proteine | proteins_g | g |
| Carboidrati | carbs_g | g |
| Grassi | fat_g | g |
| Zuccheri | sugars_g | g |
| Grassi saturi | saturated_fat_g | g |
| Sodio | sodium_mg | mg |
| Sale | salt_g | g |
| Fibre | fiber_g | g |
Livello 2: nutrienti comuni
Disponibili per una larga parte dei prodotti — soprattutto le schede verificate in laboratorio — ma lontani dall’essere tutti. La copertura varia in base al nutriente e continua a migliorare con l’aggiornamento delle fonti:
| Nutriente | Campo |
|---|---|
| Colesterolo | cholesterol_mg |
| Grassi trans | trans_fat_g |
| Calcio | calcium_mg |
| Ferro | iron_mg |
| Vitamina C | vitamin_c_mg |
| Potassio | potassium_mg |
| Vitamina A | vitamin_a_iu |
| Zuccheri aggiunti | added_sugars_g |
Livello 3: nutrienti estesi
Disponibili per un sottoinsieme più ridotto, principalmente alimenti analizzati in laboratorio:
Vitamina D, magnesio, zinco, fosforo, vitamine del gruppo B (B1, B2, B6, B9, B12), niacina, acido pantotenico, manganese, rame, selenio, iodio, alcol, amido, polioli, grassi monoinsaturi, grassi polinsaturi, acidi grassi omega-3 e acidi grassi omega-6.
Lavorare con i dati
Tutti i valori sono per 100 g
Ogni valore nutrizionale della nostra API è normalizzato a 100 g di prodotto. Per calcolare i valori per porzione, moltiplica per la dimensione della porzione:
const perServing = (valuePer100g, servingGrams) => {
return Math.round(valuePer100g * (servingGrams / 100) * 10) / 10;
};
// Example: 42 kcal per 100g, 330ml can
perServing(42, 330); // → 138.6 kcal
Gestire i valori null
L’API restituisce null per i nutrienti non disponibili per un dato prodotto. La tua app deve gestire con eleganza i valori mancanti — non dare per scontato che ogni prodotto abbia ogni campo.
const calories = food.nutrition_summary?.energy_kcal ?? "N/A";
Supporto multilingue
I prodotti di Open Food Facts includono nomi e ingredienti in più lingue. Il campo name restituisce un array di oggetti {lang, text}:
[
{"lang": "main", "text": "Coca-Cola"},
{"lang": "fr", "text": "Coca-Cola en canette"},
{"lang": "de", "text": "Coca-Cola"}
]
Il campo name_default contiene sempre il testo nella lingua principale, per un accesso rapido senza dover analizzare l’array.
Qualità dei dati
Applichiamo diversi filtri di qualità nella nostra pipeline di dati:
- Limiti fisici sui valori dei nutrienti per scartare i dati spazzatura (ad esempio, le proteine non possono superare 100 g per 100 g)
- Normalizzazione delle unità per garantire unità coerenti tra le fonti (g, mg, mcg, UI)
- Deduplicazione per codice a barre, con priorità ai valori verificati in laboratorio per i prodotti duplicati
- Punteggio di completezza per aiutarti a filtrare per qualità dei dati quando serve
Vuoi dare un’occhiata ai dati prima di scrivere codice? Ogni prodotto del catalogo ha una pagina pubblica nell’esploratore di prodotti che mostra esattamente i campi restituiti dall’API — tabella nutrizionale, ingredienti, allergeni, punteggi e tutto il resto.
Continua a leggere
Costruiscilo con FoodBase
6,1 M di prodotti, oltre 40 nutrienti e analisi degli alimenti con l'IA — gratis per iniziare, senza carta di credito.