Read what your users already log.
Your users are already logging meals somewhere. Sahha reads 40 nutrition fields out of 22 connected apps, from calories and macros through to selenium and iodine, normalized to one schema. No food logging to build and no nutrient database to license.
Free for 30 days · No credit card
- 22
- connected sources
- 40
- nutrition fields
- 27
- vitamins and minerals
- Daily
- per-metric rollup
-
Data logsEvery entry, as it is logged
mealssnackswater06:00–22:00
Individual entries streamed by webhook as they are logged, each naming the app it came from.
-
BiomarkersForty fields, one clean day
energy_intake2,140kcalLast 7 days
- protein_intake
- 128g
- fiber_intake
- 31g
- sodium_intake
- 2,310mg
One value per nutrient per day, in a fixed unit, whichever app the entries came from.
-
TagsThe context a food log misses
TagsAugust 2026MTWTFSS10111213141516Fri, Aug 14
fasting_windowstate16_hourfrom your appPost protocols, supplements or a coaching plan and they sit beside the intake they explain. Reserved tags such as appetite_changes arrive on their own.
What you do not have to build.
-
- MyFitnessPalsame day
- Cronometersame day
- Lose Itsame day
protein_intake128gNo logging screen, no database licence
Food logging is a product in itself: a search box, a barcode scanner, a nutrient database to license and keep current, and a user willing to do it three times a day. Sahha returns the finished daily total from the app they already chose, so none of that is yours to build or maintain.
-
- Vitamins and minerals
- 27
- Energy, macros, water
- 13
Micronutrients, not just macros
Calories and the big four are table stakes. Sahha returns 27 vitamins and minerals as their own fields alongside them, so a product that cares about iron, folate or sodium reads the number rather than inferring it from a meal name.
-
22
food and hydration apps read through one integration
You do not have to pick the winning app
Your users are scattered across twenty food and hydration apps and none of them is going to switch for you. Integrating one means missing everyone on the others; Sahha reads all of them through a single connection, so the app someone prefers stops being your problem.
The apps your users already log in.
Most entries arrive through the phone platforms
-
Apple Health 19 nutrition sources Food logging apps write their totals to Apple Health, and Sahha reads them with one permission prompt. -
Health Connect 14 nutrition sources The same on Android, through Health Connect, with no per-app integration work.
Every food and hydration logger Sahha reads, on one schema
MyFitnessPal
Cronometer
Lose It!
YAZIO
Lifesum
FatSecret
MacroFactor
Carb Manager
MyNetDiary
My Macros+
Eat This Much
Carbon Diet Coach
Snaq
HealthifyMe
asken
WaterMinder
Hydro Coach
WaterLlama
Plant Nanny
LARQ 22 sources deliver nutrition data. Coverage per field depends on what the logging app records: every one supplies calories and macros, fewer carry the full micronutrient set.
Browse all integrationsEvery endpoint, payload and field.
Energy, protein, carbohydrate, the five fat breakdowns, cholesterol, sugar, fiber, water and caffeine. One value per nutrient per day, in a fixed unit.
{
"id": "a91f7c04-3d62-4e18-b5a7-0c93e2d18f56",
"type": "protein_intake",
"category": "nutrition",
"value": "128",
"valueType": "double",
"unit": "gram",
"aggregation": "total",
"periodicity": "daily",
"startDateTime": "2026-08-11T00:00:00+12:00",
"endDateTime": "2026-08-11T23:59:59+12:00",
"createdAtUtc": "2026-08-12T06:10:00Z"
} Macronutrients and intake 13
| Field | Description | Unit |
|---|---|---|
| energy_intake | Total energy consumed | kcal |
| protein_intake | Total protein consumed | gram |
| carbohydrate_intake | Total carbohydrate consumed | gram |
| fat_intake | Total dietary fat consumed | gram |
| fat_saturated_intake | Saturated fat consumed | gram |
| fat_monounsaturated_intake | Monounsaturated fat consumed | gram |
| fat_polyunsaturated_intake | Polyunsaturated fat consumed | gram |
| fat_trans_intake | Trans fat consumed | gram |
| cholesterol_intake | Cholesterol consumed | milligram |
| sugar_intake | Total sugar consumed | gram |
| fiber_intake | Dietary fiber consumed | gram |
| water_intake | Total water consumed | liter |
| caffeine_intake | Total caffeine consumed | milligram |
Coverage depends on the logging app. Every connected source supplies energy and the core macros; the fat breakdowns and caffeine depend on what the user’s app records.
The full vitamin and mineral set, returned as its own fields rather than estimated from a meal name. This is the layer most nutrition integrations do not expose at all.
{
"id": "6b28d15e-9a47-4c30-8ef2-71b4a0c635d9",
"type": "iron_intake",
"category": "nutrition",
"value": "14.2",
"valueType": "double",
"unit": "milligram",
"aggregation": "total",
"periodicity": "daily",
"startDateTime": "2026-08-11T00:00:00+12:00",
"endDateTime": "2026-08-11T23:59:59+12:00",
"createdAtUtc": "2026-08-12T06:10:00Z"
} Vitamins and minerals 27
| Field | Nutrient | Unit |
|---|---|---|
| vitamin_a_intake | Vitamin A | microgram |
| vitamin_c_intake | Vitamin C | milligram |
| vitamin_d_intake | Vitamin D | microgram |
| vitamin_e_intake | Vitamin E | milligram |
| vitamin_k_intake | Vitamin K | microgram |
| vitamin_b6_intake | Vitamin B6 | milligram |
| vitamin_b12_intake | Vitamin B12 | microgram |
| thiamin_intake | Thiamin, B1 | milligram |
| riboflavin_intake | Riboflavin, B2 | milligram |
| niacin_intake | Niacin, B3 | milligram |
| pantothenic_acid_intake | Pantothenic acid, B5 | milligram |
| biotin_intake | Biotin, B7 | microgram |
| folate_intake | Folate, B9 | microgram |
| calcium_intake | Calcium | milligram |
| iron_intake | Iron | milligram |
| magnesium_intake | Magnesium | milligram |
| phosphorus_intake | Phosphorus | milligram |
| potassium_intake | Potassium | milligram |
| sodium_intake | Sodium | milligram |
| zinc_intake | Zinc | milligram |
| chloride_intake | Chloride | milligram |
| copper_intake | Copper | milligram |
| manganese_intake | Manganese | milligram |
| chromium_intake | Chromium | microgram |
| molybdenum_intake | Molybdenum | microgram |
| selenium_intake | Selenium | microgram |
| iodine_intake | Iodine | microgram |
Micronutrient coverage is the clearest difference between logging apps. Cronometer records most of this set; a calorie-first tracker will populate few of these fields.
Individual entries as they are logged rather than the daily rollup, each naming the app that recorded it. This is the one layer delivered by webhook only.
[
{
"logType": "nutrition",
"dataType": "energy_intake",
"externalId": "ext-908",
"receivedAtUtc": "2026-08-11T12:41:00+00:00",
"dataLogs": [
{
"id": "b7104f2c-5e83-4a19-9d6b-3f21c8e07a45",
"parentId": null,
"value": 612,
"unit": "kcal",
"source": "MyFitnessPal",
"recordingMethod": "RECORDING_METHOD_MANUAL_ENTRY",
"startDateTime": "2026-08-11T12:30:00+12:00",
"endDateTime": "2026-08-11T12:30:00+12:00",
"additionalProperties": {}
}
]
}
] The layer that runs both ways. Reserved tags such as appetite_changes arrive on their own when a user logs one in their phone’s health app; fasting windows, supplement stacks and coaching plans you post yourself.
{
"type": "state",
"category": "nutrition",
"name": "fasting_window",
"value": "16_hour",
"source": "acme.nutritionapp",
"startDateTime": "2026-08-14T20:00:00+12:00",
"endDateTime": "2026-08-15T12:00:00+12:00",
"additionalProperties": {
"protocol": "16_8"
}
} - REST API
Pull any of it on demand, per profile, whenever your app asks.
- Webhooks
Or have it pushed to your endpoint as it arrives, so you never have to poll for it.
- Mobile SDK
Read straight from the device on iOS and Android, with no round trip.
What reading an existing food log lets you ship.
Skip the food logger
Ship nutrition features without building search, barcode scanning or a nutrient database, and without asking a user to log their meals twice.
Browse integrationsRecommend on real gaps
A supplement or coaching recommendation grounded in a user’s actual iron, folate or fiber intake beats one grounded in a signup questionnaire.
Supplement brandsPair intake with output
Energy in against energy burned, on one profile and one timeline, which is the whole calculation a weight management product runs on.
Weight managementExplain a bad night
Caffeine at 4pm and a late heavy meal are the obvious suspects behind poor sleep. Both are fields, sitting on the same profile as the sleep score.
Sleep APITrack hydration properly
Water intake is its own field, read from dedicated hydration apps as well as general food loggers, rather than inferred from anything.
Sahha BiomarkersMeasure a protocol
Tag a fasting window, a cut or a diet phase and compare intake and body metrics inside it against everything outside it.
Sahha TagsThree ways to get nutrition data.
| Sahha Nutrition API | Food database APIs | Build it yourself | |
|---|---|---|---|
| Food and recipe lookup | |||
| What a user actually ate | If they log it | ||
| Logging UI to build | None | Yours | Yours |
| Micronutrient fields | 27 | Per food | |
| Normalized across apps | On you | ||
| Time to ship | Days | Weeks | Months |
The first row is the honest one: Sahha has no food, recipe or barcode database and cannot tell you what is in an apple. A food database answers "what is in this food"; Sahha answers "what did this person eat". Teams building a logging experience from scratch usually need both, and FatSecret is one of the sources Sahha reads from.
Questions that come up before you integrate.
Is this a food or recipe database?
No. Sahha has no food catalogue, no barcode lookup and no recipe data, and cannot tell you what is in a given food. It reads what a user has already logged in an app that does have those things, and returns it as normalized daily nutrition fields. If you need lookup, a food database API is the right tool and the two work together.
Is there a nutrition score?
No, and that is deliberate. Sahha scores sleep, activity, readiness, mental wellbeing and overall wellbeing, all from passively collected signal. Nutrition data is self-reported, so it is only as complete as what someone remembered to log. Scoring it would hide those gaps behind a number rather than show them. You get the fields and decide what they mean for your product.
Where does the data actually come from?
From the food and hydration apps your users already use, including MyFitnessPal, Cronometer, Lose It, YAZIO, Lifesum, MacroFactor, Carb Manager, FatSecret, My Macros+ and WaterMinder. Most write to Apple Health or Health Connect, which Sahha reads with a single permission prompt, so there is no per-app integration work.
Do I get micronutrients or just calories and macros?
Both, where the logging app records them. Alongside energy, protein, carbohydrate, the fat breakdowns, sugar, fiber, water and caffeine, Sahha returns 27 vitamins and minerals as their own fields. Coverage varies by app: Cronometer records most of the micronutrient set, while a calorie-first tracker will populate few of those fields.
What if a user logs in more than one app?
Sahha reconciles them into one value per nutrient per day, so a meal entered twice is not counted twice. The raw entries from every source stay available, so you can always see which reading fed the daily number.
What happens on days a user logs nothing?
You get nothing for those days, and that is the honest answer. Unlike sleep or activity, nutrition cannot be inferred from passive signal: if nobody logged a meal, there is no meal. Design for gaps rather than assuming a continuous series.
Is Sahha HIPAA and GDPR compliant?
Yes, and SOC 2. Health data is handled under all three, and the end-user consent screens are configurable to carry your brand rather than Sahha’s.
Add nutrition data in days.
One integration for every food logger your users already use, normalized to one schema with no logging screen of your own.
Free for 30 days · No credit card
- 40 nutrition fields, macros through micronutrients
- Read from the apps they already log in, no new UI
- One schema and fixed units across every source
- HIPAA, GDPR and SOC 2, with your brand on the consent screen