Nutrola Nutrition Data API: Πώς οι Προγραμματιστές Μπορούν να Πρόσβαση στη Βάση Δεδομένων Τροφίμων

Ένας οδηγός για προγραμματιστές σχετικά με το Nutrola Nutrition Data API. Μάθετε πώς να αποκτήσετε πρόσβαση στη verified βάση δεδομένων τροφίμων μας με πάνω από 3 εκατομμύρια καταχωρήσεις, εξερευνήστε τα endpoints, την αυθεντικοποίηση και τις πραγματικές περιπτώσεις χρήσης.

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

Αναπτύσσετε μια εφαρμογή υγείας, fitness ή τροφίμων; Ένα από τα μεγαλύτερα προβλήματα που θα αντιμετωπίσετε είναι τα δεδομένα διατροφής. Χρειάζεστε ακριβείς πληροφορίες για θερμίδες και μακροθρεπτικά συστατικά για χιλιάδες τρόφιμα, πρέπει να καλύπτετε διεθνή προϊόντα και να παραμένετε ενημερωμένοι καθώς οι κατασκευαστές αναδιαμορφώνουν τα προϊόντα τους.

Οι περισσότεροι προγραμματιστές ξεκινούν αντλώντας δεδομένα από δημόσιες κυβερνητικές βάσεις δεδομένων όπως το USDA FoodData Central. Αυτό σας δίνει μια βάση, αλλά δεν καλύπτει επώνυμα προϊόντα από 47 χώρες, γεύματα εστιατορίων ή τα χιλιάδες περιφερειακά τρόφιμα που καταναλώνουν οι πραγματικοί χρήστες καθημερινά. Η κάλυψη αυτών των κενών από μόνοι σας σημαίνει χρόνια εργασίας επιμέλειας δεδομένων.

Το Nutrola Nutrition Data API παρέχει στους προγραμματιστές πρόσβαση στην ίδια verified βάση δεδομένων τροφίμων που τροφοδοτεί την εφαρμογή μας — πάνω από 3 εκατομμύρια καταχωρήσεις, καλύπτοντας ωμά υλικά, επώνυμα προϊόντα, γεύματα εστιατορίων και σύνθετες συνταγές. Κάθε καταχώρηση έχει επαληθευτεί μέσω της πολυεπίπεδης διαδικασίας ποιοτικού ελέγχου μας, το ίδιο σύστημα που εμπιστεύονται πάνω από 2 εκατομμύρια χρήστες.

Αυτός ο οδηγός καλύπτει όλα όσα χρειάζεστε για να ξεκινήσετε την ανάπτυξη με το API μας: αρχιτεκτονική, αυθεντικοποίηση, endpoints, όρια ρυθμού και παραδείγματα κώδικα από τον πραγματικό κόσμο.

Επισκόπηση API

Το Nutrola Nutrition Data API είναι ένα RESTful JSON API. Κάνετε HTTP αιτήματα και λαμβάνετε JSON απαντήσεις. Δεν απαιτούνται SDK, αν και παρέχουμε βιβλιοθήκες πελάτη για Python, JavaScript και Swift για ευκολία.

Βασική Διεύθυνση URL

https://api.nutrola.com/v1

Όλα τα endpoints εξυπηρετούνται μέσω HTTPS. Απλές αιτήσεις HTTP απορρίπτονται.

Κύριες Δυνατότητες

Δυνατότητα Περιγραφή
Αναζήτηση Τροφίμων Πλήρης αναζήτηση κειμένου σε πάνω από 3M καταχωρήσεις τροφίμων με φιλτράρισμα κατά κατηγορία, μάρκα και χώρα
Αναζήτηση Barcode Λάβετε δεδομένα διατροφής με UPC, EAN ή άλλες μορφές barcode
Λεπτομέρειες Διατροφής Πλήρης διατροφική ανάλυση για οποιοδήποτε τρόφιμο (70+ θρεπτικά συστατικά, συμπεριλαμβανομένων των μικροθρεπτικών)
Μεγέθη Μερίδας Τυπικά και εναλλακτικά μεγέθη μερίδας με μετατροπές σε γραμμάρια
Ανάλυση Συνταγών Υποβάλετε μια λίστα υλικών και λάβετε συνδυασμένα δεδομένα διατροφής
Κατηγορίες Τροφίμων Περιηγηθείτε στην ιεραρχική ταξινόμηση κατηγοριών τροφίμων
Κατάλογος Μαρκών Αναζητήστε και περιηγηθείτε στους κατασκευαστές επώνυμων τροφίμων
Αυτόματη Συμπλήρωση Γρήγορες προτάσεις κατά την πληκτρολόγηση για διεπαφές αναζήτησης τροφίμων

