Heart Rate Notifications - JSON Export Format

Documentation for heart rate notifications structure in JSON exports

Last updated: February 6, 2026

On this page

Heart Rate Notifications

Heart Rate Notifications include high and low heart rate alerts from Apple Watch, irregular rhythm notifications, and detailed heart rate data collected during these events. In JSON exports, heart rate notifications are stored in the heartRateNotifications array.

Structure

Heart rate notification data has a unique structure that differs from other health metrics. Each notification includes event timing, thresholds (for high/low notifications), and detailed heart rate measurements during the event:

{
  "start": "2024-02-06 14:30:00 -0800",
  "end": "2024-02-06 14:35:00 -0800",
  "threshold": 100,
  "heartRate": [
    {
      "hr": 105,
      "units": "bpm",
      "timestamp": {
        "start": "2024-02-06 14:30:00 -0800",
        "end": "2024-02-06 14:30:05 -0800",
        "interval": {
          "duration": 5,
          "units": "s"
        }
      }
    }
  ],
  "heartRateVariation": [
    {
      "hrv": 45,
      "units": "ms",
      "timestamp": {
        "start": "2024-02-06 14:30:00 -0800",
        "end": "2024-02-06 14:30:05 -0800",
        "interval": {
          "duration": 5,
          "units": "s"
        }
      }
    }
  ]
}

Fields

Required Fields

  • start (Date): Start time of the heart rate notification event in format yyyy-MM-dd HH:mm:ss Z
  • end (Date): End time of the heart rate notification event in format yyyy-MM-dd HH:mm:ss Z
  • heartRate (Array): Array of heart rate measurements during the event (see Heart Rate Data below)
  • heartRateVariation (Array): Array of heart rate variability (HRV) measurements during the event (see HRV Data below)

Optional Fields

  • threshold (Number): Heart rate threshold that triggered the notification. Only included for high and low heart rate notifications.

Notification Types

High Heart Rate Notification

Triggered when heart rate exceeds a set threshold (typically 100-150 bpm) while at rest.

{
  "start": "2024-02-06 14:30:00 -0800",
  "end": "2024-02-06 14:35:00 -0800",
  "threshold": 100,
  "heartRate": [
    {
      "hr": 105,
      "units": "bpm",
      "timestamp": {
        "start": "2024-02-06 14:30:00 -0800",
        "end": "2024-02-06 14:30:05 -0800",
        "interval": {
          "duration": 5,
          "units": "s"
        }
      }
    }
  ],
  "heartRateVariation": []
}

Low Heart Rate Notification

Triggered when heart rate falls below a set threshold (typically 40-50 bpm) while at rest.

{
  "start": "2024-02-06 03:00:00 -0800",
  "end": "2024-02-06 03:05:00 -0800",
  "threshold": 40,
  "heartRate": [
    {
      "hr": 38,
      "units": "bpm",
      "timestamp": {
        "start": "2024-02-06 03:00:00 -0800",
        "end": "2024-02-06 03:00:05 -0800",
        "interval": {
          "duration": 5,
          "units": "s"
        }
      }
    }
  ],
  "heartRateVariation": []
}

Irregular Rhythm Notification

Triggered when Apple Watch detects an irregular heart rhythm that may indicate atrial fibrillation.

{
  "start": "2024-02-06 16:00:00 -0800",
  "end": "2024-02-06 16:05:00 -0800",
  "heartRate": [
    {
      "hr": 85,
      "units": "bpm",
      "timestamp": {
        "start": "2024-02-06 16:00:00 -0800",
        "end": "2024-02-06 16:00:05 -0800",
        "interval": {
          "duration": 5,
          "units": "s"
        }
      }
    }
  ],
  "heartRateVariation": [
    {
      "hrv": 35,
      "units": "ms",
      "timestamp": {
        "start": "2024-02-06 16:00:00 -0800",
        "end": "2024-02-06 16:00:05 -0800",
        "interval": {
          "duration": 5,
          "units": "s"
        }
      }
    }
  ]
}

Note: Irregular rhythm notifications do not include a threshold field.

Heart Rate Data

The heartRate array contains detailed heart rate measurements during the notification event:

{
  "hr": 105,
  "units": "bpm",
  "timestamp": {
    "start": "2024-02-06 14:30:00 -0800",
    "end": "2024-02-06 14:30:05 -0800",
    "interval": {
      "duration": 5,
      "units": "s"
    }
  }
}

