Category Scores

Retrieve functional wellness category scores and marker contribution context for User-facing dashboards.

Category Scores

Category Scores summarize a User's biomarker and physiomarker data into functional wellness categories. They help Users understand how groups of related markers connect to areas they can recognize in daily life, such as sleep, recovery, heart health, cognition, and metabolism.

In the API Reference, this surface appears under Biomarker Categories. Use the public marker-category reference endpoint to understand the available categories, then use the customer-level category-score endpoint to retrieve score state and contribution details for a User's results.

Connect to daily life

Present marker data through categories that Users can understand and monitor as they change habits.

Compare tests

Show high-level changes between results so Users can see movement across functional areas.

Explain contributors

Use contribution details to show which markers helped determine each category score.

Where This Fits

Category Scores are available after the User has result data that can be grouped into health categories. This page focuses on retrieving and presenting the category-level output.

What Category Scores Are

Category Scores provide a high-level view of specific functional wellness areas. Instead of asking Users to interpret individual biomarkers in isolation, Category Scores group related biomarkers and physiomarkers into categories that are easier to connect to a User's lived experience.

This helps turn a long list of lab values into a smaller set of scoreable areas a User can understand, compare, and act on. A single biomarker can contribute to more than one category, so category scores should be treated as a separate output layer rather than a one-to-one grouping of markers.

The category reference endpoint returns the current category names, applicability, and descriptions. The current functional wellness categories are:

CategoryReference tagApplies toDescription
MetabolismMETABOLISMAllMetabolism reflects the body processes that consume and use energy for the growth, repair, and maintenance of cells, tissues, and organs. Metabolic biomarkers reflect the efficiency of this process.
Hormone BalanceHORMONE_BALANCEAllHormones are chemical messengers that signal the start and stop of biological processes. Hormone balance can reflect life stage, response to emotional and physical stress, sleep quality, and energy levels.
FitnessFITNESS_MALE, FITNESS_FEMALEMale or femaleFitness reflects the body's ability to perform physical activity. Fitness-related biomarkers reflect energy levels, response to stress, cellular repair efficiency, and overall muscle health.
RecoveryRECOVERYAllRecovery biomarkers provide insight into the body's response to exercise or physical activity across different intensities and durations.
EnduranceENDURANCEAllEndurance capacity indicates the ability to sustain cardiovascular and muscular activities. Endurance biomarkers reflect aerobic capacity, energy utilization, oxygen transport, and stamina.
InflammationINFLAMMATIONAllInflammation describes the body's ability to protect and respond to foreign substances, including pathogens, infections, viruses, and stressors.
SleepSLEEPAllSleep supports repair processes and memory consolidation. Blood biomarker levels can affect, and be affected by, the ability to fall asleep and achieve good quality sleep.
Heart HealthHEART_HEALTHAllHeart Health reflects the cardiovascular system, including arteries, vessels, and related systems. Blood biomarkers of heart health can indicate the body's ability to transport and clear cholesterol.
CognitionCOGNITIONAllCognition reflects brain and nerve function, including reaction time and mood. Cognitive biomarkers can indicate the ability to focus, process information, and consolidate memories.
Gut HealthGUT_HEALTHAllGut Health is characterized by the abundance and diversity of beneficial bacteria in the gut microbiome. The composition of the gut affects many body systems and processes, including cognition and inflammation.

Category Scores are also useful across tests. Because the API returns scores by result, your application can show whether a functional area improved, declined, or stayed similar between tests. This gives Users a higher-level way to understand the impact of recommendations or habit changes without losing the marker-level detail underneath.

Use Category Scores as a dashboard-level signal. When a User needs more explanation, use the returned contribution fields and marker-level experiences to show which biomarkers or physiomarkers influenced the category.

Category Scores are displayed as numeric scores with a maximum of 100. Category reference ranges map scores to descriptive states such as OPTIMAL, GOOD, FAIR, and NEEDS_WORK.

Category Score presentation can combine several signals depending on the experience you are building:

Display elementHow it helps
Numeric scoreGives the User a concrete metric they can track over time and use as a behavior-change anchor.
State or colorProvides at-a-glance status so the User can quickly see which categories are doing well and which may need attention.
Marker contribution viewShows which biomarkers or physiomarkers are contributing positively or negatively to the category score.
Category-level action pathHelps Users target interventions or self-select recommendations tied to the category they want to improve, such as sleep, recovery, or cognition.

Data Needed For This Output