Μορφή Απόκρισης

Όλες οι απαντήσεις ακολουθούν μια συνεπή δομή:

{
  "status": "success",
  "data": { },
  "meta": {
    "request_id": "req_abc123",
    "rate_limit_remaining": 245,
    "rate_limit_reset": "2026-03-10T15:00:00Z"
  }
}

Οι απαντήσεις σφάλματος περιλαμβάνουν έναν κωδικό σφάλματος αναγνώσιμο από μηχανή και ένα μήνυμα κατανοητό από άνθρωπο:

{
  "status": "error",
  "error": {
    "code": "FOOD_NOT_FOUND",
    "message": "Δεν υπάρχει καταχώρηση τροφίμου που να ταιριάζει με το παρεχόμενο ID.",
    "request_id": "req_xyz789"
  }
}

Αυθεντικοποίηση

Όλα τα αιτήματα API απαιτούν ένα API key που περνάει στην κεφαλίδα Authorization.

Λήψη API Key

  1. Δημιουργήστε έναν λογαριασμό προγραμματιστή στο developer.nutrola.com
  2. Μεταβείτε στην ενότητα API Keys στον πίνακα ελέγχου σας
  3. Δημιουργήστε ένα νέο κλειδί και καθορίστε τους τομείς που χρειάζεστε
  4. Αποθηκεύστε το κλειδί με ασφάλεια — θα εμφανιστεί μόνο μία φορά

Χρήση του API Key σας

Συμπεριλάβετε το κλειδί σε κάθε κεφαλίδα αιτήματος:

Authorization: Bearer YOUR_API_KEY

Παράδειγμα με curl:

curl -H "Authorization: Bearer ntr_live_abc123def456" \
  https://api.nutrola.com/v1/foods/search?q=chicken+breast

Τομείς API Key

Τομέας Επίπεδο Πρόσβασης
foods:read Αναζήτηση και ανάκτηση δεδομένων τροφίμων (το πιο κοινό)
barcodes:read Αναζήτηση barcode
recipes:analyze Ανάλυση διατροφής συνταγών
brands:read Πρόσβαση στον κατάλογο μαρκών
categories:read Ταξινόμηση κατηγοριών τροφίμων

Τα κλειδιά μπορούν να περιοριστούν σε συγκεκριμένες δυνατότητες. Ένα κλειδί με μόνο foods:read δεν μπορεί να έχει πρόσβαση σε αναζητήσεις barcode. Αυτό ακολουθεί την αρχή της ελάχιστης εξουσίας — ζητήστε μόνο τους τομείς που χρειάζεται η εφαρμογή σας.

Κύρια Endpoints

Αναζήτηση Τροφίμων

Αναζητήστε τη βάση δεδομένων κατά όνομα, λέξη-κλειδί ή φράση.

GET /v1/foods/search

Παράμετροι:

Παράμετρος Τύπος Απαιτείται Περιγραφή
q string Ναι Ερώτημα αναζήτησης (π.χ., "grilled chicken breast")
category string Όχι Φιλτράρισμα κατά κατηγορία τροφίμου (π.χ., "dairy", "vegetables")
brand string Όχι Φιλτράρισμα κατά όνομα μάρκας
country string Όχι ISO 3166-1 alpha-2 κωδικός χώρας (π.χ., "US", "DE", "JP")
verified_only boolean Όχι Επιστροφή μόνο καταχωρήσεων με verified πηγή δεδομένων (προεπιλογή: true)
page integer Όχι Αριθμός σελίδας για σελιδοποίηση (προεπιλογή: 1)
per_page integer Όχι Αποτελέσματα ανά σελίδα, μέγιστο 50 (προεπιλογή: 20)

