Strava Clubs API

Access Strava clubs — groups of athletes. View club details, members, and recent club activities.

OpenAPI Specification

strava-clubs-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Strava Activities Clubs API
  description: 'The Strava API enables developers to access and interact with data from Strava, the popular fitness tracking platform for running, cycling, and other athletic activities. The API provides access to athlete profiles, activities (workouts), segments, routes, gear, clubs, and leaderboards. OAuth 2.0 is used for authentication. Rate limits apply: 100 requests per 15 minutes, 1000 per day for default apps.'
  version: 3.0.0
  contact:
    name: Strava Developer Support
    url: https://developers.strava.com/support/
  termsOfService: https://www.strava.com/legal/api
  license:
    name: Strava API Agreement
    url: https://www.strava.com/legal/api
servers:
- url: https://www.strava.com/api/v3
  description: Strava API v3
security:
- stravaBearerAuth: []
tags:
- name: Clubs
  description: Access Strava clubs — groups of athletes. View club details, members, and recent club activities.
paths:
  /clubs/{id}:
    get:
      operationId: getClubById
      summary: Get Club
      description: Returns a given club using its identifier. Requires the profile:read_all scope for private clubs.
      tags:
      - Clubs
      parameters:
      - name: id
        in: path
        required: true
        description: The identifier of the club
        schema:
          type: integer
      responses:
        '200':
          description: The club
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DetailedClub'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
  /clubs/{id}/activities:
    get:
      operationId: getClubActivitiesById
      summary: List Club Activities
      description: Retrieve recent activities from members of a specific club. The authenticated athlete must be a member of the club.
      tags:
      - Clubs
      parameters:
      - name: id
        in: path
        required: true
        description: The identifier of the club
        schema:
          type: integer
      - name: page
        in: query
        description: Page number for pagination
        schema:
          type: integer
          default: 1
      - name: per_page
        in: query
        description: Number of items per page
        schema:
          type: integer
          default: 30
      responses:
        '200':
          description: A list of club activities
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/SummaryActivity'
        '401':
          $ref: '#/components/responses/Unauthorized'
  /athlete/clubs:
    get:
      operationId: getLoggedInAthleteClubs
      summary: List Athlete Clubs
      description: Returns a list of the clubs whose membership includes the authenticated athlete.
      tags:
      - Clubs
      parameters:
      - name: page
        in: query
        description: Page number for pagination
        schema:
          type: integer
          default: 1
      - name: per_page
        in: query
        description: Number of items per page
        schema:
          type: integer
          default: 30
      responses:
        '200':
          description: A list of clubs
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/SummaryClub'
        '401':
          $ref: '#/components/responses/Unauthorized'
components:
  schemas:
    SummaryClub:
      type: object
      properties:
        id:
          type: integer
        name:
          type: string
        profile_medium:
          type: string
        sport_type:
          type: string
        city:
          type: string
        state:
          type: string
        country:
          type: string
        private:
          type: boolean
        member_count:
          type: integer
    SummaryActivity:
      type: object
      properties:
        id:
          type: integer
          description: The unique identifier of the activity
        name:
          type: string
        distance:
          type: number
          format: float
        moving_time:
          type: integer
        elapsed_time:
          type: integer
        total_elevation_gain:
          type: number
          format: float
        type:
          type: string
        sport_type:
          type: string
        start_date:
          type: string
          format: date-time
        start_date_local:
          type: string
          format: date-time
        timezone:
          type: string
        achievement_count:
          type: integer
        kudos_count:
          type: integer
        comment_count:
          type: integer
        trainer:
          type: boolean
        commute:
          type: boolean
        manual:
          type: boolean
        private:
          type: boolean
        average_speed:
          type: number
          format: float
        max_speed:
          type: number
          format: float
        average_heartrate:
          type: number
          format: float
        max_heartrate:
          type: number
          format: float
    DetailedClub:
      type: object
      properties:
        id:
          type: integer
        name:
          type: string
        profile_medium:
          type: string
        cover_photo:
          type: string
        sport_type:
          type: string
        city:
          type: string
        state:
          type: string
        country:
          type: string
        private:
          type: boolean
        member_count:
          type: integer
        featured:
          type: boolean
        verified:
          type: boolean
        url:
          type: string
        description:
          type: string
    Fault:
      type: object
      properties:
        errors:
          type: array
          items:
            type: object
            properties:
              resource:
                type: string
              field:
                type: string
              code:
                type: string
        message:
          type: string
          description: The error message
  responses:
    NotFound:
      description: The requested resource was not found
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Fault'
    Unauthorized:
      description: Authorization required or the provided access token is invalid
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Fault'
  securitySchemes:
    stravaBearerAuth:
      type: oauth2
      description: OAuth 2.0 Bearer token. Obtain via the authorization code flow at https://www.strava.com/oauth/authorize.
      flows:
        authorizationCode:
          authorizationUrl: https://www.strava.com/oauth/authorize
          tokenUrl: https://www.strava.com/oauth/token
          scopes:
            read: Read public segments, public routes, public profile data, public posts, public events, club feeds, and leaderboards
            read_all: Read private routes, private segments, and private events for the user
            profile:read_all: Read all profile information even if the user has set their profile visibility to Followers or Only You
            profile:write: Update the user's weight and Functional Threshold Power (FTP), and access to star or unstar segments on their behalf
            activity:read: Read the user's activity data for activities that are visible to Everyone and Followers
            activity:read_all: Same access as activity:read with the addition of activities with visibility set to Only You
            activity:write: Access to create manual activities and uploads, and access to edit any activities that are visible to the app
externalDocs:
  description: Strava API Documentation
  url: https://developers.strava.com/docs/reference/