Gratis Ernærings-API for Utviklere: Slik Bygger Du Apper med Nutrola's Matdata

En utviklerguide for å bygge ernæringsbevisste applikasjoner med Nutrola's gratis ernærings-API. Dekker endepunkter, autentisering, kodeeksempler i Python, JavaScript og cURL, hastighetsbegrensninger, og sammenligninger med Nutritionix, Edamam og USDA API-er.

Medically reviewed by Dr. Emily Torres, Registered Dietitian Nutritionist (RDN)

Å bygge en ernæringsbevisst applikasjon krevde tidligere å sette sammen sin egen matdatabase fra bunnen av, lisensiere dyre datasett eller skrape usikre kilder. I dag gir ernærings-API-er strukturert, programmatisk tilgang til omfattende matdatabaser med makro- og mikronæringsstoffer, samt serveringsstørrelsesdata levert som ren JSON. Denne guiden tar utviklere gjennom landskapet av ernærings-API-er, med fokus på hvordan man kommer i gang med Nutrola's gratis nivå og hvordan det sammenlignes med alternativer.

Enten du bygger en måltidsplanlegger, en treningssporer, et forskningsverktøy, en oppskriftanalysator, eller en AI-assistent som svarer på ernæringsspørsmål, gir denne guiden deg de tekniske detaljene for å velge et API og begynne å sende forespørsel på minutter.

Oversikt over Ernærings-API-er

Før vi dykker inn i implementeringen, her er en sammenligning av de viktigste ernærings-API-ene tilgjengelig for utviklere i 2026.

API Gratis nivå Hastighetsbegrensning (Gratis) Mat i databasen Strekkodeavlesning Matgjenkjenning (AI) Priser (Betalt)
Nutrola API Ja 500 forespørsel/dag 900,000+ Ja Ja (tillegg) Fra $29/måned
USDA FoodData Central Ja (helt gratis) 1,000/time per nøkkel 370,000+ Nei Nei Gratis
Nutritionix API Ja (begrenset) 50 forespørsel/dag 1,000,000+ Ja Nei Fra $299/måned
Edamam API Ja 100 forespørsel/dag 900,000+ Nei Nei Fra $19/måned
FatSecret Platform API Ja 5,000 forespørsel/dag 500,000+ Ja Nei Gratis (med attribusjon)
Open Food Facts API Ja (helt gratis) Rimelig bruk 3,000,000+ Ja Nei Gratis
Spoonacular Ja 150 forespørsel/dag 500,000+ Nei Nei Fra $29/måned

Komme i Gang med Nutrola API

Steg 1: Opprett en Utviklerkonto

Besøk Nutrola Developer Portal på developers.nutrola.com for å opprette en gratis konto. Etter e-postverifisering vil du motta en API-nøkkel på dashbordet ditt. Det gratis nivået inkluderer 500 forespørsel per dag, tilgang til hele matdatabasen, og tekstbasert mat søk. Endepunkter for AI matgjenkjenning er tilgjengelige på betalte nivåer.

Steg 2: Autentisering

Alle API-forespørsel krever din API-nøkkel i forespørselshodet. Nøkkelen sendes via X-Api-Key hodet.

X-Api-Key: din_api_nøkkel_her

API-en bruker kun HTTPS. Alle forespørsel til HTTP-endepunkter vil motta en 301-omdirigering til HTTPS. Ikke legg inn API-nøkkelen i klientkode; alltid proxy forespørsel gjennom din backend-server.

Steg 3: Grunnleggende URL

Alle endepunkter serveres fra:

https://api.nutrola.com/v1/

Svarene er i JSON-format med UTF-8-koding. API-en følger RESTful-konvensjoner med standard HTTP-statuskoder.

Kjerneendepunkter

Søk etter Mat

Søk i matdatabasen med tekstforespørsel. Returnerer matvarer som matcher med ernæringsdata.

Endepunkt: GET /v1/foods/search

Parametere:

Parameter Type Påkrevd Beskrivelse
query string Ja Søkebegrep (f.eks. "grillet kyllingbryst")
limit integer Nei Resultater per side (standard: 10, maks: 50)
offset integer Nei Paginering offset (standard: 0)
type string Nei Filtrer etter type: "common", "branded", "restaurant"
language string Nei Språk kode (standard: "en"). Støtter: en, es, de, fr, pt, ja, ko, zh

Eksempelforespørsel (cURL):