Παράδειγμα Αιτήματος:

curl -H "Authorization: Bearer YOUR_API_KEY" \
  "https://api.nutrola.com/v1/foods/search?q=greek+yogurt&country=US&per_page=5"

Παράδειγμα Απόκρισης:

{
  "status": "success",
  "data": {
    "results": [
      {
        "id": "food_8f2k9d",
        "name": "Greek Yogurt, Plain, Nonfat",
        "brand": null,
        "category": "dairy",
        "country": "US",
        "verified": true,
        "source": "USDA",
        "nutrition_per_100g": {
          "calories": 59,
          "protein": 10.2,
          "carbohydrates": 3.6,
          "fat": 0.4,
          "fiber": 0,
          "sugar": 3.2,
          "sodium": 36
        },
        "default_serving": {
          "description": "1 container (170g)",
          "grams": 170
        }
      }
    ],
    "total_results": 342,
    "page": 1,
    "per_page": 5
  }
}

Λήψη Λεπτομερειών Τροφίμου

Ανακτήστε το πλήρες διατροφικό προφίλ για ένα συγκεκριμένο τρόφιμο.

GET /v1/foods/{food_id}

Παράδειγμα Αιτήματος:

curl -H "Authorization: Bearer YOUR_API_KEY" \
  "https://api.nutrola.com/v1/foods/food_8f2k9d"

Η λεπτομερή απόκριση περιλαμβάνει την πλήρη ανάλυση θρεπτικών συστατικών — πάνω από 70 θρεπτικά συστατικά, συμπεριλαμβανομένων όλων των βιταμινών, μετάλλων, αμινοξέων και προφίλ λιπαρών οξέων. Περιλαμβάνει επίσης όλα τα διαθέσιμα μεγέθη μερίδας και τις ισοδύναμες γραμμάρια.

Μερική Απόκριση (Κύρια Θρεπτικά Συστατικά):

{
  "status": "success",
  "data": {
    "id": "food_8f2k9d",
    "name": "Greek Yogurt, Plain, Nonfat",
    "nutrition_per_100g": {
      "calories": 59,
      "protein": 10.2,
      "carbohydrates": 3.6,
      "fat": 0.4,
      "fiber": 0,
      "sugar": 3.2,
      "saturated_fat": 0.1,
      "monounsaturated_fat": 0.1,
      "polyunsaturated_fat": 0,
      "cholesterol": 5,
      "sodium": 36,
      "potassium": 141,
      "calcium": 110,
      "iron": 0.1,
      "vitamin_a": 4,
      "vitamin_c": 0,
      "vitamin_d": 0
    },
    "serving_sizes": [
      { "description": "1 container (170g)", "grams": 170 },
      { "description": "1 cup (245g)", "grams": 245 },
      { "description": "1 tbsp (15g)", "grams": 15 },
      { "description": "100g", "grams": 100 }
    ],
    "allergens": ["milk"],
    "source": "USDA",
    "source_id": "170903",
    "last_verified": "2026-02-15",
    "confidence_score": 0.98
  }
}

Αναζήτηση Barcode

Αναζητήστε ένα προϊόν τροφίμου με το barcode του.

GET /v1/barcodes/{barcode}

Υποστηριζόμενες Μορφές: UPC-A, UPC-E, EAN-13, EAN-8

Παράδειγμα Αιτήματος:

curl -H "Authorization: Bearer YOUR_API_KEY" \
  "https://api.nutrola.com/v1/barcodes/0049000006346"

Η απόκριση επιστρέφει το ίδιο αντικείμενο λεπτομερειών τροφίμου όπως το endpoint /foods/{food_id}, με πρόσθετα πεδία που σχετίζονται με το barcode, όπως barcode_format και regional_variants (ένα πίνακας με ID τροφίμων για το ίδιο προϊόν σε διαφορετικές χώρες, που μπορεί να έχει διαφορετικές συνθέσεις).

Ανάλυση Συνταγών

Υποβάλετε μια λίστα υλικών και λάβετε τη συνδυασμένη ανάλυση διατροφής.

POST /v1/recipes/analyze

Σώμα Αιτήματος:

