Ilmainen Ravinto-API Kehittäjille: Kuinka Rakentaa Sovelluksia Nutrolan Ruokadatalla
Kehittäjien opas ravitsemustietoisten sovellusten rakentamiseen Nutrolan ilmaisella ravinto-API:lla. Kattaa päätepisteet, todennuksen, koodiesimerkit Pythonissa, JavaScriptissä ja cURL:ssä, käyttörajoitukset sekä vertailut Nutritionix-, Edamam- ja USDA-API:en kanssa.
Ravitsemustietoisen sovelluksen rakentaminen vaati aiemmin oman ruokadatabasen kokoamista alusta alkaen, kalliiden tietoaineistojen lisensointia tai epäluotettavien lähteiden kaapimista. Nykyään ravinto-API:t tarjoavat jäsenneltyä, ohjelmallista pääsyä kattaviin ruokadatabasiin, joissa on makro- ja mikro ravintoaine- sekä annoskoko tietoja, toimitettuna puhtaassa JSON-muodossa. Tämä opas vie kehittäjät ravinto-API:en maailmaan, keskittyen erityisesti Nutrolan ilmaisen tason käyttöön ja sen vertailuun vaihtoehtoihin.
Olitpa sitten rakentamassa ateriasuunnitteluohjelmaa, kuntoseurantatyökalua, tutkimusvälinettä, reseptianalysaattoria tai tekoälyassistenttia, joka vastaa ravitsemuskysymyksiin, tämä opas tarjoaa tekniset tiedot API:n valitsemiseksi ja pyyntöjen tekemiseksi minuuteissa.
Ravinto-API:n Yleiskatsaus
Ennen kuin sukellamme toteutukseen, tässä on vertailu tärkeimmistä ravinto-API:sta, jotka ovat kehittäjien saatavilla vuonna 2026.
| API | Ilmainen Taso | Käyttörajoitus (Ilmainen) | Ruokia Tietokannassa | Viivakoodin Skannaus | Ruoan Tunnistus (AI) | Hinnoittelu (Maksullinen) |
|---|---|---|---|---|---|---|
| Nutrola API | Kyllä | 500 pyyntöä/päivä | 900,000+ | Kyllä | Kyllä (lisäosa) | Alkaen $29/kuukausi |
| USDA FoodData Central | Kyllä (täysin ilmainen) | 1,000/tunti per avain | 370,000+ | Ei | Ei | Ilmainen |
| Nutritionix API | Kyllä (rajoitettu) | 50 pyyntöä/päivä | 1,000,000+ | Kyllä | Ei | Alkaen $299/kuukausi |
| Edamam API | Kyllä | 100 pyyntöä/päivä | 900,000+ | Ei | Ei | Alkaen $19/kuukausi |
| FatSecret Platform API | Kyllä | 5,000 pyyntöä/päivä | 500,000+ | Kyllä | Ei | Ilmainen (maininnalla) |
| Open Food Facts API | Kyllä (täysin ilmainen) | Kohtuullinen käyttö | 3,000,000+ | Kyllä | Ei | Ilmainen |
| Spoonacular | Kyllä | 150 pyyntöä/päivä | 500,000+ | Ei | Ei | Alkaen $29/kuukausi |
Aloittaminen Nutrola API:n kanssa
Vaihe 1: Luo Kehittäjätili
Vieraile Nutrolan Kehittäjäportaalissa osoitteessa developers.nutrola.com luodaksesi ilmaisen tilin. Sähköpostivahvistuksen jälkeen saat API-avaimen hallintapaneelissasi. Ilmainen taso sisältää 500 pyyntöä päivässä, pääsyn koko ruokadatabasiin ja tekstipohjaisen ruokahakuun. AI-ruoan tunnistus päätepisteet ovat saatavilla maksullisilla tasoilla.
Vaihe 2: Todennus
Kaikki API-pyynnöt vaativat API-avaimesi pyyntöotsikossa. Avain välitetään X-Api-Key-otsikon kautta.
X-Api-Key: your_api_key_here
API käyttää vain HTTPS:ää. Kaikki HTTP-pyyntöihin vastataan 301-uudelleenohjauksella HTTPS:ään. Älä upota API-avaintasi asiakaspuolen koodiin; käytä aina välikäytävää pyyntöjen välittämiseen taustapalvelimesi kautta.
Vaihe 3: Perus-URL
Kaikki päätepisteet palvellaan osoitteesta:
https://api.nutrola.com/v1/
Vastaukset ovat JSON-muodossa UTF-8-koodauksella. API noudattaa RESTful-käytäntöjä ja standardeja HTTP-tilakoodeja.
Keskeiset Päätepisteet
Etsi Ruokia
Hae ruokadatabasiasta tekstikyselyllä. Palauttaa vastaavat ruoat ravitsemustietoineen.
Päätepiste: GET /v1/foods/search
Parametrit:
| Parametri | Tyyppi | Pakollinen | Kuvaus |
|---|---|---|---|
| query | merkkijono | Kyllä | Hakusana (esim. "grillattu kananrinta") |
| limit | kokonaisluku | Ei | Tuloksia per sivu (oletus: 10, max: 50) |
| offset | kokonaisluku | Ei | Sivutuksen offset (oletus: 0) |
| type | merkkijono | Ei | Suodata tyypin mukaan: "yleinen", "brändätty", "ravintola" |
| language | merkkijono | Ei | Kielen koodi (oletus: "en"). Tukee: en, es, de, fr, pt, ja, ko, zh |
Esimerkkipyyntö (cURL):
curl -X GET "https://api.nutrola.com/v1/foods/search?query=grilled+chicken+breast&limit=5" \
-H "X-Api-Key: your_api_key_here"
Esimerkkipyyntö (Python):
import requests
API_KEY = "your_api_key_here"
BASE_URL = "https://api.nutrola.com/v1"
response = requests.get(
f"{BASE_URL}/foods/search",
headers={"X-Api-Key": API_KEY},
params={
"query": "grilled chicken breast",
"limit": 5
}
)
data = response.json()
for food in data["foods"]:
print(f"{food['name']}: {food['calories']} kcal per {food['serving_size']}{food['serving_unit']}")
Esimerkkipyyntö (JavaScript / Node.js):
const API_KEY = "your_api_key_here";
const BASE_URL = "https://api.nutrola.com/v1";
async function searchFoods(query) {
const url = new URL(`${BASE_URL}/foods/search`);
url.searchParams.append("query", query);
url.searchParams.append("limit", "5");
const response = await fetch(url, {
headers: { "X-Api-Key": API_KEY }
});
const data = await response.json();
return data.foods;
}
searchFoods("grilled chicken breast").then(foods => {
foods.forEach(food => {
console.log(`${food.name}: ${food.calories} kcal per ${food.serving_size}${food.serving_unit}`);
});
});
Esimerkkivastaus:
{
"foods": [
{
"id": "nf_001234",
"name": "Chicken Breast, Grilled, Skinless",
"type": "common",
"calories": 165,
"protein_g": 31.0,
"carbohydrates_g": 0.0,
"fat_g": 3.6,
"fiber_g": 0.0,
"sugar_g": 0.0,
"sodium_mg": 74,
"serving_size": 100,
"serving_unit": "g",
"serving_description": "100 grammaa",
"alt_servings": [
{
"description": "1 keskikokoinen rinta (196g)",
"multiplier": 1.96
},
{
"description": "1 oz (28g)",
"multiplier": 0.28
}
],
"source": "USDA SR Legacy",
"updated": "2026-01-15"
}
],
"total_results": 47,
"offset": 0,
"limit": 5
}
Hae Ruoka ID:n Mukaan
Hae yksityiskohtaisia ravitsemustietoja tietystä ruoka-aineesta sen Nutrola ID:n perusteella.
Päätepiste: GET /v1/foods/{food_id}
Esimerkki (cURL):
curl -X GET "https://api.nutrola.com/v1/foods/nf_001234" \
-H "X-Api-Key: your_api_key_here"
Vastaus sisältää täydellisen makro- ja mikro ravintoaineprofiilin (30+ ravintoainetta), kaikki saatavilla olevat annoskoot, ainesosalistan (brändättyjen ja ravintolaruokien osalta), allergeenilippuja, ruokavalio-tunnisteita (vegaaninen, gluteeniton, halal, kosher) ja lähdeviittauksen.
Hae Ruoka Viivakoodin Mukaan
Etsi pakattua ruokatuotetta sen UPC- tai EAN-viivakoodin perusteella.
Päätepiste: GET /v1/foods/barcode/{code}
Parametrit:
| Parametri | Tyyppi | Pakollinen | Kuvaus |
|---|---|---|---|
| code | merkkijono | Kyllä | UPC (12-numeroista) tai EAN (13-numeroista) viivakoodi |
Esimerkki (Python):
response = requests.get(
f"{BASE_URL}/foods/barcode/041331092609",
headers={"X-Api-Key": API_KEY}
)
food = response.json()
print(f"{food['name']}: {food['calories']} kcal per {food['serving_description']}")
Analysoi Luonnollista Kieltä
Tulkitse luonnollisen kielen ruokakuvaus ja palauta jäsennelty ravitsemustieto. Tämä päätepiste käsittelee määriä, yksiköitä, valmistustapoja ja useita tuotteita yhdessä merkkijonossa.
Päätepiste: POST /v1/foods/analyze
Pyyntöruumis:
{
"query": "2 paistettua munaa viipale täysjyväleipää ja puoli avokadoa",
"language": "en"
}
Esimerkki (Python):
response = requests.post(
f"{BASE_URL}/foods/analyze",
headers={
"X-Api-Key": API_KEY,
"Content-Type": "application/json"
},
json={
"query": "2 scrambled eggs with a slice of whole wheat toast and half an avocado"
}
)
result = response.json()
for item in result["items"]:
print(f"{item['quantity']} {item['unit']} {item['name']}: {item['calories']} kcal")
print(f"Yhteensä: {result['total']['calories']} kcal")
Esimerkkivastaus:
{
"items": [
{
"name": "Paistetut Munat",
"quantity": 2,
"unit": "keskikokoinen",
"calories": 182,
"protein_g": 12.2,
"carbohydrates_g": 2.4,
"fat_g": 13.6,
"food_id": "nf_002891"
},
{
"name": "Täysjyväleipä",
"quantity": 1,
"unit": "viipale",
"calories": 81,
"protein_g": 3.9,
"carbohydrates_g": 13.8,
"fat_g": 1.1,
"food_id": "nf_003401"
},
{
"name": "Avokado",
"quantity": 0.5,
"unit": "keskikokoinen",
"calories": 120,
"protein_g": 1.5,
"carbohydrates_g": 6.4,
"fat_g": 11.0,
"food_id": "nf_000892"
}
],
"total": {
"calories": 383,
"protein_g": 17.6,
"carbohydrates_g": 22.6,
"fat_g": 25.7
}
}
AI Ruoan Tunnistus (Maksullinen Taso)
Lähetä ruokavalokuva AI-pohjaista tunnistusta ja ravitsemusanalyysiä varten.
Päätepiste: POST /v1/foods/recognize
Pyyntö: Multipart-lomakedata kuvatiedostolle tai JSON-ruumis base64-koodatulle kuvalle.
Esimerkki (Python):
with open("meal_photo.jpg", "rb") as f:
response = requests.post(
f"{BASE_URL}/foods/recognize",
headers={"X-Api-Key": API_KEY},
files={"image": ("meal.jpg", f, "image/jpeg")}
)
result = response.json()
for item in result["detected_items"]:
print(f"{item['name']} ({item['confidence']:.1%}): {item['calories']} kcal")
Vastaus sisältää tunnistetut ruokatuotteet luottamusasteineen, rajauslaatikon koordinaatit, arvioidut annoskoot, ravitsemustiedot per tuote ja koko aterian ravitsemusyhteenveto.
Käyttörajoitukset ja Virheiden Käsittely
Käyttörajoitukset Tasoittain
| Taso | Päivittäiset Pyyntöjä | Pyyntöjä/Sekunti | AI Tunnistus | Hinta |
|---|---|---|---|---|
| Ilmainen | 500 | 5 | Ei sisälly | $0 |
| Aloittelija | 5,000 | 10 | 100/päivä | $29/kuukausi |
| Pro | 50,000 | 25 | 1,000/päivä | $99/kuukausi |
| Yritys | Räätälöity | Räätälöity | Räätälöity | Ota yhteyttä myyntiin |
Käyttörajoitusotsikot
Jokaisessa vastauksessa on käyttörajoitusotsikot:
X-RateLimit-Limit: 500
X-RateLimit-Remaining: 487
X-RateLimit-Reset: 1710374400
Virhevastaukset
API käyttää standardeja HTTP-tilakoodeja kuvaavilla virheruumiilla.
{
"error": {
"code": "rate_limit_exceeded",
"message": "Päivittäinen pyyntöraja 500 ylitetty. Nollautuu klo 00:00 UTC.",
"status": 429
}
}
| Tilakoodi | Merkitys |
|---|---|
| 200 | Onnistui |
| 400 | Huono pyyntö (virheelliset parametrit) |
| 401 | Valtuuttamaton (virheellinen tai puuttuva API-avain) |
| 404 | Ruokaa ei löytynyt |
| 429 | Käyttöraja ylitetty |
| 500 | Sisäinen palvelinvirhe |
Toteuta eksponentiaalinen taantuminen 429 ja 500 vastauksille. Yksinkertainen strategia on odottaa 1 sekunti ensimmäisen epäonnistumisen jälkeen, 2 sekuntia toisen jälkeen, 4 kolmannen jälkeen, enintään 60 sekuntia.
Käyttötapaukset ja Toteutustavat
Ateriasuunnitteluohjelmat
Rakenna ateriasuunnittelija, joka saavuttaa tavoitemakrot etsimällä ruokia, laskemalla ravitsemustotalit ja iteroinnin, kunnes ateriasuunnitelma täyttää käyttäjän tavoitteet.
def find_foods_for_target(target_protein, target_calories):
"""Etsi proteiinipitoisia ruokia kaloribudjetin puitteissa."""
response = requests.get(
f"{BASE_URL}/foods/search",
headers={"X-Api-Key": API_KEY},
params={
"query": "high protein",
"limit": 20,
"type": "common"
}
)
foods = response.json()["foods"]
# Suodata proteiini-kalori-suhteen mukaan
efficient_foods = [
f for f in foods
if f["protein_g"] / max(f["calories"], 1) > 0.15
]
return sorted(efficient_foods, key=lambda f: f["protein_g"], reverse=True)
Kuntosoftan Integraatio
Yhdistä aktiivisuustietoihin näyttääksesi käyttäjille heidän kaloritasapainonsa. Käytä luonnollisen kielen päätepistettä nopeaan kirjaamiseen.
async function logMealFromText(description) {
const response = await fetch(`${BASE_URL}/foods/analyze`, {
method: "POST",
headers: {
"X-Api-Key": API_KEY,
"Content-Type": "application/json"
},
body: JSON.stringify({ query: description })
});
const data = await response.json();
// Tallenna tietokantaasi
await db.meals.insert({
user_id: currentUser.id,
items: data.items,
total_calories: data.total.calories,
total_protein: data.total.protein_g,
timestamp: new Date()
});
return data;
}
Reseptin Ravintosisältö Laskuri
Laske reseptin ravintosisältö etsimällä jokainen ainesosa ja summaamalla arvot.
def analyze_recipe(ingredients):
"""
ingredients: lista merkkijonoista kuten ["200g kananrinta", "1 kuppi ruskeaa riisiä", "2 rkl oliiviöljyä"]
"""
recipe_nutrition = {"calories": 0, "protein_g": 0, "carbohydrates_g": 0, "fat_g": 0}
for ingredient in ingredients:
response = requests.post(
f"{BASE_URL}/foods/analyze",
headers={
"X-Api-Key": API_KEY,
"Content-Type": "application/json"
},
json={"query": ingredient}
)
data = response.json()
for item in data["items"]:
recipe_nutrition["calories"] += item["calories"]
recipe_nutrition["protein_g"] += item["protein_g"]
recipe_nutrition["carbohydrates_g"] += item["carbohydrates_g"]
recipe_nutrition["fat_g"] += item["fat_g"]
return recipe_nutrition
# Esimerkkikäyttö
recipe = analyze_recipe([
"200g kananrinta",
"1 kuppi keitettyä ruskeaa riisiä",
"2 ruokalusikallista oliiviöljyä",
"1 kuppi höyrytettyä parsakaalia"
])
print(f"Reseptin yhteensä: {recipe['calories']} kcal, {recipe['protein_g']}g proteiinia")
Tutkimus ja Datan Analyysi
Akateemiseen tutkimukseen käytä API:a ravitsemusprofiilien rakentamiseen tutkimuspopulaatioille tai ravitsemusarviointityökalujen validoimiseen.
import pandas as pd
def build_nutrition_profile(food_log_df):
"""
food_log_df: DataFrame, jossa on sarakkeet ['food_description', 'date']
Palauttaa DataFramen, jossa on täydellinen ravitsemustieto jokaiselle merkinnälle.
"""
results = []
for _, row in food_log_df.iterrows():
response = requests.post(
f"{BASE_URL}/foods/analyze",
headers={
"X-Api-Key": API_KEY,
"Content-Type": "application/json"
},
json={"query": row["food_description"]}
)
data = response.json()
results.append({
"date": row["date"],
"description": row["food_description"],
"calories": data["total"]["calories"],
"protein_g": data["total"]["protein_g"],
"carbs_g": data["total"]["carbohydrates_g"],
"fat_g": data["total"]["fat_g"]
})
return pd.DataFrame(results)
Vertailu Vaihtoehto-API:en Kanssa
USDA FoodData Central API
USDA API on täysin ilmainen ilman maksullisia tasoja, mikä tekee siitä oletusvalinnan akateemisiin ja hallituksen projekteihin. Se kattaa noin 370,000 ruokaa eri tietokannoista, kuten Foundation, SR Legacy, Survey (FNDDS) ja Branded. Vahvuuksia ovat se, että se on Yhdysvaltojen ruokakoostumustietojen kultastandardi, jota muut tietokannat viittaavat. Rajoituksia ovat luonnollisen kielen käsittelyn puute (ruokien nimien on vastattava tarkkoja tietokannan avaimia), viivakoodin haku, AI-tunnistus ja brändättyjen ruokien tiedot voivat olla epäjohdonmukaisia, koska ne perustuvat valmistajien ilmoituksiin. API-dokumentaatio on toiminnallinen, mutta ei kehittäjäystävällinen nykyaikaisilla standardeilla.
Paras käyttö: Akateeminen tutkimus, hallituksen projektit, sovellukset, jotka tarvitsevat auktoritatiivista viitetietoa ja joilla on kehittäjäresursseja käsitellä vastaavuuskompleksisuutta.
Nutritionix API
Nutritionixilla on yksi suurimmista ruokadatabasoista, joilla on vahva kattavuus ravintola- ja brändiruokien osalta. Sen luonnollisen kielen päätepiste on kypsä ja käsittelee monimutkaisia kyselyitä hyvin. Kuitenkin ilmainen taso on äärimmäisen rajoitettu 50 pyyntöön päivässä, ja maksulliset suunnitelmat alkavat $299 kuukaudessa, mikä tekee siitä monille itsenäisille kehittäjille ja pienille startup-yrityksille liian kalliiksi. API on hyvin dokumentoitu ja tukee sekä teksti- että viivakoodihakuja.
Paras käyttö: Hyvin rahoitetut sovellukset, jotka tarvitsevat laajaa ravintolaruokadatakattavuutta ja voivat maksaa hinnoittelusta.
Edamam API
Edamam tarjoaa ravitsemusanalyysiä, reseptianalyysiä ja ruokadatabasovelluksia. Ilmainen taso tarjoaa 100 pyyntöä päivässä, mikä on toimiva prototyyppien rakentamiseen. Edamamin vahvuus on sen reseptianalyysikyky, joka voi purkaa koko reseptin ainesosalistan ja palauttaa annoskohtaiset ravitsemustiedot. Tietokanta kattaa noin 900,000 ruokaa. Rajoituksia ovat satunnaiset epäjohdonmukaisuudet annoskoko-tiedoissa ja vähemmän intuitiivinen kehittäjäkokemus verrattuna uudempien API:en.
Paras käyttö: Reseptikeskeiset sovellukset, ateriasuunnittelutyökalut, jotka tarvitsevat reseptitason analyysiä.
FatSecret Platform API
FatSecret tarjoaa runsaan ilmaisen tason, jossa on 5,000 pyyntöä päivässä, mikä tekee siitä houkuttelevan bootstratuille projekteille. Kaupalla on se, että sinun on näytettävä FatSecretin brändäys ja maininta sovelluksessasi. Tietokanta kattaa noin 500,000 ruokaa kohtuullisella kansainvälisellä kattavuudella. API tukee OAuth 1.0 -todennusta, joka on vanhempi ja monimutkaisempi toteuttaa kuin API-avaimen tai OAuth 2.0 lähestymistavat.
Paras käyttö: Budjettiherkät projektit, jotka voivat mukautua mainintavaatimuksiin ja OAuth 1.0:aan.
Open Food Facts API
Open Food Facts on yhteisöohjattu, avoimen lähdekoodin ruokadatabasovellus, jossa on yli 3 miljoonaa tuotetta, pääasiassa pakattuja elintarvikkeita viivakooditietoineen. Se on täysin ilmainen ja avoin (Open Database License). API on suoraviivainen viivakoodihakuja varten, mutta vähemmän jäsennelty ravitsemushakuja varten. Tietojen laatu vaihtelee, koska panokset ovat yhteisön tuottamia, vaikka yhteisön tarkistusprosessi korjaa monia virheitä.
Paras käyttö: Pakattujen ruokien viivakoodin skannaus, projektit, jotka ovat linjassa avoimen lähdekoodin periaatteiden kanssa, kansainvälinen pakattujen ruokien kattavuus.
API Vertailu Yhteenveto
| Ominaisuus | Nutrola | USDA | Nutritionix | Edamam | FatSecret | Open Food Facts |
|---|---|---|---|---|---|---|
| Ilmaisen tason päivittäinen raja | 500 | 1,000/tunti | 50 | 100 | 5,000 | Rajoittamaton |
| Luonnollinen kielen käsittely | Kyllä | Ei | Kyllä | Kyllä | Ei | Ei |
| AI-ruoan tunnistus | Kyllä (maksullinen) | Ei | Ei | Ei | Ei | Ei |
| Viivakoodin haku | Kyllä | Ei | Kyllä | Ei | Kyllä | Kyllä |
| Monikielinen tuki | 8 kieltä | Englanti | Englanti | Englanti | 16 kieltä | 40+ kieltä |
| Reseptianalyysi | NLP:n kautta | Ei | Kyllä | Kyllä | Ei | Ei |
| Mikro ravintoaineiden syvyys | 30+ ravintoainetta | 60+ ravintoainetta | 20+ ravintoainetta | 25+ ravintoainetta | 15+ ravintoainetta | Vaihtelee |
| Valtuuttaminen | API-avain | API-avain | API-avain | Sovellustunnus + Avain | OAuth 1.0 | Ei (valinnainen) |
Parhaat Käytännöt Ravinto-sovellusten Rakentamiseen
Välimuisti aggressiivisesti
Ravitsemustiedot yleisistä ruoista eivät muutu usein. Välimuistita ruokahakuja ja ravitsemustietoja taustapalvelimellasi 24-72 tunniksi vähentääksesi API-kutsuja ja parantaaksesi vastausaikoja.
Käsittele puuttuva data hienovaraisesti
Ei jokaisella ruoka-aineella ole täydellisiä mikro ravintotietoja. Suunnittele käyttöliittymäsi niin, että se ilmoittaa, kun tietoja ei ole saatavilla, sen sijaan että näyttäisi nollia, joita käyttäjät saattavat tulkita väärin "tämä ruoka sisältää nolla rautaa".
Vahvista käyttäjän syöte ennen API-kutsuja
Poista ylimääräiset välilyönnit, normalisoi yksiköt ja tarkista ruokien nimet ennen kuin lähetät ne API:lle. Hyvin muotoiltu kysely tuottaa paljon parempia tuloksia kuin kirjoitusvirheillä varustettu.
Käytä luonnollisen kielen päätepistettä aina kun mahdollista
Sen sijaan, että rakentaisit oman ruokien nimien jäsentäjän, käytä /foods/analyze-päätepistettä. Se käsittelee määriä ("2 kuppia"), valmistustapoja ("grillattu") ja yhdistettyjä kuvastoja ("täysjyväleipä voilla") paremmin kuin useimmat mukautetut toteutukset.
Kunnioita käyttörajoituksia
Toteuta asianmukainen taantumislokiikka. Ryhmittele toiminnot, jos mahdollista. Käytä webhooks- tai jonotusratkaisuja suurille volyymeille sen sijaan, että käyttäisit synkronisia API-kutsuja.
Viittaa tietolähteisiin
Hyvä käytäntö (ja joskus laillinen vaatimus riippuen API:sta) on viitata tietolähteeseen. Näytä "Ravitsemustiedot tarjoaa Nutrola" tai vastaava käyttämäsi API:n osalta.
Usein Kysytyt Kysymykset
Onko Nutrola API todella ilmainen?
Kyllä. Ilmainen taso tarjoaa 500 API-pyyntöä päivässä ilman kustannuksia, eikä luottokorttia vaadita. Tämä riittää prototyyppien, pienten sovellusten ja henkilökohtaisten projektien rakentamiseen. Ilmainen taso sisältää tekstihakuja, ruokien hakua ID:n mukaan, viivakoodin skannausta ja luonnollisen kielen analyysiä. AI-ruoan tunnistus kuvista on saatavilla maksullisilla tasoilla alkaen $29 kuukaudessa.
Minkälaista tietomuotoa API palauttaa?
Kaikki vastaukset ovat JSON-muodossa UTF-8-koodauksella. Ravitsemusarvot käyttävät standardiyksiköitä: kilokalorit energialle, grammoina makro ravintoaineille ja kuidulle, milligrammoina natriumille ja useimmille mineraaleille, sekä mikrogrammoina vitamiineille, missä se on sovellettavaa.
Voinko käyttää Nutrola API:a kaupallisessa sovelluksessa?
Kyllä. Sekä ilmaiset että maksulliset tasot sallivat kaupallisen käytön. Ilmainen taso vaatii Nutrolan maininnan sovelluksessasi. Maksulliset tasot sisältävät valkoisen merkin vaihtoehtoja, joissa mainintaa ei vaadita.
Kuinka usein ruokadatabas päivitetään?
Nutrolan ruokadatabas päivitetään jatkuvasti brändättyjen ja ravintolaruokien osalta, ja USDA-viitetiedot synkronoidaan 30 päivän kuluessa USDA:n julkaisuista. Suuret tietokannan päivitykset tapahtuvat kuukausittain, kun taas yksittäisiä ruoka-aineita voidaan päivittää päivittäin valmistajien muutosten, käyttäjien ilmoittamien korjausten ja uusien tuotteiden lanseerausten perusteella.
Tukeeko API kansainvälisiä ruokia?
Kyllä. Tietokanta kattaa ruokia yli 50 maasta, ja haku on saatavilla 8 kielellä (englanti, espanja, saksa, ranska, portugali, japani, korea ja kiina). Kansainvälinen ruokakattavuus on Nutrolan keskeinen prioriteetti, ja tietokanta sisältää alueellisia ruokia, paikallisia brändituotteita ja keittiökohtaisia valmistuksia, joita usein puuttuu Yhdysvaltojen keskeisistä tietokannoista.
Voinko käyttää API:a mobiilisovelluksessa?
Kyllä, mutta älä upota API-avaintasi suoraan mobiiliasiakasohjelman koodiin, sillä se voidaan purkaa sovelluksen binääristä. Sen sijaan, aseta kevyempi taustapalvelin, joka välittää pyyntöjä Nutrola API:lle ja käsittelee todennuksen. Tämä antaa myös kerroksen välimuistille ja pyyntöjen hallinnalle.
Onko olemassa webhook- tai suoratoimintavaihtoehtoa?
Tällä hetkellä API toimii pyyntö-vastausmallissa. Webhook-tuki asynkronisille ruokantunnistustuloksille (suurelle eräkäsittelylle) on suunnitelmissa vuodelle 2026. Tällä hetkellä erätoimintoja varten käytä /v1/foods/analyze/batch-päätepistettä, joka hyväksyy jopa 20 kohdetta yhdessä pyynnössä.
Yhteenveto
Ravitsemus-API:t ovat tehneet kehittäjille käytännölliseksi rakentaa ruokaa tuntevia sovelluksia ilman valtavaa taakkaa ylläpitää omaa ruokadatabasta. Nutrolan API tarjoaa runsaan ilmaisen tason, kattavan ruokakattavuuden kansainvälisistä keittiöistä, luonnollisen kielen ymmärryksen ja valinnaisen AI-ruoan tunnistuksen, mikä tekee siitä vahvan valinnan projekteille, jotka vaihtelevat viikonlopun prototyypeistä tuotantosovelluksiin.
Paras API projektillesi riippuu erityistarpeistasi: USDA auktoritatiivista viitetietoa varten, Nutritionix syvällistä ravintolaruokadatakattavuutta varten, Open Food Facts avoimen lähdekoodin viivakooditietoa varten tai Nutrola tasapainon ominaisuuksien, tarkkuuden ja kehittäjäkokemuksen välillä. Monissa tapauksissa useiden API:en yhdistäminen antaa parhaan kattavuuden. Aloita ilmaisella tasolla, validoi se käyttötapauksesi mukaan ja skaalaa siitä eteenpäin.
Valmis muuttamaan ravitsemusseurantaasi?
Liity tuhansien joukkoon, jotka ovat muuttaneet terveysmatkansa Nutrola avulla!