Strava · Schema

Strava Activity

Represents a workout activity recorded on Strava. Activities capture workout data including GPS routes, performance metrics, and social interactions for running, cycling, and 200+ other sport types.

CyclingFitnessFitness TrackingRunningSports

Properties

Name Type Description
id integer The unique identifier of the activity
name string The name of the activity
description stringnull The description of the activity
distance number The distance of the activity in meters
moving_time integer The activity's moving time in seconds
elapsed_time integer The activity's elapsed time in seconds
total_elevation_gain number The activity's total elevation gain in meters
type string The type of activity (e.g., Run, Ride, Swim, Walk, Hike, VirtualRide)
sport_type string The sport type of the activity (Strava v3.5+)
start_date string The time at which the activity was started (UTC ISO 8601)
start_date_local string The time at which the activity was started in local time
timezone string The timezone of the activity (e.g., America/New_York)
start_latlng array The start latitude/longitude as [lat, lng]
end_latlng array The end latitude/longitude as [lat, lng]
achievement_count integer The number of achievements gained during the activity
kudos_count integer The number of kudos given to the activity
comment_count integer The number of comments for the activity
trainer boolean Whether the activity was recorded on a stationary trainer
commute boolean Whether the activity was a commute
manual boolean Whether the activity was manually entered
private boolean Whether the activity is private
average_speed number The activity's average speed in meters per second
max_speed number The activity's max speed in meters per second
average_cadence number The activity's average cadence in RPM
average_watts number The activity's average wattage (cycling)
weighted_average_watts integer The activity's normalized power in watts (cycling)
kilojoules number The total work done in kilojoules (cycling)
average_heartrate number The average heart rate in BPM
max_heartrate number The maximum heart rate in BPM
suffer_score integernull Strava's Relative Effort / Suffer Score (0-100+)
View JSON Schema on GitHub

JSON Schema

strava-activity-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://developers.strava.com/schemas/activity.json",
  "title": "Strava Activity",
  "description": "Represents a workout activity recorded on Strava. Activities capture workout data including GPS routes, performance metrics, and social interactions for running, cycling, and 200+ other sport types.",
  "type": "object",
  "required": ["id", "name", "type"],
  "properties": {
    "id": {
      "type": "integer",
      "description": "The unique identifier of the activity"
    },
    "name": {
      "type": "string",
      "description": "The name of the activity"
    },
    "description": {
      "type": ["string", "null"],
      "description": "The description of the activity"
    },
    "distance": {
      "type": "number",
      "description": "The distance of the activity in meters"
    },
    "moving_time": {
      "type": "integer",
      "description": "The activity's moving time in seconds"
    },
    "elapsed_time": {
      "type": "integer",
      "description": "The activity's elapsed time in seconds"
    },
    "total_elevation_gain": {
      "type": "number",
      "description": "The activity's total elevation gain in meters"
    },
    "type": {
      "type": "string",
      "description": "The type of activity (e.g., Run, Ride, Swim, Walk, Hike, VirtualRide)"
    },
    "sport_type": {
      "type": "string",
      "description": "The sport type of the activity (Strava v3.5+)"
    },
    "start_date": {
      "type": "string",
      "format": "date-time",
      "description": "The time at which the activity was started (UTC ISO 8601)"
    },
    "start_date_local": {
      "type": "string",
      "format": "date-time",
      "description": "The time at which the activity was started in local time"
    },
    "timezone": {
      "type": "string",
      "description": "The timezone of the activity (e.g., America/New_York)"
    },
    "start_latlng": {
      "type": "array",
      "items": {"type": "number"},
      "minItems": 2,
      "maxItems": 2,
      "description": "The start latitude/longitude as [lat, lng]"
    },
    "end_latlng": {
      "type": "array",
      "items": {"type": "number"},
      "minItems": 2,
      "maxItems": 2,
      "description": "The end latitude/longitude as [lat, lng]"
    },
    "achievement_count": {
      "type": "integer",
      "description": "The number of achievements gained during the activity"
    },
    "kudos_count": {
      "type": "integer",
      "description": "The number of kudos given to the activity"
    },
    "comment_count": {
      "type": "integer",
      "description": "The number of comments for the activity"
    },
    "trainer": {
      "type": "boolean",
      "description": "Whether the activity was recorded on a stationary trainer"
    },
    "commute": {
      "type": "boolean",
      "description": "Whether the activity was a commute"
    },
    "manual": {
      "type": "boolean",
      "description": "Whether the activity was manually entered"
    },
    "private": {
      "type": "boolean",
      "description": "Whether the activity is private"
    },
    "average_speed": {
      "type": "number",
      "description": "The activity's average speed in meters per second"
    },
    "max_speed": {
      "type": "number",
      "description": "The activity's max speed in meters per second"
    },
    "average_cadence": {
      "type": "number",
      "description": "The activity's average cadence in RPM"
    },
    "average_watts": {
      "type": "number",
      "description": "The activity's average wattage (cycling)"
    },
    "weighted_average_watts": {
      "type": "integer",
      "description": "The activity's normalized power in watts (cycling)"
    },
    "kilojoules": {
      "type": "number",
      "description": "The total work done in kilojoules (cycling)"
    },
    "average_heartrate": {
      "type": "number",
      "description": "The average heart rate in BPM"
    },
    "max_heartrate": {
      "type": "number",
      "description": "The maximum heart rate in BPM"
    },
    "suffer_score": {
      "type": ["integer", "null"],
      "description": "Strava's Relative Effort / Suffer Score (0-100+)"
    }
  }
}