Skip to content

Using Strava API

You might have all your data on the Strava service and would like to use this for additional analytics without moving your data. That is fine.

If you don't mind a bit of rate-limiting, you can just directly go ahead and start the webserver. It will offer to connect with Strava.

Your own Strava App

In order to use the Strava API without sharing the rate-limiting with other users, you need to create your own app. If my explanation doesn't suit you, have a look at this how-to guide as well.

Navigate to the API settings page and create an app. It only needs to have read permissions.

After you are done with that, you can see your App here:

There is a "client ID" and a "client secret" that we are going to need for the next step. In general our app could be used by all sorts of people who can then access their data only. We want to access our own data, but we still need to authorize our app to use our data.

Open the webserver of this program and go the Strava API setup page. Enter your client ID and client secret, click on "Connect to Strava".

This will prompt an OAuth2 request where you have to grant permissions to your app. After that you will be redirected back to the app and it should be set up. At the moment you need to restart the webserver such that it can start to download the activities. Due to rate-limiting it can still take a while.

Use export to avoid rate limiting

When you first start this program and use the Strava API as a data source, it will download the metadata for all your activities. Then it will start to download all the time series data for each activity. Strava has a rate limiting, so after the first 200 activities it will crash and you will have to wait for 15 minutes until you can try again and it will download the next batch.

Therefore it is recommended to use a Strava export in order to get started quicker. For this go to the Strava account download page and download all your data. You will get a ZIP file. Unpack the files into Playground/Strava Export. These will be picked up there. Activities from Strava will only be downloaded after importing all these, and only the ones after the last one in the export will be downloaded. This way you can get started much quicker.

Skip Strava download

If you don't want to download new activities from Strava, use --skip-reload to have the webserver start right away.