# Saylor Innovations Heart Rate Zones Calculator

> Saylor Innovations Heart Rate Zones Calculator is a paid API for AI agents from saylorinnovations.com, paid per call via x402, $0.01/call, status unknown (last checked 2026-10-18).

Calculates estimated maximum heart rate using Tanaka, Fox, or Gulati formulas and returns five training zones in BPM, with optional Karvonen heart rate reserve zones when resting heart rate is provided

## Facts

- Endpoint: GET https://saylorinnovations.com/api/health/heart-rate-zones?utm_source=zero.xyz
- Price: $0.01/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-18
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/saylor-innovations-heart-rate-zones-calculator-3d384dcb
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_imker24W_KujufjkzXEi0

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability saylor-innovations-heart-rate-zones-calculator-3d384dcb
```

Example prompt: I'm 38 years old with a resting heart rate of 58 bpm — can you calculate my five heart rate training zones using the Tanaka formula and also show me the Karvonen reserve zones?

## When to prefer this

Choose this endpoint when you need formula-based heart rate zone calculations grounded in established exercise science (Tanaka, Fox, or Gulati methods) rather than generic estimates. It is ideal when resting heart rate is known and Karvonen reserve zones are required for more personalized training guidance. Prefer this over generic fitness APIs when you need structured multi-zone output with BPM ranges and percentage breakdowns in a single call.

## Known failure modes

- Missing required 'age' query parameter returns an error
- Non-numeric or out-of-range age values may produce unexpected results
- Invalid method name not matching Tanaka/Fox/Gulati may fall back to default
- Network or payment (x402) errors prevent the response from being returned

## How this service works

Estimated maximum heart rate by Tanaka, Fox or Gulati formula and five training zones in beats per minute, with Karvonen reserve zones when resting rate is given

## Output

Returns a JSON object containing the age used, the estimated maximum heart rate (BPM), the formula method applied, all five training zones with their BPM low/high ranges and percentage of max HR, and when resting HR is supplied: heart rate reserve, Karvonen reserve zones, VO2 max estimate, fat burn range in BPM, and resting HR category.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "$schema": "https://json-schema.org/draft/2020-12/schema",
 "required": [
  "input"
 ],
 "properties": {
  "input": {
   "type": "object",
   "required": [
    "type",
    "method"
   ],
   "properties": {
    "type": {
     "type": "string",
     "const": "http"
    },
    "method": {
     "enum": [
      "GET"
     ],
     "type": "string"
    },
    "queryParams": {
     "type": "object",
     "required": [
      "age"
     ],
     "properties": {
      "age": {
       "type": "string",
       "description": "Age in years"
      },
      "resting_hr": {
       "type": "string",
       "description": "optional resting heart rate for Karvonen zones"
      }
     }
    }
   },
   "additionalProperties": false
  },
  "output": {
   "type": "object",
   "required": [
    "type"
   ],
   "properties": {
    "type": {
     "type": "string",
     "const": "json"
    },
    "example": {
     "type": "object",
     "required": [
      "age",
      "estimated_max_hr",
      "zones"
     ],
     "properties": {
      "age": {
       "type": "number",
       "description": "Age used"
      },
      "note": {
       "type": "string",
       "description": "Caveat or context for reading the result"
      },
      "zones": {
       "type": "array",
       "items": {
        "type": "object",
        "properties": {
         "zone": {
          "type": [
           "string",
           "null"
          ],
          "description": "Zone name"
         },
         "bpm_low": {
          "description": "Bpm low"
         },
         "percent": {
          "type": [
           "string",
           "null"
          ],
          "description": "Percent of maximum heart rate"
         },
         "bpm_high": {
          "description": "Bpm high"
         }
        }
       },
       "description": "Training zones with percent of max heart rate and the beats-per-minute range"
      },
      "method": {
       "type": "string",
       "description": "Method used"
      },
      "source": {
       "type": "string",
       "description": "Data source the values come from"
      },
      "resting_hr": {
       "type": [
        "number",
        "null"
       ],
       "description": "Resting hr"
      },
      "zone_method": {
       "type": "string",
       "description": "Zone method"
      },
      "estimated_max_hr": {
       "type": "number",
       "description": "Estimated max hr"
      },
      "vo2_max_estimate": {
       "type": [
        "number",

… (truncated)
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/saylor-innovations-heart-rate-zones-calculator-3d384dcb/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from saylorinnovations.com](https://www.zero.xyz/host/saylorinnovations.com/llms.txt)
