Strava · JSON Structure

Strava Activity Structure

A workout activity recorded on Strava. Activities are the core data object representing a single workout session.

Type: Properties: 0
CyclingFitnessFitness TrackingRunningSports

Activity is a JSON Structure definition published by Strava.

Meta-schema:

JSON Structure

Raw ↑
{
  "name": "Activity",
  "description": "A workout activity recorded on Strava. Activities are the core data object representing a single workout session.",
  "fields": [
    {"name": "id", "type": "integer", "required": true, "description": "Unique activity identifier"},
    {"name": "name", "type": "string", "required": true, "description": "Activity name set by the athlete"},
    {"name": "description", "type": "string", "required": false, "nullable": true, "description": "Activity description"},
    {"name": "distance", "type": "number", "required": false, "description": "Total distance in meters"},
    {"name": "moving_time", "type": "integer", "required": false, "description": "Moving time in seconds"},
    {"name": "elapsed_time", "type": "integer", "required": false, "description": "Elapsed time in seconds"},
    {"name": "total_elevation_gain", "type": "number", "required": false, "description": "Total elevation gain in meters"},
    {"name": "type", "type": "string", "required": true, "description": "Sport type (Run, Ride, Swim, etc.)"},
    {"name": "sport_type", "type": "string", "required": false, "description": "More specific sport type (v3.5+)"},
    {"name": "start_date", "type": "string", "format": "date-time", "required": false, "description": "Start time in UTC"},
    {"name": "start_date_local", "type": "string", "format": "date-time", "required": false, "description": "Start time in local timezone"},
    {"name": "timezone", "type": "string", "required": false, "description": "Activity timezone"},
    {"name": "start_latlng", "type": "array", "required": false, "description": "Start position [lat, lng]"},
    {"name": "end_latlng", "type": "array", "required": false, "description": "End position [lat, lng]"},
    {"name": "achievement_count", "type": "integer", "required": false, "description": "Number of achievements"},
    {"name": "kudos_count", "type": "integer", "required": false, "description": "Number of kudos"},
    {"name": "comment_count", "type": "integer", "required": false, "description": "Number of comments"},
    {"name": "trainer", "type": "boolean", "required": false, "description": "Recorded on stationary trainer"},
    {"name": "commute", "type": "boolean", "required": false, "description": "Marked as commute"},
    {"name": "manual", "type": "boolean", "required": false, "description": "Manually entered (no GPS)"},
    {"name": "private", "type": "boolean", "required": false, "description": "Private visibility"},
    {"name": "average_speed", "type": "number", "required": false, "description": "Average speed in m/s"},
    {"name": "max_speed", "type": "number", "required": false, "description": "Max speed in m/s"},
    {"name": "average_cadence", "type": "number", "required": false, "description": "Average cadence in RPM"},
    {"name": "average_watts", "type": "number", "required": false, "description": "Average power in watts"},
    {"name": "weighted_average_watts", "type": "integer", "required": false, "description": "Normalized power in watts"},
    {"name": "kilojoules", "type": "number", "required": false, "description": "Total work in kilojoules"},
    {"name": "average_heartrate", "type": "number", "required": false, "description": "Average heart rate in BPM"},
    {"name": "max_heartrate", "type": "number", "required": false, "description": "Max heart rate in BPM"},
    {"name": "suffer_score", "type": "integer", "required": false, "nullable": true, "description": "Relative Effort score"},
    {"name": "map", "type": "object", "required": false, "description": "Route polyline map data"},
    {"name": "gear", "type": "object", "required": false, "description": "Gear used for the activity"},
    {"name": "athlete", "type": "object", "required": false, "description": "Athlete who recorded the activity"}
  ],
  "relationships": [
    {"name": "laps", "type": "array", "target": "Lap", "description": "Lap splits for the activity"},
    {"name": "segment_efforts", "type": "array", "target": "SegmentEffort", "description": "Efforts on Strava segments"},
    {"name": "comments", "type": "array", "target": "Comment", "description": "Comments on the activity"},
    {"name": "kudoers", "type": "array", "target": "SummaryAthlete", "description": "Athletes who gave kudos"}
  ]
}