{
  "name": "Overnight Oats",
  "servings": 2,
  "ingredients": [
    { "food_id": "food_3k8m2n", "grams": 160 },
    { "food_id": "food_9p4q7r", "grams": 400 },
    { "food_id": "food_1a5b8c", "grams": 60 },
    { "food_id": "food_6d2e9f", "grams": 2, "description": "pinch of salt" }
  ]
}

Μπορείτε επίσης να υποβάλετε τα υλικά ως κείμενο για αυτόματη ανάλυση:

{
  "name": "Overnight Oats",
  "servings": 2,
  "ingredients_text": "160g rolled oats, 400ml whole milk, 60g peanut butter, pinch of salt"
}

Απόκριση:

{
  "status": "success",
  "data": {
    "name": "Overnight Oats",
    "servings": 2,
    "nutrition_per_serving": {
      "calories": 425,
      "protein": 18.5,
      "carbohydrates": 42.3,
      "fat": 21.2,
      "fiber": 5.8
    },
    "nutrition_total": {
      "calories": 850,
      "protein": 37.0,
      "carbohydrates": 84.6,
      "fat": 42.4,
      "fiber": 11.6
    },
    "ingredients_matched": [
      { "input": "160g rolled oats", "matched_food": "food_3k8m2n", "confidence": 0.97 },
      { "input": "400ml whole milk", "matched_food": "food_9p4q7r", "confidence": 0.99 },
      { "input": "60g peanut butter", "matched_food": "food_1a5b8c", "confidence": 0.96 },
      { "input": "pinch of salt", "matched_food": "food_6d2e9f", "confidence": 0.88 }
    ]
  }
}

Αυτόματη Συμπλήρωση

Γρήγορες προτάσεις κατά την πληκτρολόγηση για την κατασκευή διεπαφών αναζήτησης.

GET /v1/foods/autocomplete?q={query}

Παράμετροι:

Παράμετρος Τύπος Απαιτείται Περιγραφή
q string Ναι Μερικό ερώτημα αναζήτησης (ελάχιστο 2 χαρακτήρες)
limit integer Όχι Μέγιστος αριθμός αποτελεσμάτων, 1-10 (προεπιλογή: 5)
country string Όχι Προτεραιότητα στα αποτελέσματα από αυτή τη χώρα

Οι χρόνοι απόκρισης είναι βελτιστοποιημένοι για διαδραστική χρήση — συνήθως κάτω από 50ms. Το endpoint αυτόματης συμπλήρωσης επιστρέφει απλοποιημένα αντικείμενα τροφίμων (ID, όνομα, μάρκα και κατηγορία μόνο) για γρήγορη απόδοση.

Όρια Ρυθμού και Τιμολόγηση

Δωρεάν Επίπεδο

Το δωρεάν επίπεδο έχει σχεδιαστεί για ανάπτυξη, δοκιμές και μικρές εφαρμογές:

Όριο Τιμή
Αιτήματα ανά ημέρα 500
Αιτήματα ανά λεπτό 30
Αποτελέσματα αναζήτησης τροφίμων ανά αίτημα 20
Ανάλυση συνταγών ανά ημέρα 10
Αναζητήσεις barcode ανά ημέρα 100

Επίπεδο Ανάπτυξης

Για παραγωγικές εφαρμογές με μέτρια κίνηση:

Όριο Τιμή
Αιτήματα ανά ημέρα 25,000
Αιτήματα ανά λεπτό 300
Αποτελέσματα αναζήτησης τροφίμων ανά αίτημα 50
Ανάλυση συνταγών ανά ημέρα 500
Αναζητήσεις barcode ανά ημέρα 5,000
Τιμή $49/μήνα

Επιχειρηματικό Επίπεδο

Για εφαρμογές υψηλής κίνησης, λύσεις white-label και προσαρμοσμένες απαιτήσεις:

Χαρακτηριστικό Λεπτομέρειες
Αιτήματα ανά ημέρα Προσαρμοσμένο (συνήθως 100K+)
Όρια ρυθμού Προσαρμοσμένα
Αφιερωμένη υποστήριξη Συμπεριλαμβάνεται
SLA Εγγύηση 99.9% uptime
Προσαρμοσμένες εξαγωγές δεδομένων Διαθέσιμες
Ειδοποιήσεις Webhook Διαθέσιμες για ενημερώσεις δεδομένων
Τιμή Επικοινωνήστε με τις πωλήσεις

