Free tier: 100 API calls per month

Build Nutrition Apps
with One API

Food photo recognition, barcode scanning, nutrition search, and food logging through one REST API.

curl -X POST https://api.bodify.fit/analyze/photo \
  -H "Authorization: Bearer sk_..." \
  -H "Content-Type: application/json" \
  -d '{ "image_base64": "base64..." }'
3M+Barcode products
15 minUptime checks
Per-orgUsage quotas
Real-timesearch

Everything You Need to
Ship Nutrition Features

Food recognition, barcode lookup, nutrition search, logging and body scanning, all in one REST API.

Photo Analysis

Snap a photo of any meal and our AI identifies ingredients, estimates portion sizes, and returns a complete nutritional breakdown in a single request. Supports JPEG images up to 3MB.

AI-Powered

Barcode Scanning

Scan any packaged food barcode to retrieve product details and nutrition facts. 3M+ products indexed.

3M+ Products

Nutrition Search

Search a comprehensive global nutrition database with rich nutritional data on hundreds of thousands of foods, including macros, vitamins, and minerals.

Comprehensive

Food Logging API

Create, read, update, and delete food log entries programmatically. Track meals, portions, and detailed nutrition data with a simple RESTful interface.

RESTful

Body Scanning

Generate fitted 3D body meshes from anthropometric measurements. Track progress over time with secure, org-scoped storage.

3D MESH

Simple REST API

One REST API with JSON responses. Call it from any language or platform. Documentation and runnable examples included.

JSON

Go from Zero to Shipping
in Three Steps

Three steps to your first request.

1

Get Your API Key

Create a free account. Your API key is issued immediately.

2

Integrate in Minutes

Send one authenticated request. Every endpoint is documented with runnable examples.

3

Launch with Confidence

Scale from prototype to production with per-organization quotas, usage headers on every response, and no overage charges.

Built for responsible scale

How your organization’s data is isolated and protected.

Tenant isolation

Every API key belongs to one organization, and every query is scoped to it. Body-scan records and usage ledgers additionally run under forced PostgreSQL row-level security.

Key handling

Keys are stored as bcrypt hashes with an AES-256-GCM encrypted copy for one-time display. Rotating a key revokes the previous one immediately.

Consent, stored with the data

Body scans are rejected unless an explicit consent flag is set, and the flag is stored with the scan. An organization can erase all of its scan data through the API.

Traceable requests

Every response carries a request ID and rate-limit headers. Errors are tracked centrally, and the API is polled from outside our network every 15 minutes.

Questions,
answered.

Everything you need to make a confident first integration.

How do I get an API key?

Sign up and your key is issued immediately.

Which nutrition data sources do you use?

Curated global nutrition data covering hundreds of thousands of foods, with barcode coverage of 3M+ packaged products. Search, barcode, and logging all in one API.

Is there a free tier?

Yes. The Free plan includes 100 API calls per month.

What image formats are supported?

JPEG only, up to 3MB, sent as a base64 string in image_base64.

How do I integrate?

One REST API with JSON responses and complete documentation. Call it from any HTTP client; no SDK required.

What are the rate limits?

Monthly call caps are 100, 1,000, 10,000, and 100,000 by tier. Enterprise limits can be raised; contact sales for higher volume.

How does billing work?

Usage is metered per organization and resets each billing cycle. Exceeding your monthly quota returns 429 with a Retry-After header. Requests are throttled, never billed as overage.

How is my data protected?

Every request is authenticated with an organization-scoped key, and every query is scoped to that organization. Body-scan records and usage ledgers additionally run under forced PostgreSQL row-level security. API keys are stored as bcrypt hashes with an AES-256-GCM encrypted copy.

Simple, Clean,
Developer-Friendly

One API endpoint for food analysis. Add your API key and start analyzing meals in seconds.

Interactive preview of the meal-analysis console. The response shown is simulated. The live endpoint is POST /analyze/photo.

POST /analyze/photo JPEG ONLY · ≤ 3 MB
meal_2841.jpg · 2.1 MBVIEWPORT
RESPONSE 200
// Run the analysis. The response streams here.
// JPEG only · max 3 MB per image.

Works with Any Language

Our API speaks standard REST with JSON. Use curl, fetch, axios, or any HTTP client in your stack. No SDK required.

View Photo Analysis API Reference

Fitted 3D Meshes,
From Simple Measurements

Send anthropometric measurements and receive a fitted 3D body mesh in return. Track progress over time with secure, org-scoped storage.

curl
# Generate a fitted 3D body mesh
curl -X POST https://api.bodify.fit/body/scan \
  -H "Authorization: Bearer sk_bodify_..." \
  -H "Content-Type: application/json" \
  -d '{
    "height_cm": 175,
    "weight_kg": 70.5,
    "gender": 1,  # 0 = male, 1 = female
    "chest_cm": 92,
    "waist_cm": 74,
    "hips_cm": 96,
    "consent": true
  }'

# Response
{
  "success": true,
  "data": {
    "id": "9c1f4a7e-2b85-4d63-9a10-3e7b5c8d4021",
    "status": "succeeded",
    "model_version": "body-1",
    "mesh": {
      "format": "obj",
      "byte_size": 183442,
      "vertex_count": 12480,
      "face_count": 24960,
      "checksum": "sha256:6f1c…"
    },
    "measurements": {
      "height_cm": 175,
      "weight_kg": 70.5,
      "gender": 1,
      "chest_cm": 92,
      "waist_cm": 74,
      "hips_cm": 96
    },
    "usage": {
      "body_scans_used": 1,
      "body_scans_limit": 5,
      "body_scans_remaining": 4
    }
  }
}

Body Mesh Endpoints

POST /body/scan
Generate a fitted 3D body mesh from anthropometric measurements.

GET /body/mesh/:id
Retrieve a generated mesh by its scan ID.

GET /body/progress
Track measurement history and body-composition progress over time.

Meshes and measurements are stored with secure, organization-scoped isolation.

Consent: the consent flag confirms the data owner's permission to use and store their measurements for mesh generation. Body data is stored organization-scoped. You can delete every scan and mesh for your organization at any time with DELETE /body/scans. See our Privacy Policy for retention details.

gender: accepts the integer 0 (male) or 1 (female) and is used only for mesh proportion modeling.

View Body Scan API Reference

Simple, Transparent
Pay-as-You-Grow

Start free with 100 calls per month. Upgrade when you need more.

Free
$0 / month
For development and testing
  • 100 API calls / month
  • Photo analysis
  • Barcode scanning
  • Community support
Start Free
Pro
$99 / month
For growing businesses
  • 10,000 API calls / month
  • All features
  • Priority support
  • Advanced analytics
Start on Pro
Enterprise
Custom pricing
For large-scale deployments
  • 100,000+ calls / month
  • Dedicated support
  • Custom volume limits
  • Custom integrations
Contact Sales

Food search, photo analysis, barcode scanning, AI chat and body scans all count toward your organization's monthly call quota, which resets each billing cycle. Log writes are not metered. Need more than 100,000 calls per month? Contact sales for custom limits.

Start Building Today

Start with a free API key and ship your first nutrition feature. Your key is issued the moment you sign up.

3M+
Barcode Products
15 min
Uptime Checks
Per-org
Usage Quotas