curl -X GET "https://api.nutrola.com/v1/foods/search?query=grilled+chicken+breast&limit=5" \
  -H "X-Api-Key: din_api_nøkkel_her"

Eksempelforespørsel (Python):

import requests

API_KEY = "din_api_nøkkel_her"
BASE_URL = "https://api.nutrola.com/v1"

response = requests.get(
    f"{BASE_URL}/foods/search",
    headers={"X-Api-Key": API_KEY},
    params={
        "query": "grillet kyllingbryst",
        "limit": 5
    }
)

data = response.json()
for food in data["foods"]:
    print(f"{food['name']}: {food['calories']} kcal per {food['serving_size']}{food['serving_unit']}")

Eksempelforespørsel (JavaScript / Node.js):

const API_KEY = "din_api_nøkkel_her";
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("grillet kyllingbryst").then(foods => {
  foods.forEach(food => {
    console.log(`${food.name}: ${food.calories} kcal per ${food.serving_size}${food.serving_unit}`);
  });
});

Eksempel Respons:

{
  "foods": [
    {
      "id": "nf_001234",
      "name": "Kyllingbryst, Grillet, Uten Skinn",
      "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 gram",
      "alt_servings": [
        {
          "description": "1 middels bryst (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
}

Hent Mat etter ID

Hent detaljerte ernæringsdata for et spesifikt matvare ved hjelp av Nutrola ID-en.

Endepunkt: GET /v1/foods/{food_id}

Eksempel (cURL):

curl -X GET "https://api.nutrola.com/v1/foods/nf_001234" \
  -H "X-Api-Key: din_api_nøkkel_her"

Responsen inkluderer full makro- og mikronæringsprofil (30+ næringsstoffer), alle tilgjengelige serveringsstørrelser, ingrediensliste (for merkede og restaurantvarer), allergenflagg, kostholdsetiketter (vegan, glutenfri, halal, kosher), og kilde-attribusjon.

Hent Mat etter Strekkode

Søk etter et pakket matprodukt ved hjelp av UPC- eller EAN-strekkoden.

Endepunkt: GET /v1/foods/barcode/{code}

Parametere:

Parameter Type Påkrevd Beskrivelse
code string Ja UPC (12-sifret) eller EAN (13-sifret) strekkode

Eksempel (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']}")

Analyser Naturlig Språk Inndata

Analyser en naturlig språk matbeskrivelse og returner strukturert ernæringsdata. Dette endepunktet håndterer mengder, enheter, tilberedningsmetoder, og flere elementer i en enkelt streng.

Endepunkt: POST /v1/foods/analyze

Forespørsel Body:

{
  "query": "2 rørte egg med en skive fullkornsbrød og en halv avokado",
  "language": "en"
}

Eksempel (Python):

response = requests.post(
    f"{BASE_URL}/foods/analyze",
    headers={
        "X-Api-Key": API_KEY,
        "Content-Type": "application/json"
    },
    json={
        "query": "2 rørte egg med en skive fullkornsbrød og en halv avokado"
    }
)

result = response.json()
for item in result["items"]:
    print(f"{item['quantity']} {item['unit']} {item['name']}: {item['calories']} kcal")
print(f"Totalt: {result['total']['calories']} kcal")

Eksempel Respons:

{
  "items": [
    {
      "name": "Rørte Egg",
      "quantity": 2,
      "unit": "store",
      "calories": 182,
      "protein_g": 12.2,
      "carbohydrates_g": 2.4,
      "fat_g": 13.6,
      "food_id": "nf_002891"
    },
    {
      "name": "Fullkornsbrød",
      "quantity": 1,
      "unit": "skive",
      "calories": 81,
      "protein_g": 3.9,
      "carbohydrates_g": 13.8,
      "fat_g": 1.1,
      "food_id": "nf_003401"
    },
    {
      "name": "Avokado",
      "quantity": 0.5,
      "unit": "medium",
      "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 Matgjenkjenning (Betalt Nivå)

Send et bilde av mat for AI-drevet gjenkjenning og ernæringsanalyse.

Endepunkt: POST /v1/foods/recognize

Forespørsel: Multipart formdata med bilde filen, eller en JSON-body med et base64-kodet bilde.

Eksempel (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")

Responsen inkluderer gjenkjente matvarer med tillitsnivåer, koordinater for avgrensningsboks, estimerte porsjonsstørrelser, ernæringsoppsummering per element, og total ernæringsoppsummering for måltidet.

Hastighetsbegrensninger og Feilhåndtering

Hastighetsbegrensninger etter Nivå

Nivå Daglige Forespørsel Forespørsel/Sekund AI Gjenkjenning Pris
Gratis 500 5 Ikke inkludert $0
Starter 5,000 10 100/dag $29/måned
Pro 50,000 25 1,000/dag $99/måned
Enterprise Tilpasset Tilpasset Tilpasset Kontakt salg

Hastighetsbegrensningshoder

Hver respons inkluderer hastighetsbegrensningshoder:

X-RateLimit-Limit: 500
X-RateLimit-Remaining: 487
X-RateLimit-Reset: 1710374400

Feilrespons

API-en bruker standard HTTP-statuskoder med beskrivende feilkropper.

{
  "error": {
    "code": "rate_limit_exceeded",
    "message": "Daglig forespørselgrense på 500 overskredet. Nullstiller ved 00:00 UTC.",
    "status": 429
  }
}
Statuskode Betydning
200 Succes
400 Dårlig forespørsel (ugyldige parametere)
401 Uautorisert (ugyldig eller manglende API-nøkkel)
404 Mat ikke funnet
429 Hastighetsgrense overskredet
500 Intern serverfeil

Implementer eksponentiell tilbakeholdelse for 429 og 500-responser. En enkel strategi er å vente 1 sekund etter første feil, 2 sekunder etter den andre, 4 etter den tredje, opp til et maksimum på 60 sekunder.

Bruksområder og Implementeringsmønstre

Måltidsplanleggingsapplikasjoner

Bygg en måltidsplanlegger som treffer målmakroer ved å søke etter matvarer, beregne ernæringstotaler, og iterere til måltidsplanen møter brukerens mål.

def find_foods_for_target(target_protein, target_calories):
    """Finn proteinrike matvarer innen kalori budsjett."""
    response = requests.get(
        f"{BASE_URL}/foods/search",
        headers={"X-Api-Key": API_KEY},
        params={
            "query": "høyt protein",
            "limit": 20,
            "type": "common"
        }
    )

    foods = response.json()["foods"]
    # Filtrer etter protein-til-kalori-forhold
    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)

Integrering med Treningsapper

Koble med aktivitetsdata for å vise brukerne deres kalori-balanse. Bruk naturlig språk-endepunktet for rask logging.

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();

  // Lagre i databasen din
  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;
}

Oppskriftsnæringskalkulator

Beregn næringsinnholdet i en oppskrift ved å se opp hver ingrediens og summere verdiene.

def analyze_recipe(ingredients):
    """
    ingredients: liste av strenger som ["200g kyllingbryst", "1 kopp brun ris", "2 ss olivenolje"]
    """
    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

# Eksempel på bruk
recipe = analyze_recipe([
    "200g kyllingbryst",
    "1 kopp brun ris kokt",
    "2 spiseskjeer olivenolje",
    "1 kopp dampet brokkoli"
])
print(f"Oppskrift total: {recipe['calories']} kcal, {recipe['protein_g']}g protein")

Forskning og Dataanalyse

For akademisk forskning, bruk API-en til å bygge ernæringsprofiler for studiepopulasjoner eller validere kostholdsverktøy.

import pandas as pd

def build_nutrition_profile(food_log_df):
    """
    food_log_df: DataFrame med kolonner ['food_description', 'date']
    Returnerer DataFrame med full ernæringsoppsummering per oppføring.
    """
    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)

Sammenligning med Alternative API-er

USDA FoodData Central API

USDA API-en er helt gratis uten betalte nivåer, noe som gjør den til standardvalget for akademiske og offentlige prosjekter. Den dekker omtrent 370,000 matvarer på tvers av Foundation, SR Legacy, Survey (FNDDS), og Branded databaser. Styrker inkluderer å være gullstandarden for amerikanske matkomposisjonsdata, autoriteten som andre databaser refererer til. Begrensninger inkluderer ingen naturlig språk-parsing (du må matche matnavn til deres spesifikke database-nøkler), ingen strekkodeoppslag, ingen AI-gjenkjenning, og den merkede matdata kan være inkonsekvent fordi den er avhengig av produsentinnsendinger. API-dokumentasjonen er funksjonell, men ikke utviklervennlig etter moderne standarder.

Best for: Akademisk forskning, offentlige prosjekter, applikasjoner som trenger autoritative referansedata og har utviklerressurser til å håndtere matchingskompleksitet.

Nutritionix API

Nutritionix har en av de største matdatabasene med sterk dekning av restaurant- og merkede matvarer. Dens naturlige språk-endepunkt er modent og håndterer komplekse forespørsel godt. Imidlertid er det gratis nivået ekstremt begrenset til 50 forespørsel per dag, og de betalte planene starter på $299 per måned, noe som setter det utenfor rekkevidde for mange uavhengige utviklere og små oppstartsselskaper. API-en er godt dokumentert og støtter både tekst- og strekkodeoppslag.

Best for: Velfinansierte applikasjoner som trenger omfattende restaurantmatdata og har råd til prisene.

Edamam API

Edamam tilbyr ernæringsanalyse, oppskriftanalyse, og matdatabase API-er. Det gratis nivået gir 100 forespørsel per dag, som er håndterbart for prototyping. Edamams styrke er dens oppskriftanalysekapasitet, som kan analysere en fullstendig oppskrift sin ingrediensliste og returnere per-serverings ernæringsdata. Databasen dekker omtrent 900,000 matvarer. Begrensninger inkluderer sporadiske inkonsekvenser i serveringsstørrelsesdata og en mindre intuitiv utvikleropplevelse sammenlignet med nyere API-er.

Best for: Oppskriftsfokuserte applikasjoner, måltidsplanleggingsverktøy som trenger oppskriftsnivåanalyse.

FatSecret Platform API

FatSecret tilbyr et generøst gratis nivå med 5,000 forespørsel per dag, noe som gjør det attraktivt for bootstrappede prosjekter. Avveiningen er at du må vise FatSecret-merkevare og attribusjon i applikasjonen din. Databasen dekker omtrent 500,000 matvarer med anstendig internasjonal dekning. API-en støtter OAuth 1.0-autentisering, som er eldre og mer kompleks å implementere enn API-nøkkel eller OAuth 2.0-tilnærminger.

Best for: Budsjettbegrensede prosjekter som kan imøtekomme attribusjonskrav og OAuth 1.0.

Open Food Facts API

Open Food Facts er en fellesskapsdrevet, åpen kildekode matdatabase med over 3 millioner produkter, primært pakket varer med strekkodedata. Den er helt gratis og åpen (Open Database License). API-en er enkel for strekkodeoppslag, men mindre strukturert for ernæringssøkeforespørsel. Datakvaliteten varierer fordi bidragene er crowdsourcet, selv om en fellesskapsgjennomgangsprosess fanger mange feil.

Best for: Pakket matstrekkodeavlesning, prosjekter som samsvarer med åpen kildekildeprinsipper, internasjonal dekning av pakket mat.

API-sammenligningsoppsummering

Funksjon Nutrola USDA Nutritionix Edamam FatSecret Open Food Facts
Daglig grense for gratis nivå 500 1,000/time 50 100 5,000 Ubegrenset
Naturlig språk-parsing Ja Nei Ja Ja Nei Nei
AI matgjenkjenning Ja (betalt) Nei Nei Nei Nei Nei
Strekkodeoppslag Ja Nei Ja Nei Ja Ja
Flerspråklig støtte 8 språk Engelsk Engelsk Engelsk 16 språk 40+ språk
Oppskriftsanalyse Via NLP Nei Ja Ja Nei Nei
Mikronæringsdybde 30+ næringsstoffer 60+ næringsstoffer 20+ næringsstoffer 25+ næringsstoffer 15+ næringsstoffer Varierer
Autentisering API-nøkkel API-nøkkel API-nøkkel App ID + Nøkkel OAuth 1.0 Ingen (valgfritt)

Beste Praksis for Bygging av Ernæringsapper

Cache aggressivt

Ernæringsdata for vanlige matvarer endres ikke ofte. Cache mat søkresultater og ernæringsoppslag på backend i 24 til 72 timer for å redusere API-kall og forbedre responstider.

Håndter manglende data på en elegant måte

Ikke hver matoppføring har fullstendig mikronæringsdata. Design UI-en din for å indikere når data ikke er tilgjengelig i stedet for å vise nuller, som brukere kan misforstå som "denne maten inneholder null jern."

Valider brukerinput før API-kall

Trim whitespace, normaliser enheter, og stavekontroll matnavn før du sender dem til API-en. En godt utformet forespørsel gir mye bedre resultater enn en med skrivefeil.

Bruk naturlig språk-endepunktet når mulig

I stedet for å bygge din egen matnavnparser, bruk /foods/analyze endepunktet. Det håndterer mengder ("2 kopper"), tilberedningsmetoder ("grillet"), og sammensatte beskrivelser ("fullkornsbrød med smør") bedre enn de fleste tilpassede implementeringer.

Respekter hastighetsbegrensninger

Implementer riktig tilbakeholdelseslogikk. Batch-operasjoner der det er mulig. Bruk webhooks eller køer for høyvolumoperasjoner i stedet for synkrone API-kall.

Attribuer datakilder

God praksis (og noen ganger et juridisk krav avhengig av API-en) er å attribuere datakilden. Vis "Ernæringsdata levert av Nutrola" eller det tilsvarende for hvilken API du bruker.

Vanlige Spørsmål

Er Nutrola API-en virkelig gratis?

Ja. Det gratis nivået gir 500 API-forespørsel per dag uten kostnad, uten at kredittkort er nødvendig. Dette er tilstrekkelig for prototyping, små applikasjoner, og personlige prosjekter. Det gratis nivået inkluderer tekstsøk, matoppslag etter ID, strekkodeavlesning, og naturlig språk-analyse. AI matgjenkjenning fra bilder er tilgjengelig på betalte nivåer fra $29 per måned.

Hvilket dataformat returnerer API-en?

Alle svar er i JSON-format med UTF-8-koding. Ernæringsverdier bruker standardenheter: kilokalorier for energi, gram for makronæringsstoffer og fiber, milligram for natrium og de fleste mineraler, og mikrogram for vitaminer der det er aktuelt.

Kan jeg bruke Nutrola API-en i en kommersiell applikasjon?

Ja. Både gratis og betalte nivåer tillater kommersiell bruk. Det gratis nivået krever Nutrola-attribusjon i applikasjonen din. Betalte nivåer inkluderer hvitmerkingalternativer der ingen attribusjon er nødvendig.

Hvor ofte oppdateres matdatabasen?

Nutrola matdatabase oppdateres kontinuerlig for merkede og restaurantmatvarer, med USDA referansedata synkronisert innen 30 dager etter USDA-utgivelser. Store databaseoppdateringer skjer månedlig, mens individuelle matoppføringer kan oppdateres daglig basert på produsentendringer, brukerrapporterte korrigeringer, og nye produktlanseringer.

Støtter API-en internasjonale matvarer?

Ja. Databasen dekker matvarer fra over 50 land, med søk tilgjengelig på 8 språk (engelsk, spansk, tysk, fransk, portugisisk, japansk, koreansk, og kinesisk). Internasjonal matdekning er en kjerneprioritet for Nutrola, og databasen inkluderer regionale retter, lokale merkede produkter, og kjøkken-spesifikke tilberedninger som ofte mangler fra amerikansk-sentrerte databaser.

Kan jeg bruke API-en for en mobilapp?

Ja, men ikke legg API-nøkkelen direkte inn i mobilklientkoden, da den kan bli hentet fra app-binaryen. Sett i stedet opp en lettvekts backend-server som proxyer forespørsel til Nutrola API-en og håndterer autentisering. Dette gir deg også et lag for caching og forespørselshåndtering.

Er det en webhook eller streaming-alternativ?

For øyeblikket opererer API-en på en forespørsel-respons-modell. Webhook-støtte for asynkrone matgjenkjenningsresultater (for store batchbehandlinger) er på veikartet for 2026. For batchoperasjoner i dag, bruk /v1/foods/analyze/batch endepunktet, som aksepterer opptil 20 elementer i en enkelt forespørsel.

Konklusjon

Ernærings-API-er har gjort det praktisk for utviklere å bygge matbevisste applikasjoner uten det enorme overhodet av å opprettholde en proprietær matdatabase. Nutrola's API gir et generøst gratis nivå, omfattende matdekning på tvers av internasjonale kjøkken, naturlig språkforståelse, og valgfri AI matgjenkjenning, noe som gjør det til et sterkt valg for prosjekter som spenner fra helgeprototyper til produksjonsapplikasjoner.

Det beste API-et for prosjektet ditt avhenger av dine spesifikke behov: USDA for autoritative referansedata, Nutritionix for dyp restaurantdekning, Open Food Facts for åpen kildekode-strekkodedata, eller Nutrola for en balanse av funksjoner, nøyaktighet, og utvikleropplevelse. I mange tilfeller gir kombinasjonen av flere API-er deg den beste dekningen. Start med det gratis nivået, valider det mot bruksområdet ditt, og skaler derfra.

Klar til å forvandle ernæringssporingen din?

Bli en del av tusenvis som har forvandlet helsereisen sin med Nutrola!