Οι πληροφορίες για τα όρια ρυθμού περιλαμβάνονται σε κάθε απόκριση API μέσω του αντικειμένου meta και στις κεφαλίδες HTTP απάντησης (X-RateLimit-Remaining, X-RateLimit-Reset).

Πραγματικές Περιπτώσεις Χρήσης

Εφαρμογές Fitness και Άσκησης

Αν αναπτύσσετε μια εφαρμογή fitness και θέλετε να προσθέσετε παρακολούθηση διατροφής χωρίς να δημιουργήσετε μια βάση δεδομένων τροφίμων από το μηδέν, το API της Nutrola είναι ο ταχύτερος δρόμος. Χρησιμοποιήστε τα endpoints αναζήτησης τροφίμων και barcode για να επιτρέψετε στους χρήστες να καταγράφουν γεύματα και το endpoint ανάλυσης συνταγών για προσαρμοσμένες καταχωρήσεις γευμάτων.

Πλατφόρμες Σχεδίασης Γευμάτων

Οι εφαρμογές σχεδίασης γευμάτων χρειάζονται ακριβή δεδομένα διατροφής για να δημιουργήσουν σχέδια που να επιτυγχάνουν συγκεκριμένους στόχους μακροθρεπτικών. Η λεπτομερής ανάλυση θρεπτικών συστατικών του API (70+ θρεπτικά συστατικά) επιτρέπει την ακριβή βελτιστοποίηση σχεδίων γευμάτων, όχι μόνο θερμίδων και μακροθρεπτικών αλλά και μικροθρεπτικών, αλλεργιογόνων και συμβατότητας με διατροφικούς περιορισμούς.

Υγειονομική Περίθαλψη και Τηλεϊατρική

Πλατφόρμες υγειονομικής περίθαλψης που παρακολουθούν τη διατροφή των ασθενών μπορούν να ενσωματωθούν με το API για να παρέχουν ακριβή καταγραφή τροφίμων μέσα στις υπάρχουσες διεπαφές τους. Οι verified πηγές δεδομένων (USDA, EFSA, απευθείας από κατασκευαστές) πληρούν τα πρότυπα ακρίβειας που απαιτούνται για την παρακολούθηση κλινικής διατροφής.

Εστιατόρια και Υπηρεσίες Τροφίμων

Πλατφόρμες παραγγελίας εστιατορίων μπορούν να χρησιμοποιήσουν το API για να εμφανίσουν πληροφορίες διατροφής για τα μενού. Το endpoint ανάλυσης συνταγών είναι ιδιαίτερα χρήσιμο εδώ — υποβάλετε τα υλικά ενός πιάτου και λάβετε τη πλήρη ανάλυση διατροφής χωρίς να υπολογίσετε χειροκίνητα κάθε στοιχείο.

Έρευνα και Ακαδημία

Ερευνητές διατροφής μπορούν να χρησιμοποιήσουν το API για να τυποποιήσουν την κωδικοποίηση τροφίμων σε διαιτητικές μελέτες. Τα συνεπή, verified δεδομένα μειώνουν το σφάλμα μέτρησης που πλήττει τις μελέτες που βασίζονται σε αναφερόμενα από τους συμμετέχοντες δεδομένα διατροφής.

Παραδείγματα Κώδικα

Python: Αναζήτηση Τροφίμου και Λήψη Λεπτομερειών Διατροφής

import requests

API_KEY = "ntr_live_your_key_here"
BASE_URL = "https://api.nutrola.com/v1"

headers = {
    "Authorization": f"Bearer {API_KEY}"
}

# Αναζήτηση ενός τροφίμου
search_response = requests.get(
    f"{BASE_URL}/foods/search",
    headers=headers,
    params={"q": "chicken breast grilled", "per_page": 3}
)

results = search_response.json()["data"]["results"]

for food in results:
    print(f"{food['name']} - {food['nutrition_per_100g']['calories']} cal/100g")

