API Documentation

Integrate AI-powered nutrition tracking into your applications. Access comprehensive food recognition, calorie calculation, and nutrition data through our robust API.

99.9% Uptime
50ms Avg Response
24/7 Support

API Documentation

API Overview

Powerful nutrition tracking capabilities for your applications

Food Recognition

AI-powered image recognition to identify foods and extract nutritional information from photos.

  • High accuracy recognition
  • Multiple food items per image
  • Portion size estimation

Nutrition Calculation

Comprehensive nutritional analysis including calories, macros, vitamins, and minerals.

  • Detailed macro breakdown
  • Vitamin & mineral content
  • Custom serving sizes

Food Database

Access to our extensive database of over 500,000 foods with verified nutritional information.

  • 500K+ food items
  • Regular updates
  • Multiple brands

Progress Tracking

Track user nutrition goals, progress, and generate detailed reports and insights.

  • Goal tracking
  • Progress analytics
  • Custom reports

Base URL

https://nutrify-backend.onrender.com/api

Rate Limits

1000 requests per hour per API key

Response Format

All responses are in JSON format

Authentication

Secure API access using API keys

API Key Authentication

All API requests require an API key to be included in the request header.

Request Header
Authorization: Bearer YOUR_API_KEY
Content-Type: application/json
1

Get Your API Key

Sign up for a developer account and generate your API key from the dashboard.

2

Include in Requests

Add your API key to the Authorization header of all API requests.

3

Keep Secure

Never expose your API key in client-side code or public repositories.

Get Your API Key

API Endpoints

Complete reference for all available API endpoints

POST

/food/recognize

Recognize food items from an image and return nutritional information.

Request Body

JSON
{
  "image": "base64_encoded_image",
  "options": {
    "include_nutrition": true,
    "estimate_portion": true
  }
}

Response

JSON
{
  "success": true,
  "foods": [
    {
      "name": "Grilled Chicken Breast",
      "confidence": 0.95,
      "nutrition": {
        "calories": 165,
        "protein": 31,
        "carbs": 0,
        "fat": 3.6
      },
      "portion": {
        "estimated_weight": 100,
        "unit": "grams"
      }
    }
  ]
}
GET

/food/search

Search for foods in our database by name or barcode.

Query Parameters

  • q - Search query (required)
  • limit - Number of results (default: 10)
  • brand - Filter by brand

Example Request

cURL
curl -X GET \
  "https://nutrify-backend.onrender.com/api/food/search?q=apple" \
  -H "Authorization: Bearer YOUR_API_KEY"
POST

/nutrition/calculate

Calculate nutritional information for a list of foods and portions.

Request Body

JSON
{
  "foods": [
    {
      "food_id": "12345",
      "portion": 100,
      "unit": "grams"
    },
    {
      "food_id": "67890",
      "portion": 1,
      "unit": "cup"
    }
  ]
}

SDK Downloads

Official SDKs for popular programming languages

JavaScript/Node.js

Official SDK for JavaScript and Node.js applications.

v2.1.0 45KB

Python

Python SDK for easy integration with Python applications.

v1.8.2 32KB

Java

Java SDK for Android and server-side Java applications.

v1.5.1 78KB

Swift

Swift SDK for iOS and macOS applications.

v1.3.0 56KB

Code Examples

Ready-to-use code examples for common use cases

JavaScript - Food Recognition

const NutrifyAPI = require('nutrify-sdk');

const client = new NutrifyAPI('YOUR_API_KEY');

// Recognize food from image
const result = await client.food.recognize({
  image: 'base64_encoded_image',
  options: {
    include_nutrition: true,
    estimate_portion: true
  }
});

console.log('Recognized foods:', result.foods);

Python - Search Foods

from nutrify import NutrifyAPI

client = NutrifyAPI('YOUR_API_KEY')

# Search for foods
results = client.food.search(
    query='apple',
    limit=5
)

for food in results:
    print(f"{food.name}: {food.calories} calories")

cURL - Calculate Nutrition

curl -X POST \
  "https://nutrify-backend.onrender.com/api/nutrition/calculate" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "foods": [
      {
        "food_id": "12345",
        "portion": 100,
        "unit": "grams"
      }
    ]
  }'

Webhooks

Receive real-time notifications about nutrition events

Available Events

nutrition.goal_achieved Triggered when a user achieves their nutrition goal
food.recognized Triggered when food is successfully recognized
user.progress_updated Triggered when user progress is updated

Setup Webhook

Webhook Payload Example
{
  "event": "nutrition.goal_achieved",
  "timestamp": "2024-12-15T10:30:00Z",
  "data": {
    "user_id": "user_123",
    "goal_type": "calorie_target",
    "achieved_value": 2000,
    "target_value": 2000
  }
}