Polar website screenshot

Polar

Polar Electro Oy (operating as Polar Global) is a Finnish sports and fitness technology company founded in 1977 and headquartered in Kempele, Finland. Polar invented the first wireless wearable heart rate monitor — the Sport Tester PE 2000 in 1982 — and remains one of the longest-standing brands in consumer heart rate sensing, GPS sports watches, and fitness wearables. The Polar device portfolio includes the H10 and H9 chest straps, the Verity Sense and OH1 optical sensors, the Polar 360 and Loop fitness bands, and the Vantage, Grit X, Pacer, Ignite, and Unite watch lines, along with a dedicated equine sensor line. Developers access Polar data through the Polar AccessLink API for consumer Polar Flow data, the Polar TeamPro API for team and player training sessions, and the open-source Polar BLE SDK for iOS and Android applications that stream live sensor data over Bluetooth Low Energy.

3 APIs 17 Features
FitnessHealthWearablesHeart RateSportsTrainingSleepActivity TrackingSensorsBluetooth

APIs

Polar AccessLink API

The Polar Open AccessLink API gives partners structured OAuth2-based access to Polar Flow user data — training sessions, daily activity, continuous heart rate, sleep, Nightly Re...

Polar TeamPro API

The Polar TeamPro API exposes team and player training data captured by the Polar Team Pro system. Endpoints return teams, sport profiles, team and player training sessions with...

Polar BLE SDK

The Polar BLE SDK enables iOS and Android applications to stream live data from Polar sensors over Bluetooth Low Energy. Supports H10, H9, Verity Sense, OH1, Ignite 3, Polar 360...

Collections

GraphQL

Polar GraphQL API

Polar is a creator monetization platform for newsletters and digital products. The API covers subscriptions, products, benefits, orders, customers, and analytics for newsletter ...

GRAPHQL

Features

Polar AccessLink API with OAuth2 access to Polar Flow user training, activity, sleep, and biosensing data
Continuous heart rate (5-minute samples), Nightly Recharge, SleepWise alertness, and circadian bedtime endpoints
Cardio Load training-impulse calculation across days and months
Elixir biosensing endpoints — ECG, SpO2, body and skin temperature, skin contacts
Exercise downloads in JSON, FIT, TCX, and GPX formats
Webhook subscriptions for real-time delivery of new training, activity, and sleep data
Transactional endpoints (data is discarded after commit) and non-transactional persistent endpoints
Polar TeamPro API for coaches with team and player training session data
OAuth2 authorization-code flow with team_read scope for TeamPro and accesslink.read_all for AccessLink
Partner registration and OAuth credential management at admin.polaraccesslink.com
Polar BLE SDK for iOS (Swift) and Android (Kotlin/Java) streaming live HR, ECG, ACC, PPG, gyro, magnetometer, PPI
Supported sensors include H10, H9, Verity Sense, OH1, Polar 360/Loop, Vantage V3, Vantage M3, Grit X2 Pro, Pacer Pro
Heart-rate monitoring pioneer — first wireless wearable HR monitor (Sport Tester PE 2000, 1982)
Google Fit and Apple HealthKit integration paths for consumer data sharing
Dynamic rate limiting on AccessLink based on registered user count (15-minute and 24-hour windows)
TeamPro API rate limit of 1 request/second with 100-request burst
Polar Flow ecosystem (web at flow.polar.com plus iOS, Android, and Huawei mobile apps)

Resources

🌐
Portal
Portal
🌐
Portal
Portal
🌐
Portal
Portal
🔗
Documentation
Documentation
🔗
Documentation
Documentation
📝
Signup
Signup
📦
SDKs
SDKs
👥
GitHubOrganization
GitHubOrganization
📦
SDKs
SDKs
💻
CodeExamples
CodeExamples
💻
CodeExamples
CodeExamples
🌐
Portal
Portal
💬
Support
Support
🔗
Documentation
Documentation
🔗
Partners
Partners
📜
TermsOfService
TermsOfService
📜
PrivacyPolicy
PrivacyPolicy
📜
TermsOfService
TermsOfService
🔗
LinkedIn
LinkedIn
🔗
Twitter
Twitter
👥
YouTube
YouTube
🔗
Facebook
Facebook
🔗
Instagram
Instagram
📰
Blog
Blog
🔗
Documentation
Documentation

Sources

Raw ↑
opencollection: 1.0.0
info:
  name: TeamPro API
  version: 1.1.0
items:
- info:
    name: Team
    type: folder
  items:
  - info:
      name: Get teams.
      type: http
    http:
      method: GET
      url: https://teampro.api.polar.com/v1/teams
      params:
      - name: pagination
        value: ''
        type: query
        description: Pagination parameters
      auth:
        type: oauth2
        flow: authorization_code
        authorizationUrl: https://auth.polar.com/oauth/authorize
        accessTokenUrl: https://auth.polar.com/oauth/token
        credentials:
          clientId: '{{clientId}}'
          clientSecret: '{{clientSecret}}'
    docs: Get teams.
  - info:
      name: Get team details.
      type: http
    http:
      method: GET
      url: https://teampro.api.polar.com/v1/teams/:team_id
      params:
      - name: team_id
        value: ''
        type: path
        description: Team id to get.
      auth:
        type: oauth2
        flow: authorization_code
        authorizationUrl: https://auth.polar.com/oauth/authorize
        accessTokenUrl: https://auth.polar.com/oauth/token
        credentials:
          clientId: '{{clientId}}'
          clientSecret: '{{clientSecret}}'
    docs: Get team details.
  - info:
      name: Get team sport profiles.
      type: http
    http:
      method: GET
      url: https://teampro.api.polar.com/v1/teams/:team_id/sport-profiles
      params:
      - name: team_id
        value: ''
        type: path
        description: Team ID for retrieving the team's sport profiles.
      auth:
        type: oauth2
        flow: authorization_code
        authorizationUrl: https://auth.polar.com/oauth/authorize
        accessTokenUrl: https://auth.polar.com/oauth/token
        credentials:
          clientId: '{{clientId}}'
          clientSecret: '{{clientSecret}}'
    docs: Get team sport profiles.