# Λήψη πλήρων λεπτομερειών για το πρώτο αποτέλεσμα
food_id = results[0]["id"]
detail_response = requests.get(
    f"{BASE_URL}/foods/{food_id}",
    headers=headers
)

food_detail = detail_response.json()["data"]
nutrition = food_detail["nutrition_per_100g"]

print(f"\n{food_detail['name']}")
print(f"Θερμίδες: {nutrition['calories']}")
print(f"Πρωτεΐνη: {nutrition['protein']}g")
print(f"Υδατάνθρακες: {nutrition['carbohydrates']}g")
print(f"Λίπος: {nutrition['fat']}g")
print(f"Μεγέθη μερίδας: {food_detail['serving_sizes']}")

JavaScript: Ενσωμάτωση Σαρωτή Barcode

const API_KEY = "ntr_live_your_key_here";
const BASE_URL = "https://api.nutrola.com/v1";

async function lookupBarcode(barcode) {
  const response = await fetch(
    `${BASE_URL}/barcodes/${barcode}`,
    {
      headers: {
        "Authorization": `Bearer ${API_KEY}`
      }
    }
  );

  if (!response.ok) {
    if (response.status === 404) {
      console.log("Το προϊόν δεν βρέθηκε στη βάση δεδομένων");
      return null;
    }
    throw new Error(`Σφάλμα API: ${response.status}`);
  }

  const data = await response.json();
  return data.data;
}

// Παράδειγμα χρήσης
const product = await lookupBarcode("0049000006346");

if (product) {
  const serving = product.default_serving;
  const factor = serving.grams / 100;

  console.log(`${product.name} (${product.brand})`);
  console.log(`Ανά ${serving.description}:`);
  console.log(`  Θερμίδες: ${Math.round(product.nutrition_per_100g.calories * factor)}`);
  console.log(`  Πρωτεΐνη: ${(product.nutrition_per_100g.protein * factor).toFixed(1)}g`);
  console.log(`  Υδατάνθρακες: ${(product.nutrition_per_100g.carbohydrates * factor).toFixed(1)}g`);
  console.log(`  Λίπος: ${(product.nutrition_per_100g.fat * factor).toFixed(1)}g`);
}

Swift: Δημιουργία Πεδίο Αυτόματης Συμπλήρωσης

import Foundation

class NutrolaAPI {
    private let apiKey: String
    private let baseURL = "https://api.nutrola.com/v1"

    init(apiKey: String) {
        self.apiKey = apiKey
    }

    func autocomplete(query: String, limit: Int = 5) async throws -> [FoodSuggestion] {
        guard query.count >= 2 else { return [] }

        var components = URLComponents(string: "\(baseURL)/foods/autocomplete")!
        components.queryItems = [
            URLQueryItem(name: "q", value: query),
            URLQueryItem(name: "limit", value: String(limit))
        ]

        var request = URLRequest(url: components.url!)
        request.setValue("Bearer \(apiKey)", forHTTPHeaderField: "Authorization")

        let (data, _) = try await URLSession.shared.data(for: request)
        let response = try JSONDecoder().decode(AutocompleteResponse.self, from: data)
        return response.data.suggestions
    }
}

struct FoodSuggestion: Codable {
    let id: String
    let name: String
    let brand: String?
    let category: String
}

struct AutocompleteResponse: Codable {
    let status: String
    let data: AutocompleteData
}

struct AutocompleteData: Codable {
    let suggestions: [FoodSuggestion]
}

Καλύτερες Πρακτικές Διαχείρισης Σφαλμάτων

Το API χρησιμοποιεί τυπικούς κωδικούς κατάστασης HTTP:

Κωδικός Κατάστασης Σημασία Συνηθισμένος Λόγος
200 Επιτυχία Η αίτηση ολοκληρώθηκε κανονικά
400 Κακή Αίτηση Λείπει απαιτούμενη παράμετρος ή μη έγκυρη τιμή
401 Μη Εξουσιοδοτημένο Μη έγκυρο ή λείπον API key
403 Απαγορευμένο Το API key δεν έχει τον απαιτούμενο τομέα
404 Δεν Βρέθηκε Το ID τροφίμου ή το barcode δεν είναι στη βάση δεδομένων
429 Περιορισμός Ρυθμού Πάρα πολλές αιτήσεις; Ελέγξτε τις κεφαλίδες περιορισμού ρυθμού
500 Σφάλμα Διακομιστή Εσωτερικό σφάλμα; Δοκιμάστε ξανά με εκθετική αναμονή

