Download all GPXs from your Strava account
Before you run the script, make sure you create your API application here.
Put localhost
for Authorization Callback domain
. For other fields, it doesn't really matter whatever you fill in.
You might find this article useful as a reference when setting up your first Strava API app.
When you run python strava_gpx.py
for the first time, the prompt will ask you to fill in your client_id
and client_secret
, which you should have got by now on your API page.
Your client ID and secret are only saved on your computer locally and will never be shared with others.
Follow the prompt to finish the remainder of the one-time set-up process.
Download all gpx files from strava account.
python strava_gpx.py
Once the download completes, the gpx files can be found under gpx/
.
By default activities are checked starting from most recent and the process stops at first activity that already has corresponding file in gpx/
directory. You can force checking all activities by specifying --all
switch (activities that were already downloaded are not re-downloaded, if you want to update gpx just delete or rename existing .gpx file).
Script tries to adhere to default Strava limits (1000 API calls per day, 100 per 15 minutes) but it may still fail if you run the script several times (as usage is not persistent between runs).
The script was forked from https://github.com/liponan/Strava-GPX-exporter although it worked differently, gpx creation was limited and so on (but it had nice working authentication part). Thus I decided to split from original one.