Endomondo

From Archiveteam
Revision as of 08:14, 8 December 2020 by Tech234a (talk | contribs) (Add additional pages, embed URLs, mention other API domains)
Jump to navigation Jump to search
Endomondo
Endomondo logo
Www-endomondo-com.png
URL https://www.endomondo.com/
Status Closing
Archiving status Upcoming...
Archiving type Unknown
IRC channel #findelmundo (on hackint)

Endomondo is a GPS workout tracker with optional social networking features.

It launched around September 2008[1], and was acquired by Under Armour in February 2015[2].

On October 30, 2020, Under Armour announced that Endomondo would be shut down on December 31, 2020, with users being able to contact support to request a copy or portability of their data until March 31, 2021[3][4]. Users were encouraged to transfer their data to Under Armour's MapMyFitness platform using an automated migration feature[5].

Site Structure

User profile: https://www.endomondo.com/profile/9927165

User workouts list: https://www.endomondo.com/users/9927165/workouts/latest

Direct workout link: https://www.endomondo.com/users/9927165/workouts/1582417745

User stats link: https://www.endomondo.com/stats/9927165 (seems to always require authentication to access)

User training plan: https://www.endomondo.com/training/plan/9927165

User history: https://www.endomondo.com/users/9927165/history (seems to always require authentication to access)

Routes: https://www.endomondo.com/routes/ (seems to always require authentication to access)

Sample route: https://www.endomondo.com/routes/400681995 (seems to always require authentication to access)

Team: https://www.endomondo.com/teams/14970924

Team members: https://www.endomondo.com/teams/14970924/members

Team leaderboard: https://www.endomondo.com/teams/14970924/leaderboard

It appears that teams were discontinued in 2015[6].

Challenges listing: https://www.endomondo.com/challenges

Challenge example (makes XHR requests to /?x=): https://www.endomondo.com/challenges/35790072

Embed Widgets

Workout: https://www.endomondo.com/embed/workouts?w=n4ngxsBuen0&width=680&height=600 (width and height parameters are optional)

Challenge: https://www.endomondo.com/embed/challenge?id=24246208

Challenge (page 2 of above page): https://www.endomondo.com/embed/challenge?x=7DMfKdOSZKK7eUPbbVAKyg8*tfrFJUATbJZh5ACCv1kAHROhPL6BWptmSTr4EwxWJiVAJMMRlnTD*0RY6lfrUPOXVWTIseTj1JS1QX6PIug

Route: https://www.endomondo.com/embed/routes?id=313743565&width=900&height=600

Route (XHR request made by above widget): https://www.endomondo.com/?x=bh3ebj1IPkwvkjIcqgKxmsmIkJOiH*SH4xytTeUsvFhUKBsd4xZDZP*ifv1uMkYaMuJ5NTAZ1ygIi03fsUc89Oha6P56JImRKHsAdYoXMmzczySyJCst4qlrK-fX*KNb-iV532lnnjpE*FA5QZtmqqWgyPa0Ex9-xV2MxRRUUOg2UuiUxpueCQ&swLat=56.472290167274856&swLng=8.025839549560567&neLat=56.54749904084606&neLng=8.212950450439473&zoom=12&random=0.7136566329842371

Team Summary: https://www.endomondo.com/embed/team/summary?id=14998340&measure=0&width=450&height=343

Team Summary (another example): https://www.endomondo.com/embed/team/summary?id=j1361x3gyP4&width=240&height=247

User Summary: https://www.endomondo.com/embed/user/summary?id=9927165

Additional parameters for above URL: &sport=18&from=20201201&to=20201231&measure=1&zone=Gm0500_EST&width=680&height=217

User Workouts: https://www.endomondo.com/embed/user/workouts?id=9927165

User Workouts (page 2 of above page): https://www.endomondo.com/embed/user/workouts?x=uDQhOmGj*5Us6sYrUFXdHtAgChJ5speUJ0RB3Uv5cg*Ru8V6*x72LJ6Qg*AXQpmLAjH6dKYm7Bo2nKzzPv6iY6hBYg1wlAWhW3GWsWzUpW8

It appears that an event embed widget also existed at some point[7].

XHR API Used by Profile Page

Sample request: https://www.endomondo.com/?x=[some lengthy token]&random=[some value between 0 and 1, likely for caching prevention]

These requests are used when clicking on "2 People Like This" to list who liked a workout when more than one person liked a workout (also used when closing this list). This API is also used when rolling over the "Show More" button at the bottom of a profile to load more workouts. This API returns responses containing XML and HTML code to be added to the existing webpage.

REST API

This API returns a JSON response.

Used by Workout Page

List workouts in date range: https://www.endomondo.com/rest/v1/users/9927165/workouts?before=2020-08-13T03%3A59%3A59.999Z&after=2020-06-26T04%3A00%3A00.000Z

Workout information: https://www.endomondo.com/users/9927165/workouts/1582417745

User workout feed (retrieved with workout): https://www.endomondo.com/rest/v1/users/9927165/feeds/281476616676861

Planned workouts: https://www.endomondo.com/rest/v1/users/9927165/planned?before=2020-07-16T03%3A59%3A59.999Z&after=2020-05-29T04%3A00%3A00.000Z

Additional API Endpoints

User info REST endpoint: https://www.endomondo.com/rest/v1/users/9927165

Export workout (TCX): https://www.endomondo.com/rest/v1/users/9927165/workouts/1571269570/export?format=TCX (requires authentication)[8]

Export workout (GPX): https://www.endomondo.com/rest/v1/users/9927165/workouts/1571269570/export?format=GPX (requires authentication)[9]

Mobile API

There is another JSON-based API which is used by the mobile app located at https://api.mobile.endomondo.com/mobile/api/. This API requires an authToken parameter for all endpoints.

https://api.endomondo.com also seems to be an active domain.