Skip to content

Nutrition API

Photo in, macros out. Same user record as the wearable data.

A food recognition API for apps that already show sleep, HRV and workouts. Log a meal from a photo or a form, get calories and macros back, and read intake against burn from the wearable the user already connected.

A plate of food with a soft data outline over each item

1

request per meal photo

7

values per item: kcal, protein, carbs, fat, fibre, sugar, sodium

≤3

clarifying questions when unsure, never a guess

3

users on the free tier, manual logs unlimited

How it works

Three endpoints, one user record

Nutrition is not a separate product with its own user model. The user ID you already use for wearable data is the one you log meals against.

Log from a photo

POST the image. A vision model recognises the dishes, estimates portions and returns calories, macros, fibre, sugar and sodium per item with a quantity uncertainty. Genuine ambiguity comes back as a short question with answer options, not a wrong number.

Log manually

A form-based log for packaged foods, recipes and corrections. Unlimited on every tier, including free.

Read intake against burn

The summary endpoint joins the day's logged calories with active and resting energy from the user's connected wearable. One call, one answer.

log a meal + read energy balance
# 1. Log a meal from a photo
curl -X POST https://wearlink.io/api/v1/nutrition/log/image \
  -H "X-WearLink-API-Key: $WEARLINK_KEY" \
  -F "user_id=usr_01J9X…" \
  -F "image=@lunch.jpg"

# → 201
{
  "log_id": "nlg_01JA…",
  "items": [
    { "dish_name": "Chicken biryani",
      "quantity_grams": 350, "quantity_uncertainty": 60,
      "calories_kcal": 620, "protein_g": 32, "carbs_g": 78, "fat_g": 18,
      "fiber_g": 3, "sugar_g": 4, "sodium_mg": 890,
      "clarifying_questions": null },
    { "dish_name": "Raita",
      "quantity_grams": 100, "quantity_uncertainty": 30,
      "calories_kcal": 70, "protein_g": 3, "carbs_g": 5, "fat_g": 4,
      "fiber_g": 0, "sugar_g": 4, "sodium_mg": 210,
      "clarifying_questions": null }
  ]
}

# 2. Same user, same day: intake vs burn
curl https://wearlink.io/api/v1/nutrition/summary?user_id=usr_01J9X…&date=2026-09-02 \
  -H "X-WearLink-API-Key: $WEARLINK_KEY"

Built for real plates

Recognition that knows a thali from a tray

Most food-vision models are trained on US-centric databases. Ours is curated for Indian and South Asian dishes alongside Western ones, because that is where our users eat.

  • Multi-item plates: each dish on the plate is a separate line with its own macros
  • Indian and South Asian dishes recognised by name: dal, dosa, biryani, paneer, roti, idli, sambar, thali
  • Quantity in grams with an uncertainty range on every item, editable by the user
  • EXIF metadata, including GPS, stripped before the photo is stored
  • A review queue so your team can approve, correct or reject recognitions before they count
  • Per-user export and deletion cover nutrition logs and photos, the same as wearable data

Plans

Manual logs everywhere, photo recognition on paid tiers

Photo recognition costs us inference per image, so it is metered per day on the paid tiers. Nothing else about nutrition is metered.

Hobby

Free

Unlimited manual logs and energy balance. No photo recognition.

Developer

500 / day

Photo logs per day, plus everything on Hobby. $99 a month flat.

Scale

5,000 / day

Photo logs per day for products with real user volume. $399 a month flat.

Enterprise

Unlimited

Custom quotas, dedicated infrastructure and a HIPAA BAA on request.

Full tier comparison on the pricing page. Endpoint reference in the docs.

FAQ

Frequently asked questions

What does the food recognition API return?
A list of recognised items for the photo, each with a dish name, an estimated quantity in grams with an uncertainty range, and calories, protein, carbohydrates, fat, fibre, sugar and sodium. When the model is unsure it attaches up to three short clarifying questions with answer options instead of guessing.
Is photo recognition on the free tier?
No. The free tier includes unlimited manual nutrition logs and the energy-balance endpoint. Photo recognition is on Developer (500 photo logs a day) and Scale (5,000 a day); Enterprise is unlimited.
Which cuisines does it recognise?
Western dishes and a curated set of Indian and South Asian dishes — a thali, a dosa or a biryani are recognised as what they are rather than mapped to the nearest Western entry. Coverage is stated honestly: unusual regional dishes may come back as a clarifying question.
What happens to the photo?
The EXIF block, including GPS, is stripped before the image is stored. Photos are kept for the review workflow and can be deleted per user through the same deletion endpoint that covers wearable data.
How does energy balance work?
The summary endpoint combines calories logged (photo and manual) with calories burned from the connected wearable for the same user and day, so calories-in versus calories-out comes from one record rather than two vendors.

Connect your first wearable today

Free for up to 3 connected users. No credit card. Your first API key is issued the moment you sign up.