DataRequired?How InsideTracker receives itWhy it mattersIf it is missing
Linked InsideTracker customer record and customer-level tokenRequiredCreate the linked customer record for the User and store the returned credentials.The category-score endpoint is a customer-level API.Your application cannot retrieve User-specific category scores.
Published blood result dataRequiredAdd Blood Result, Blood Result Upload, OCR, or Lab Connect.Category scores are returned by result and include the result date and result ID.The User may have no category-score results to display.
Category reference dataRecommended for displayRetrieve with GET /api/public/references/marker-categories.Reference data maps category abbreviations to display names, descriptions, score ranges, and marker membership.Your application may only be able to show raw category abbreviations and returned score fields.
Connected physio dataConditionalConnecting Wearable Devices and related physio data workflows.Some categories can include physiomarker contributions such as average sleep metrics, resting heart rate, steps, or VO2 max. Average physio inputs in Category Scores are monthly averages.Category contribution details or score state may reflect missing, stale, or unused source data when those fields are returned.
Biological sex or gender contextConditionalCreating Users and Adding Profile Data.Some category inputs differ by male/female grouping, and category reference data includes forGender applicability.Your application may need to filter or label category display based on returned applicability fields.
Recent marker dataRequired for current scoresPublished blood results and connected physio data.Category Scores are intended to reflect recent marker values.Missing or stale inputs can prevent a category from being determined or can change which contribution fields are returned.

The customer-level category-score endpoint requires a customer-level access token. Requests made without customer-level authentication will fail authorization.

Category Input Requirements

Each category has required markers and additional markers that can contribute when available. Required markers are inputs the category needs before the score can be determined. Average physiomarker inputs listed in this table are monthly averages. Use this table to understand input coverage, then retrieve the score, state, and contribution details from the API.

CategoryRequired markersAdditional markers that can contribute
MetabolismGlucose, HbA1c, LDL, HDL, Triglycerides, ALTTotal cholesterol, ApoB, Insulin, TSH, Average steps
Hormone Balance (male)SHBG, Testosterone, Cortisol, Vitamin D, CalciumFree testosterone, Magnesium, Red blood cell magnesium, Insulin, TSH, Progesterone, Estradiol, Average resting heart rate
Hormone Balance (female)SHBG, Testosterone, DHEAS, Cortisol, Vitamin D, CalciumMagnesium, Red blood cell magnesium, Insulin, TSH, Progesterone, Estradiol, Average resting heart rate
Fitness (male)Vitamin B12, SHBG, Testosterone, CortisolFolate, Free testosterone, Average steps
Fitness (female)Vitamin B12, Testosterone, DHEAS, CortisolFolate, SHBG, Average steps
RecoveryMagnesium, Red blood cell magnesium, ALT, AST, GGT, hsCRP or CRPAlbumin, Creatine Kinase, Sodium, Potassium, Vitamin D, Deep sleep, REM sleep, Sleep duration
EnduranceFerritin, Hemoglobin, Platelets, MPVTIBC, Iron, Transferrin Saturation, RBC, Hematocrit, MCH, MCHC, RDW, MCV, Vitamin B12, VO2max
InflammationhsCRP or CRP, WBC, FerritinNeutrophils, Basophils, Eosinophils, Lymphocytes, Monocytes, Vitamin D
SleepGlucose, HbA1c, hsCRP or CRP, WBC, Magnesium, Red blood cell magnesiumTestosterone, Vitamin D, Cortisol, Insulin, Average sleep duration, Average REM sleep percentage, Average deep sleep percentage, Average resting heart rate
Heart HealthTotal cholesterol, LDL cholesterol, HDL cholesterol, Triglycerides, hsCRP or CRPApoB, TSH, Average resting heart rate, Average VO2 max
CognitionGlucose, HbA1c, Cortisol, FolateVitamin B12, Insulin, Deep sleep, REM sleep, Sleep duration
Gut HealthGlucose, HbA1c, Cortisol, HDL cholesterol, TriglycerideshsCRP or CRP, Deep sleep

Workflow

Use Category Scores in two layers:

  1. Retrieve category reference data.
  2. Retrieve category scores for the User.
  3. Match each returned categoryScores[].abbr to the reference items[].abbr.
  4. Display the score, state, result date, and contribution details when your experience needs explanation.

Get Category Reference Data

Use the public reference endpoint to retrieve the available marker categories.

GET /api/public/references/marker-categories

The response includes an items array. Each category can include:

