Retrieval of data from NRC is absurdly hard because they don’t provide any data-export options. What makes things worse is they don’t have an official public API.
I love NRC but I wanted to migrate to STRAVA because of their better support and social-connect options. STRAVA also happens to have an amazingly well-documented API that one could use to play around with all that data.
So late last year, all set to jump to STRAVA I began to look for options to port data from NRC to STRAVA. Well, I didn’t have much luck and mostly ended up on dead links. None of these pipelines work for various reasons but prominently because of Nike’s changing data policies.
There’s this option (which has various features like cross-app data sync) but its free version doesn’t have much to offer.
So I had to build my own.
Here’s a guide to stealing your data from NRC and porting it to STRAVA.
Firstly, you need to pull all our data using Nike’s unofficial API. You require a valid BEARER_TOKEN for this (which lucky for us happens to be shared between Nike-web and NRC/NTC apps).
https://nike.com → login page → developer options → login → network → filter: api → grab BEARER_TOKEN
Developer options in chrome can be accessed by right-clicking and clicking on inspect or simply Ctrl+Shift+I
Following the above steps, once you have a valid token hold on to it and head to this notebook. It will spit out a .zip of all your workouts in a strava-compatible .gpx format which you can post on STRAVA using strava-bulk-upload. Here, you can manually select up to 25 files at one go.
Note: Currently runs without GPS info aren’t processed in the above pipeline. Also, the titles of your runs won’t reflect on STRAVA.
I am working on these issues and also automating the upload process using STRAVA’s API. I’ll update the notebook and this article accordingly.
Update: Unless there’s demand I’ve decided to put a hold on hosting a fully automated tool, but you can find the source code and instructions to run it locally here.