Όταν λάβετε μια απόκριση 429, η κεφαλίδα Retry-After σας λέει πόσες δευτερόλεπτα να περιμένετε πριν δοκιμάσετε ξανά. Η εφαρμογή εκθετικής αναμονής για τις απαντήσεις 429 και 500 συνιστάται έντονα για παραγωγικές εφαρμογές.

Φρεσκάδα Δεδομένων και Ενημερώσεις

Η βάση δεδομένων της Nutrola ενημερώνεται συνεχώς. Οι καταχωρήσεις επώνυμων προϊόντων ανανεώνονται όταν οι κατασκευαστές αναφέρουν αλλαγές, συνήθως εντός 48 ωρών. Οι καταχωρήσεις κυβερνητικών βάσεων δεδομένων συγχρονίζονται τριμηνιαία όταν δημοσιεύονται νέες εκδόσεις.

Εάν η εφαρμογή σας αποθηκεύει προσωρινά τις απαντήσεις API (που συνιστούμε για απόδοση), προτείνουμε μια TTL cache 24 ωρών για τις απαντήσεις λεπτομερειών τροφίμων και 1 ώρα για τα αποτελέσματα αναζήτησης. Το πεδίο last_verified στις απαντήσεις λεπτομερειών τροφίμων σας λέει πότε η καταχώρηση επιβεβαιώθηκε τελευταία ως ακριβής.

Για πελάτες επιχειρήσεων, προσφέρουμε ειδοποιήσεις webhook όταν ενημερώνονται οι καταχωρήσεις τροφίμων, έτσι ώστε η εφαρμογή σας να μπορεί να ακυρώσει τα αποθηκευμένα δεδομένα προληπτικά αντί να περιμένει να λήξει η TTL cache.

Ξεκινώντας

  1. Εγγραφείτε στο developer.nutrola.com — διαρκεί λιγότερο από ένα λεπτό
  2. Δημιουργήστε ένα API key με τους τομείς που χρειάζεστε
  3. Κάντε την πρώτη σας αίτηση χρησιμοποιώντας τα παραδείγματα curl παραπάνω
  4. Εξερευνήστε τα διαδραστικά έγγραφα στο developer.nutrola.com/docs όπου μπορείτε να δοκιμάσετε endpoints απευθείας στον περιηγητή σας
  5. Εγγραφείτε στην κοινότητα προγραμματιστών στον διακομιστή Discord μας για υποστήριξη, αιτήματα χαρακτηριστικών και να δείτε τι χτίζουν άλλοι προγραμματιστές

Αν έχετε ερωτήσεις, αντιμετωπίζετε προβλήματα ή θέλετε να συζητήσετε μια επιχείρηση ενσωμάτωσης, επικοινωνήστε με την ομάδα σχέσεων προγραμματιστών μας στο api@nutrola.com.

Συχνές Ερωτήσεις

Είναι το Nutrola API δωρεάν στη χρήση;

Ναι, υπάρχει ένα δωρεάν επίπεδο που περιλαμβάνει 500 αιτήσεις ανά ημέρα. Αυτό είναι κατάλληλο για ανάπτυξη, δοκιμές και μικρές εφαρμογές. Για παραγωγικές εφαρμογές με υψηλότερη κίνηση, το επίπεδο Ανάπτυξης ξεκινά από $49 το μήνα με 25,000 καθημερινές αιτήσεις. Διαθέσιμα σχέδια επιχειρήσεων με προσαρμοσμένα όρια για περιπτώσεις υψηλής κίνησης.

Ποιες μορφές δεδομένων υποστηρίζει το API;

