The Strava source can sync data from the Strava API
Useful links:
This Source is capable of syncing the following Streams:
- Athlete Stats
- Activities (Incremental)
Feature | Supported? |
---|---|
Full Refresh Sync | Yes |
Incremental - Append Sync | Yes |
Namespaces | No |
- 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)
Follow these steps to get the required credentials and inputs:
client_id
andclient_secret
- Create a Strava account
- Continue to follow the instructions from the doc above to obtain
client_id
andclient_secret
refresh_token
- Enter this URL into your browser (make sure to add your
client_id
from previous step:http://www.strava.com/oauth/authorize?client_id=[REPLACE_WITH_YOUR_CLIENT_ID]&response_type=code&redirect_uri=http://localhost/exchange_token&approval_prompt=force&scope=activity:read_all
- 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 https://www.strava.com/oauth/token \ -F client_id=YOUR_CLIENT_ID \ -F client_secret=YOUR_CLIENT_SECRET \ -F code=AUTHORIZATION_CODE \ -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
- Enter this URL into your browser (make sure to add your
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 example17831421
would be theathlete_id
for https://www.strava.com/athletes/17831421
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.
Version | Date | Pull Request | Subject |
---|---|---|---|
0.1.2 | 2021-12-15 | 8799 | Implement OAuth 2.0 support |
0.1.1 | 2021-12-06 | 8425 | Update title, description fields in spec |
0.1.0 | 2021-10-18 | 7151 | Initial release supporting Strava API |