Fields:

  • hr (Number): Heart rate value in beats per minute
  • units (String): Unit of measurement (always "bpm" for beats per minute)
  • timestamp (Object): Time period for this measurement
    • start (Date): Start of the measurement period
    • end (Date): End of the measurement period
    • interval (Object): Duration of the measurement
      • duration (Number): Duration value
      • units (String): Unit (always "s" for seconds)

Heart Rate Variability (HRV) Data

The heartRateVariation array contains heart rate variability measurements:

{
  "hrv": 45,
  "units": "ms",
  "timestamp": {
    "start": "2024-02-06 14:30:00 -0800",
    "end": "2024-02-06 14:30:05 -0800",
    "interval": {
      "duration": 5,
      "units": "s"
    }
  }
}

Fields:

  • hrv (Number): Heart rate variability value in milliseconds
  • units (String): Unit of measurement (always "ms" for milliseconds)
  • timestamp (Object): Same structure as heart rate timestamp

Understanding HRV:

  • HRV measures the variation in time between heartbeats
  • Higher HRV generally indicates better cardiovascular fitness and stress recovery
  • Lower HRV may indicate stress, fatigue, or health issues
  • HRV can vary significantly based on time of day, activity level, and individual factors

Example: Complete Notification Entry

{
  "start": "2024-02-06 14:30:00 -0800",
  "end": "2024-02-06 14:35:00 -0800",
  "threshold": 100,
  "heartRate": [
    {
      "hr": 105,
      "units": "bpm",
      "timestamp": {
        "start": "2024-02-06 14:30:00 -0800",
        "end": "2024-02-06 14:30:05 -0800",
        "interval": {
          "duration": 5,
          "units": "s"
        }
      }
    },
    {
      "hr": 108,
      "units": "bpm",
      "timestamp": {
        "start": "2024-02-06 14:30:05 -0800",
        "end": "2024-02-06 14:30:10 -0800",
        "interval": {
          "duration": 5,
          "units": "s"
        }
      }
    }
  ],
  "heartRateVariation": [
    {
      "hrv": 45,
      "units": "ms",
      "timestamp": {
        "start": "2024-02-06 14:30:00 -0800",
        "end": "2024-02-06 14:30:05 -0800",
        "interval": {
          "duration": 5,
          "units": "s"
        }
      }
    }
  ]
}

Notification Thresholds

Thresholds are user-configurable in Apple Health settings:

  • High Heart Rate: Typically 100-150 bpm (default varies by age)
  • Low Heart Rate: Typically 40-50 bpm (default varies by age)

The threshold field shows the exact threshold that triggered the notification.

Device Requirements

Heart rate notifications require:

  • Apple Watch Series 1 or later (for basic heart rate monitoring)
  • Apple Watch Series 4 or later (for irregular rhythm notifications)
  • WatchOS 5.1.2 or later (for irregular rhythm notifications)
  • Notifications enabled in Apple Health settings

Use Cases

Heart rate notification data can be useful for:

  • Health monitoring: Track when heart rate exceeds normal ranges
  • AFib detection: Monitor irregular rhythm notifications for potential atrial fibrillation
  • Medical records: Share notification events with healthcare providers
  • Pattern analysis: Identify triggers or patterns in heart rate events
  • Fitness insights: Understand recovery and stress responses through HRV data
  • Symptom correlation: Cross-reference notifications with symptoms, activities, or medications

Important Notes

  • Not a medical device: Apple Watch notifications are not intended to replace professional medical diagnosis
  • Consult healthcare providers: Always consult with healthcare professionals about heart rate notifications, especially irregular rhythm alerts
  • Context matters: Heart rate can be elevated due to exercise, stress, caffeine, medications, or other factors
  • AFib notifications: Irregular rhythm notifications may indicate atrial fibrillation and should be discussed with a healthcare provider

Tips

  • Review notifications: Regularly review heart rate notifications to identify patterns
  • Note context: Consider what you were doing when notifications occurred (exercise, stress, sleep, etc.)
  • Track trends: Monitor notification frequency and patterns over time
  • Combine with ECG: Cross-reference irregular rhythm notifications with ECG readings for comprehensive heart health monitoring