# Download all activities in CSV format

**URL:** <https://forum.intervals.icu/t/download-all-activities-in-csv-format/599>\
**Category:** Announcements\
**Created:** [29 March 2020 19:05 UTC](https://forum.intervals.icu/t/download-all-activities-in-csv-format/599 "2020-03-29T19:05:17Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![david](https://forum.intervals.icu/user_avatar/forum.intervals.icu/david/32/30189_2.png) [@david](https://forum.intervals.icu/u/david)\
**Post date:** [29 March 2020 19:05 UTC](https://forum.intervals.icu/t/download-all-activities-in-csv-format/599/1 "2020-03-29T19:05:17Z")

</div>

You can now download all activities in CSV format from the activity calendar. The CSV includes most things including training load, fitness, efficiency etc.. So you can calculate your own things, figure out interesting plots and so on.

 ![Screen Shot 2020-03-29 at 21.01.14](https://forum.intervals.icu/uploads/default/original/1X/e90c6b9d3c64e5144135a51a025118fb28b71bd1.png)

All fields starting with icu\_ are calculated by Intervals.icu. Others may be calculated by Intervals.icu or come from Strava, indicated on each field.

- `id` Strava activity ID
- `start_date_local` Date in local timezone in ISO-8601 format e.g. 2020-04-04T08:30:34
- `name` Name or title
- `type` Strava type: Ride, Run etc.
- `moving_time` Strava moving time in seconds
- `distance` Strava distance in meters
- `elapsed_time` Strava elapsed time in seconds
- `total_elevation_gain` Strava total climbing in meters
- `max_speed` Strava max speed in meters/second
- `average_speed` Strava average speed in meters/second
- `has_heartrate` Does the activity have HR data (true/false)
- `max_heartrate` Max HR calculated by Intervals.icu
- `average_heartrate` Average HR calculated by Intervals.icu
- `calories` Strava colories (Strava gets it from whatever created the actvity)
- `device_watts` Does the activity have real (i.e. not virtual) power data (true/false)?
- `icu_average_watts` Average power (icu\_joules / icu\_recording\_time)
- `icu_normalized_watts` Normalized watts (NP)
- `icu_joules` Total energy expended
- `icu_intensity` icu\_normalized\_watts \* 100 / icu\_ftp
- `icu_training_load` Actual TSS or estimated from HR if no power is available
- `icu_training_load_edited` Has icu\_training\_load been manually edited?
- `icu_fatigue` ATL
- `icu_fitness` CTL
- `icu_eftp` Estimated FTP
- `icu_variability` Variability index (icu\_normalized\_watts / icu\_average\_watts)
- `icu_efficiency` Efficiency factor (icu\_normalized\_watts / average\_heartrate)
- `trainer` Flagged as trainer in Strava
- `commute` Flagged as commute in Strava
- `workout_type` 11 = race, From Strava, not sure of other values
- `icu_ftp` User captured FTP
- `icu_w_prime` User captured W’
- `icu_swim_ftp` User captured swim FTP in secs/100m
- `hr_z1` Top of HR Z1
- `hr_z2` Top of HR Z2
- `hr_z3` Top of HR Z3
- `hr_z4` Top of HR Z4
- `hr_z5` Top of HR Z5
- `hr_z6` Top of HR Z6
- `hr_max` Top of HR Z7
- `icu_resting_hr` Resting HR
- `hr_z1_secs` Secs in HR Z1
- `hr_z2_secs` Secs in HR Z2
- `hr_z3_secs` Secs in HR Z3
- `hr_z4_secs` Secs in HR Z4
- `hr_z5_secs` Secs in HR Z5
- `hr_z6_secs` Secs in HR Z6
- `hr_z7_secs` Secs in HR Z7
- `z1_secs` Secs in power Z1
- `z2_secs` Secs in power Z2
- `z3_secs` Secs in power Z3
- `z4_secs` Secs in power Z4
- `z5_secs` Secs in power Z5
- `z6_secs` Secs in power Z6
- `z7_secs` Secs in power Z7
- `sweet_spot_secs` Secs in power sweet spot zone
- `icu_weight` In kg
- `icu_ignore_power` Ignore power data from this activity
- `icu_ignore_hr` Ignore HR data from this activity
- `icu_ignore_time` Ignore time from this activity (dont count towards weekly totals)
- `icu_recording_time` Elapsed time with time gaps of more than 30s excluded
- `icu_warmup_time` Secs of the start of the activity excluded from decoupling calculations
- `icu_cooldown_time` Secs of the end of the activity excluded from decoupling calculations
- `icu_hrrc` Highest drop in HR over 1 minute from threshold HR or higher in the activity
- `icu_hrrc_start_bpm` Starting HR of the icu\_hrrc value
- `icu_hrrc_avg_watts` Average power during the minute
- `icu_power_spike_threshold` Percentage for power spike detection
- `icu_pm_ftp` FTP derived from best max effort on this ride
- `icu_pm_cp` CP modelled from best max effort on this ride
- `icu_pm_w_prime` W’ modelled from best max effort on this ride
- `icu_pm_p_max` pMax modelled from best max effort on this ride
- `start_date` Start date in UTC timezone in ISO-8601 format e.g. 2020-04-05T05:56:41Z
- `icu_sync_date` When last downloaded from Strava and analysed by Intervals.icu in ISO-8601 format
- `timezone` Strava timezone

---

<div class="post-metadata">

**Author:** ![cfculhane](https://forum.intervals.icu/user_avatar/forum.intervals.icu/cfculhane/32/656_2.png) [@cfculhane](https://forum.intervals.icu/u/cfculhane)\
**Post date:** [30 March 2020 00:46 UTC](https://forum.intervals.icu/t/download-all-activities-in-csv-format/599/2 "2020-03-30T00:46:22Z")

</div>

Hi David,

This is great! I can see the API request is linked to athlete ID so this could be called elsewhere - but is there any chance you could provide an authentication endpoint with intervals.icu? Combining the CSV export with requests to /api/activity/\<activity\_id\>/streams and other endpoints would allow integration into tools such as GoldenCheetah.

---

<div class="post-metadata">

**Author:** ![david](https://forum.intervals.icu/user_avatar/forum.intervals.icu/david/32/30189_2.png) [@david](https://forum.intervals.icu/u/david)\
**Post date:** [30 March 2020 04:08 UTC](https://forum.intervals.icu/t/download-all-activities-in-csv-format/599/3 "2020-03-30T04:08:36Z")

</div>

Will do. Thats easy enough and on the list. I just need to be very careful to not look like a proxy for the Strava API (thats not allowed). Nearly everything in the CSV is calculated by Intervals.icu so I think thats ok.

---

<div class="post-metadata">

**Author:** ![david](https://forum.intervals.icu/user_avatar/forum.intervals.icu/david/32/30189_2.png) [@david](https://forum.intervals.icu/u/david)\
**Post date:** [30 March 2020 04:10 UTC](https://forum.intervals.icu/t/download-all-activities-in-csv-format/599/4 "2020-03-30T04:10:01Z")

</div>

I should note that all the times are in seconds and distances etc. are metric.

---

<div class="post-metadata">

**Author:** ![Wojciech\_Marszalkows](https://forum.intervals.icu/user_avatar/forum.intervals.icu/wojciech_marszalkows/32/29308_2.png) [@Wojciech\_Marszalkows](https://forum.intervals.icu/u/Wojciech_Marszalkows)\
**Post date:** [30 March 2020 07:23 UTC](https://forum.intervals.icu/t/download-all-activities-in-csv-format/599/5 "2020-03-30T07:23:13Z")

</div>

Could you add the estimated FTP for each activity in the csv file? Not only the maximum estimated FTP.

---

<div class="post-metadata">

**Author:** ![cfculhane](https://forum.intervals.icu/user_avatar/forum.intervals.icu/cfculhane/32/656_2.png) [@cfculhane](https://forum.intervals.icu/u/cfculhane)\
**Post date:** [30 March 2020 09:22 UTC](https://forum.intervals.icu/t/download-all-activities-in-csv-format/599/6 "2020-03-30T09:22:55Z")

</div>

Hi David,

Thanks for the quick response - yeah that makes a lot of sense!

---

<div class="post-metadata">

**Author:** ![david](https://forum.intervals.icu/user_avatar/forum.intervals.icu/david/32/30189_2.png) [@david](https://forum.intervals.icu/u/david)\
**Post date:** [30 March 2020 16:08 UTC](https://forum.intervals.icu/t/download-all-activities-in-csv-format/599/7 "2020-03-30T16:08:20Z")

</div>

I just added those fields after power\_spike\_threshold. These are for the power model for the ride. Note that this is looked up from the best max effort on the ride and not derived from the whole ride power curve.

```
icu_pm_ftp
icu_pm_cp
icu_pm_w_prime
icu_pm_p_max
```

---

<div class="post-metadata">

**Author:** ![Wojciech\_Marszalkows](https://forum.intervals.icu/user_avatar/forum.intervals.icu/wojciech_marszalkows/32/29308_2.png) [@Wojciech\_Marszalkows](https://forum.intervals.icu/u/Wojciech_Marszalkows)\
**Post date:** [30 March 2020 20:41 UTC](https://forum.intervals.icu/t/download-all-activities-in-csv-format/599/8 "2020-03-30T20:41:24Z")

</div>

A fantastic option. Progress can be seen and this motivates me to continue training 🙂 Chart from the last five months.

 ![Screenshot_1](https://forum.intervals.icu/uploads/default/original/1X/cdcbabaa6be8aba59347045d76c9b5d19335182a.png)

---

<div class="post-metadata">

**Author:** ![david](https://forum.intervals.icu/user_avatar/forum.intervals.icu/david/32/30189_2.png) [@david](https://forum.intervals.icu/u/david)\
**Post date:** [31 March 2020 19:05 UTC](https://forum.intervals.icu/t/download-all-activities-in-csv-format/599/9 "2020-03-31T19:05:59Z")

</div>

Thats neat though you should probably swap things around so the trend line goes up! 🙂

---

<div class="post-metadata">

**Author:** ![david](https://forum.intervals.icu/user_avatar/forum.intervals.icu/david/32/30189_2.png) [@david](https://forum.intervals.icu/u/david)\
**Post date:** [1 April 2020 16:23 UTC](https://forum.intervals.icu/t/download-all-activities-in-csv-format/599/10 "2020-04-01T16:23:36Z")

</div>

There is now an API with the CSV download the sole endpoint (so far!).

[API access to Intervals.icu](https://forum.intervals.icu/t/api-access-to-intervals-icu/609)

---

<div class="post-metadata">

**Author:** ![Ralf\_Venske\_Biker](https://forum.intervals.icu/user_avatar/forum.intervals.icu/ralf_venske_biker/32/28183_2.png) [@Ralf\_Venske\_Biker](https://forum.intervals.icu/u/Ralf_Venske_Biker)\
**Post date:** [5 April 2020 08:44 UTC](https://forum.intervals.icu/t/download-all-activities-in-csv-format/599/11 "2020-04-05T08:44:25Z")

</div>

Hi David, great functionality. Thank you for that.  
I use the CSV download as one of the rare functionalities of Garmin Connect which gives the user ability to check the data in more details - tailor made reporting. I would like to use intervalls.icu download CSV more often, but need more core data e.g. Power, TSS, NP etc. Is there a chance to provide each user a selection of data to select for the download (tick-boxes)?  
However, the first look to the data of intervals.icu download raised a lot of questions.

- Moving time in seconds is fine, but should be part of a structured field naming convention
- Max and Average speed is incorrect or with another measurement apart from kmph or mph
- Pleae provide every single field into the selection - users will more than happy to analyze the data on their own (I would pay for it and would sell my Edge 830 to move to Wahoo ROAM)

Could you let me know, whether we can expect changes?  
Thank you so much in advance. Take care, stay healthy and waxed chain right side! Cheers Ralf

---

<div class="post-metadata">

**Author:** ![david](https://forum.intervals.icu/user_avatar/forum.intervals.icu/david/32/30189_2.png) [@david](https://forum.intervals.icu/u/david)\
**Post date:** [5 April 2020 10:52 UTC](https://forum.intervals.icu/t/download-all-activities-in-csv-format/599/12 "2020-04-05T10:52:17Z")

</div>

The fields you are looking for are there, I can’t use the usual names as they are trademarked.

- icu\_training\_load = TSS
- icu\_normalized\_watts = NP

I am busy brewing a batch of beer but will publish a glossary on this thread later today.

---

<div class="post-metadata">

**Author:** ![david](https://forum.intervals.icu/user_avatar/forum.intervals.icu/david/32/30189_2.png) [@david](https://forum.intervals.icu/u/david)\
**Post date:** [5 April 2020 13:34 UTC](https://forum.intervals.icu/t/download-all-activities-in-csv-format/599/13 "2020-04-05T13:34:01Z")

</div>

I have added a field glossary to the post at the top of this thread. I will add a field selector soon.

That should be just about everything. If something is missing please let me know and I will add it if possible.

---

<div class="post-metadata">

**Author:** ![JasonMontfort](https://forum.intervals.icu/user_avatar/forum.intervals.icu/jasonmontfort/32/26436_2.png) [@JasonMontfort](https://forum.intervals.icu/u/JasonMontfort)\
**Post date:** [9 January 2023 05:50 UTC](https://forum.intervals.icu/t/download-all-activities-in-csv-format/599/14 "2023-01-09T05:50:51Z")

</div>

Is it possible to add the “Description” field into the CSV export?

 ![Screenshot 2023-01-09 at 16.48.03](https://forum.intervals.icu/uploads/default/original/3X/6/3/6355bb12a4d189a82916f575eb8e6e0de51e417c.jpeg)

---

<div class="post-metadata">

**Author:** ![pdj-84](https://forum.intervals.icu/user_avatar/forum.intervals.icu/pdj-84/32/28553_2.png) [@pdj-84](https://forum.intervals.icu/u/pdj-84)\
**Post date:** [20 August 2024 18:51 UTC](https://forum.intervals.icu/t/download-all-activities-in-csv-format/599/15 "2024-08-20T18:51:57Z")

</div>

Hi, would appreciate it if gear could be added to the CSV export as well. it is available through the API in individual activities but not in the entire CSV GET.

---

<div class="post-metadata">

**Author:** ![david](https://forum.intervals.icu/user_avatar/forum.intervals.icu/david/32/30189_2.png) [@david](https://forum.intervals.icu/u/david)\
**Post date:** [4 September 2024 05:13 UTC](https://forum.intervals.icu/t/download-all-activities-in-csv-format/599/16 "2024-09-04T05:13:58Z")

</div>

I have added gear.

> [@JasonMontfort](#):
>
> Is it possible to add the “Description” field into the CSV export?

I added description.

The CSV now also includes all custom activity fields.

---

<div class="post-metadata">

**Author:** ![Chris\_Bennett](https://forum.intervals.icu/user_avatar/forum.intervals.icu/chris_bennett/32/41374_2.png) [@Chris\_Bennett](https://forum.intervals.icu/u/Chris_Bennett)\
**Post date:** [4 September 2024 07:20 UTC](https://forum.intervals.icu/t/download-all-activities-in-csv-format/599/17 "2024-09-04T07:20:13Z")

</div>

@david you’ve changed something.  
My linked csv file used to look like this

 ![image](https://forum.intervals.icu/uploads/default/original/3X/4/f/4f72bb2f2ee92240bb85f59084979c35a870f1b8.png)  
where Column C is just me extrapolating the date from your date field, but since your update (or something else, as it only started today) its looking like this  
 ![image](https://forum.intervals.icu/uploads/default/original/3X/4/2/423fcc6f2ab6d9ab21a6835113763e66dd2c7027.png)  
It looks like its bringing in the comments field from Strava.

Is there a way I can tell it not to ? If its going to brake something else I might be able to find a work around.

---

<div class="post-metadata">

**Author:** ![david](https://forum.intervals.icu/user_avatar/forum.intervals.icu/david/32/30189_2.png) [@david](https://forum.intervals.icu/u/david)\
**Post date:** [4 September 2024 07:25 UTC](https://forum.intervals.icu/t/download-all-activities-in-csv-format/599/18 "2024-09-04T07:25:48Z")

</div>

What are you importing the CSV into? I just downloaded yours and it imported fine into Numbers and another tool on my Mac so I think the CSV is well formed.

I added gear and description columns as well as custom activity fields.

---

<div class="post-metadata">

**Author:** ![Chris\_Bennett](https://forum.intervals.icu/user_avatar/forum.intervals.icu/chris_bennett/32/41374_2.png) [@Chris\_Bennett](https://forum.intervals.icu/u/Chris_Bennett)\
**Post date:** [4 September 2024 07:30 UTC](https://forum.intervals.icu/t/download-all-activities-in-csv-format/599/19 "2024-09-04T07:30:41Z")

</div>

I’m using the API to import into Excel.  
I’ve just disabled [winsock.com](http://winsock.com) in Strava (I dont really use the info anyway), I’ll try during the day to force some updates and see if it doesnt fix the import.

---

<div class="post-metadata">

**Author:** ![david](https://forum.intervals.icu/user_avatar/forum.intervals.icu/david/32/30189_2.png) [@david](https://forum.intervals.icu/u/david)\
**Post date:** [4 September 2024 07:39 UTC](https://forum.intervals.icu/t/download-all-activities-in-csv-format/599/20 "2024-09-04T07:39:12Z")

</div>

I found the problem. Your descriptions contained carriage returns and that was breaking the Excel import. I have removed those from the CSV. It should work now. Tx for the report.

[Next page](https://forum.intervals.icu/t/download-all-activities-in-csv-format/599.md?page=2)