Το API χρησιμοποιεί αποκλειστικά JSON για αιτήματα και απαντήσεις. Όλα τα endpoints δέχονται τυπικές παραμέτρους ερωτήματος για αιτήματα GET και σώματα αιτήματος JSON για αιτήματα POST. Η κωδικοποίηση απάντησης είναι UTF-8, που χειρίζεται σωστά τα ονόματα τροφίμων σε όλες τις υποστηριζόμενες γλώσσες.

Πόσο ακριβή είναι τα δεδομένα διατροφής που παρέχονται από το API;

Κάθε καταχώρηση στη βάση δεδομένων Nutrola περνάει από μια πολυεπίπεδη διαδικασία επαλήθευσης που περιλαμβάνει επικύρωση πηγών κυβερνητικών δεδομένων, διασταύρωση δεδομένων κατασκευαστών, στατιστικό έλεγχο μέσω AI και ανθρώπινη εμπειρογνωμοσύνη. Το πρότυπο ακρίβειάς μας είναι 97.4% σε σύγκριση με εργαστηριακή ανάλυση, σε σύγκριση με μέσο όρο της βιομηχανίας 70-85% για βάσεις δεδομένων που βασίζονται σε πλήθος. Κάθε καταχώρηση τροφίμου περιλαμβάνει ένα πεδίο confidence_score που υποδεικνύει το επίπεδο σιγουριάς μας.

Μπορώ να χρησιμοποιήσω το API για να δημιουργήσω ένα εμπορικό προϊόν;

Ναι. Το API έχει σχεδιαστεί για εμπορική χρήση. Το δωρεάν επίπεδο μπορεί να χρησιμοποιηθεί για εμπορικά προϊόντα εντός των ορίων του. Τα σχέδια Ανάπτυξης και Επιχειρήσεων περιλαμβάνουν δικαιώματα εμπορικής χρήσης χωρίς περιορισμούς στον τύπο της εφαρμογής. Αναθεωρήστε τους όρους υπηρεσίας στο developer.nutrola.com για πλήρεις λεπτομέρειες.

Υποστηρίζει το API τρόφιμα εκτός Ηνωμένων Πολιτειών;

Ναι. Η βάση δεδομένων καλύπτει επώνυμα προϊόντα από 47 χώρες και γενικά τρόφιμα από πάνω από 120 κουζίνες. Χρησιμοποιήστε την παράμετρο country στα endpoints αναζήτησης για να δώσετε προτεραιότητα στα αποτελέσματα από μια συγκεκριμένη αγορά. Οι αναζητήσεις barcode αντιστοιχούν αυτόματα το προϊόν στη σωστή περιφερειακή σύνθεση.

Πώς να χειριστώ τρόφιμα που δεν είναι στη βάση δεδομένων;

Εάν μια αναζήτηση barcode επιστρέψει 404, μπορείτε να επιστρέψετε σε μια αναζήτηση κειμένου χρησιμοποιώντας το όνομα του προϊόντος. Εάν καμία προσέγγιση δεν βρει το τρόφιμο, μπορείτε να το υποβάλετε για προσθήκη μέσω της πύλης προγραμματιστών. Τα τρόφιμα που υποβάλλονται από συνεργάτες API προτεραιοποιούνται για επαλήθευση και συνήθως προστίθενται εντός 72 ωρών. Οι πελάτες επιχειρήσεων μπορούν να ζητήσουν μαζικές προσθήκες για μεγάλες καταλόγους προϊόντων.

Υπάρχουν SDK ή βιβλιοθήκες πελάτη διαθέσιμες;

Παρέχουμε επίσημες βιβλιοθήκες πελάτη για Python (μέσω pip: pip install nutrola), JavaScript/TypeScript (μέσω npm: npm install @nutrola/api) και Swift (μέσω Swift Package Manager). Αυτές οι βιβλιοθήκες χειρίζονται την αυθεντικοποίηση, τον περιορισμό ρυθμού, τις επαναλήψεις και την ανάλυση απαντήσεων. Διαθέσιμες είναι και βιβλιοθήκες που συντηρούνται από την κοινότητα για Go, Ruby και PHP.

Έτοιμοι να Μεταμορφώσετε την Παρακολούθηση της Διατροφής σας;

Εγγραφείτε σε χιλιάδες που έχουν μεταμορφώσει το ταξίδι της υγείας τους με το Nutrola!