- info:
    name: Team training sessions
    type: folder
  items:
  - info:
      name: Get team training sessions.
      type: http
    http:
      method: GET
      url: https://teampro.api.polar.com/v1/teams/:team_id/training_sessions
      params:
      - name: team_id
        value: ''
        type: path
        description: Team whose training session are returned.
      - name: since
        value: '2018-04-14T00:00:00'
        type: query
        description: Return training sessions having record_start_time greater than <since>.
      - name: until
        value: '2018-05-14T00:00:00'
        type: query
        description: Return training sessions having record_start_time less than <until>
      - name: pagination
        value: ''
        type: query
        description: Pagination parameters
      auth:
        type: oauth2
        flow: authorization_code
        authorizationUrl: https://auth.polar.com/oauth/authorize
        accessTokenUrl: https://auth.polar.com/oauth/token
        credentials:
          clientId: '{{clientId}}'
          clientSecret: '{{clientSecret}}'
    docs: Get team training sessions.
  - info:
      name: Get team training session details.
      type: http
    http:
      method: GET
      url: https://teampro.api.polar.com/v1/teams/training_sessions/:training_session_id
      params:
      - name: training_session_id
        value: ''
        type: path
        description: Training session id.
      auth:
        type: oauth2
        flow: authorization_code
        authorizationUrl: https://auth.polar.com/oauth/authorize
        accessTokenUrl: https://auth.polar.com/oauth/token
        credentials:
          clientId: '{{clientId}}'
          clientSecret: '{{clientSecret}}'
    docs: Get team training session details.
- info:
    name: Player training sessions
    type: folder
  items:
  - info:
      name: Get player training sessions.
      type: http
    http:
      method: GET
      url: https://teampro.api.polar.com/v1/players/:player_id/training_sessions
      params:
      - name: player_id
        value: ''
        type: path
        description: Player id
      - name: since
        value: '2018-04-14T00:00:00'
        type: query
        description: Return training sessions having start_time greater than [since].
      - name: until
        value: '2018-05-14T00:00:00'
        type: query
        description: Return training sessions having start_time less than [until].
      - name: type
        value: ''
        type: query
        description: Return all, individual or team training sessions.
      - name: pagination
        value: ''
        type: query
        description: Pagination parameters
      auth:
        type: oauth2
        flow: authorization_code
        authorizationUrl: https://auth.polar.com/oauth/authorize
        accessTokenUrl: https://auth.polar.com/oauth/token
        credentials:
          clientId: '{{clientId}}'
          clientSecret: '{{clientSecret}}'
    docs: Get player training sessions.
  - info:
      name: Get player training session details.
      type: http
    http:
      method: GET
      url: https://teampro.api.polar.com/v1/training_sessions/:player_session_id
      params:
      - name: player_session_id
        value: ''
        type: path
        description: Players' training session id.
      - name: samples
        value: distance,location,hr
        type: query
        description: Include requested samples in response. Possible values are "all" or comma-separated list from "distance",
          "location", "hr", "speed", "cadence", "altitude", "forward_acceleration", "rr".
      auth:
        type: oauth2
        flow: authorization_code
        authorizationUrl: https://auth.polar.com/oauth/authorize
        accessTokenUrl: https://auth.polar.com/oauth/token
        credentials:
          clientId: '{{clientId}}'
          clientSecret: '{{clientSecret}}'
    docs: Get player training session details.
  - info:
      name: Get player team training session trimmed values.
      type: http
    http:
      method: GET
      url: https://teampro.api.polar.com/v1/training_sessions/:player_session_id/session_summary
      params:
      - name: player_session_id
        value: ''
        type: path
        description: Players' training session id.
      auth:
        type: oauth2
        flow: authorization_code
        authorizationUrl: https://auth.polar.com/oauth/authorize
        accessTokenUrl: https://auth.polar.com/oauth/token
        credentials:
          clientId: '{{clientId}}'
          clientSecret: '{{clientSecret}}'
    docs: Get player team training session trimmed values.
  - info:
      name: Get player team training session phase summaries.
      type: http
    http:
      method: GET
      url: https://teampro.api.polar.com/v1/training_sessions/:player_session_id/phase_summaries
      params:
      - name: player_session_id
        value: ''
        type: path
        description: Players' training session id.
      auth:
        type: oauth2
        flow: authorization_code
        authorizationUrl: https://auth.polar.com/oauth/authorize
        accessTokenUrl: https://auth.polar.com/oauth/token
        credentials:
          clientId: '{{clientId}}'
          clientSecret: '{{clientSecret}}'
    docs: Get player team training session phase summaries.
bundled: true