Strava Gear API

Access athlete gear (bikes and shoes) used during activities.

OpenAPI Specification

strava-gear-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Strava Activities Gear 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: Gear
  description: Access athlete gear (bikes and shoes) used during activities.
paths:
  /gear/{id}:
    get:
      operationId: getGearById
      summary: Get Equipment
      description: Returns an equipment item using its identifier. Requires the activity:read scope.
      tags:
      - Gear
      parameters:
      - name: id
        in: path
        required: true
        description: The identifier of the gear item (e.g., b1234567)
        schema:
          type: string
      responses:
        '200':
          description: The gear item
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DetailedGear'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
components:
  schemas:
    DetailedGear:
      type: object
      properties:
        id:
          type: string
          description: The unique identifier of the gear (e.g., b12345)
        primary:
          type: boolean
          description: Whether this is the athlete's primary gear
        name:
          type: string
          description: The name of the gear
        nickname:
          type: string
          nullable: true
          description: The nickname of the gear
        distance:
          type: number
          format: float
          description: The total distance ridden/run with the gear in meters
        brand_name:
          type: string
          description: The brand name of the gear
        model_name:
          type: string
          description: The model name of the gear
        frame_type:
          type: integer
          nullable: true
          description: The frame type of the bike (1=MTB, 2=Cross, 3=Road, 4=TT)
        description:
          type: string
          description: A description of the gear
    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/