Skip to main content



The Strava source can sync data from the Strava API

Useful links:

Output schema

This Source is capable of syncing the following Streams:


Full Refresh SyncYes
Incremental - Append SyncYes


  • client_id - Strava account client ID
  • client_secret - Strava account client secret
  • refresh_token - Strava account refresh token
  • athlete_id - Strava athlete ID (only used for Athlete Stats)
  • query_start_timestamp - Starting timestamp for listing activities (only used for Activities)

Setup guide

Follow these steps to get the required credentials and inputs:

  • client_id and client_secret
    • Create a Strava account
    • Continue to follow the instructions from the doc above to obtain client_id and client_secret
  • refresh_token
    • Enter this URL into your browser (make sure to add your client_id from previous step:
    • Authorize through the UI
    • Browser will redirect you to an empty page with a URL similar to http://localhost/exchange_token?state=&code=b55003496d87a9f0b694ca1680cd5690d27d9d28&scope=activity:read_all
    • Copy the authorization code above (in this example it would be b55003496d87a9f0b694ca1680cd5690d27d9d28)
    • Make a cURL request to exchange the authorization code and scope for a refresh token:
    • curl -X POST \
      -F client_id=YOUR_CLIENT_ID \
      -F client_secret=YOUR_CLIENT_SECRET \
      -F grant_type=authorization_code
    • The resulting json will contain the refresh_token
    • Example Result:
    •   {
      "token_type": "Bearer",
      "expires_at": 1562908002,
      "expires_in": 21600,
      "refresh_token": "REFRESHTOKEN",
      "access_token": "ACCESSTOKEN",
      "athlete": {
      "id": 123456,
      "username": "MeowTheCat",
      "resource_state": 2,
      "firstname": "Meow",
      "lastname": "TheCat",
      "city": "",
      "state": "",
      "country": null,
    • Refer to Strava's Getting Started - Oauth or Authentication documents for more information
  • athlete_id
    • Go to your athlete page by clicking your name on the Strava dashboard or click on "My Profile" on the drop down after hovering on your top bar icon
    • The number at the end of the url will be your athlete_id. For example 17831421 would be the athlete_id for

Performance considerations

Strava API has limitations to 100 requests every 15 minutes, 1000 daily. More information about Strava rate limits and adjustments to those limits can be found here.


VersionDatePull RequestSubject
0.1.22021-12-158799Implement OAuth 2.0 support
0.1.12021-12-068425Update title, description fields in spec
0.1.02021-10-187151Initial release supporting Strava API