FieldDescription
abbrCategory abbreviation, such as METABOLISM.
nameDisplay name for the category.
forGenderApplicability value returned by the API, such as all, m, or f.
descriptionCategory description.
rangesScore ranges for category states, including state, from, and to.
bloodMarkerAbbrsBlood marker abbreviations associated with the category.
physioMarkerAbbrsPhysiomarker abbreviations associated with the category.

Use this endpoint instead of hard-coding category names, score ranges, or marker membership.

Get Category Scores

Use the customer-level endpoint to retrieve category scores grouped by result.

GET /api/customer/markers/categories-for-each-result
Authorization: Bearer {customer_access_token}

You can pass forLastResults when your application only needs a limited number of recent results.

GET /api/customer/markers/categories-for-each-result?forLastResults=3
Authorization: Bearer {customer_access_token}

The response includes an items array. Each item represents a result and includes category scores for that result.

{
  "items": [
    {
      "resultId": 19735,
      "testedAt": "2023-04-18T00:00:00-04:00",
      "categoryScores": [
        {
          "abbr": "HORMONE_BALANCE",
          "score": 51,
          "state": "CANNOT_DETERMINE",
          "contributions": [
            {
              "markerType": "blood",
              "markerAbbr": "hsCRP",
              "tested": true,
              "expired": false,
              "used": true,
              "optimizationState": "LOW",
              "score": 2.1
            }
          ]
        }
      ]
    }
  ]
}

Response Fields

FieldDescription
itemsResult-level category score entries.
resultIdIdentifier for the result associated with the category scores.
testedAtDate/time associated with the result.
categoryScoresCategory score entries for the result.
categoryScores[].abbrCategory abbreviation. Match this to category reference data for names and descriptions.
categoryScores[].scoreNumeric category score returned by the API. Category Scores are displayed on a 0-100 scale.
categoryScores[].stateScore state returned by the API. Use returned states and reference ranges instead of inventing labels.
categoryScores[].contributionsMarker-level contribution entries that help explain the category score.

Contribution entries can include marker identity, marker type, whether the marker was tested or used, freshness indicators, optimization state, and contribution score fields. Use these fields for explanatory UI, troubleshooting, or support views when your experience needs to show why a score looks the way it does.

Output Availability

StateWhat it meansApplication handling
Category reference data returnedThe public category catalog is available.Use it to render category names, descriptions, ranges, and marker membership.
Category scores returnedThe User has result-level category scores.Display scores by result date and map category abbreviations to reference data.
No result entries returnedThe User has no category-score results in the requested range.Show an empty state or direct the User to the relevant data onboarding step.
Category state cannot be determinedThe API returned a state such as CANNOT_DETERMINE.Avoid displaying the score as fully resolved. Use contribution fields to explain missing, stale, or unused inputs when available.
Contribution data returnedThe response includes marker-level contribution fields.Use these fields to explain score drivers without recreating the scoring model in your application.
Score ranges returnedCategory reference data includes ranges for score states.Use the returned ranges and states to label scores; do not hard-code thresholds outside the reference data.

Best Practices

Implementation guidance
  • Retrieve category reference data before building category-score display logic.
  • Treat category abbreviations, state values, score ranges, and marker membership as API data.
  • Use numeric scores, states, colors, and contribution details as complementary display layers when your product experience supports them.
  • Show testedAt or the associated result date when comparing category scores over time.
  • Design for categories that cannot be determined for a given result.
  • Remember that one biomarker can contribute to multiple categories.
  • Use contribution fields to explain score context, not to rebuild InsideTracker's scoring model.
  • Keep Category Scores separate from Recommendations, Action Plan, Inner Age, and Optimal Zones in your data model.
  • Use the API Reference for current schemas, optional fields, and response behavior.

Implementation Checklist

  • You have a customer-level access token for the User.
  • The User has published result data that can support category scores.
  • Your application retrieves or stores category reference data for display names, descriptions, ranges, and marker membership.
  • Your UI handles empty result lists and categories that cannot be determined.
  • Your data model can connect category scores to resultId and testedAt.
  • Your display handles contribution fields when they are present.

Related API Reference

  • GET /api/public/references/marker-categories
  • GET /api/customer/markers/categories-for-each-result
  • Optional supporting content: GET /api/public/marker-categories/{categoryAbbr}/extra-information
  • Related topic: Biomarker Reference Data
  • Related topic: Optimal Zones

Did this page help you?