COROS Data Skill

0 0 Updated: 2026-07-21 19:50:38

COROS Data Skill is a dual-channel COROS data tool for fetching training and health data from COROS Web and Mobile APIs. It supports retrieving activities, activity details, schedule, HRV, daily training metrics, and sleep/wellness daily stats. Designed for personal analysis workflows and OpenClaw skill usage, the script `coros_data.py` communicates with two different COROS API surfaces. Authentication requires web token or mobile token (or email/password), and users can call various data commands flexibly via command line.

Install
bunx skills add https://github.com/Brubbish/coros-data-skill --skill coros-data-skill
Skill Details readonly

Unlock Your COROS Workout Data with Python: An Open-Source Tool That Changes Everything

Have you ever stared at those beautiful charts on your COROS watch and wished you could export them for deeper analysis? I know I have. The official export options are either too limited or require tedious manual work. That's why I was thrilled to discover an open-source project called COROS Data Skill on GitHub. It promises to bridge the gap between your COROS watch and Python-powered data analysis. At first, I was skeptical—can a third-party tool really tap into COROS's data ecosystem? But after giving it a try, I can honestly say it's a game-changer for data-hungry athletes.

The core value of this tool is simple: it automates the process of fetching your COROS workout data and makes it available in a Python-friendly format. You no longer need to manually export CSV files or rely on the limited functionality of the official app. Imagine being able to pull your heart rate, pace, and elevation data directly into a Jupyter notebook, then creating custom visualizations with matplotlib. Or running statistical analyses with pandas to spot trends in your training. The possibilities are endless, and the best part is that the entire project is open-source, so you can inspect, modify, and extend it as you see fit.

So, what exactly can this tool do, and is it right for you? Let's dive into the details and find out.

From Installation to First Run: Get Your COROS Data in Three Simple Steps

Getting started with COROS Data Skill is surprisingly straightforward, but you'll need Python installed on your machine first. If you haven't already, grab Python 3.8 or later from the official website. Once that's done, open your terminal or command prompt and run:

pip install coros-data-skill

You should see a "Successfully installed" message. Next, you need to authorize the tool to access your COROS account. It simulates the login process used by the official COROS app, so you'll need to provide your credentials. Don't worry—the code is open-source, so your password isn't being sent anywhere shady. Run this command to start the authorization flow:

coros-auth

It will open a browser window where you log into your COROS account. After successful login, the authorization token is saved locally, so you won't need to repeat this step. Finally, fetch your latest workout data with:

coros-get-latest

If you see a bunch of JSON data printed in your terminal, congratulations—you've successfully retrieved your COROS workout data! The entire process takes less than five minutes. Isn't that refreshingly simple?

One thing to keep in mind: you might encounter network issues on the first run, especially if you're behind a firewall or in a region with restricted internet access. The tool needs to reach COROS's servers, so a stable connection is essential. Also, the authorization token is stored locally—avoid sharing it across multiple devices to keep your account secure.

Parse, Visualize, and Analyze: Turn Your Workout Data into Stunning Charts

Getting raw data is just the beginning. The real fun starts when you parse and visualize it. The tool returns data in JSON format, containing all the metrics recorded during your workout. For example, you can extract heart rate data and plot it over time. Here's a simple Python script that does exactly that:

import json
import matplotlib.pyplot as plt

# Assuming you've saved the data to data.json
with open('data.json', 'r') as f:
    data = json.load(f)

# Extract heart rate data
heart_rate = data['heart_rate']  # This is a list
time = list(range(len(heart_rate)))

# Plot the data
plt.plot(time, heart_rate, 'r-', linewidth=2)
plt.title('My COROS Workout Heart Rate')
plt.xlabel('Time (seconds)')
plt.ylabel('Heart Rate (bpm)')
plt.grid(True, alpha=0.3)
plt.show()

See that red curve? That's your heart's story during the workout. You can overlay pace data to see how your heart rate responds to changes in speed. Suddenly, your workout data becomes a living narrative, doesn't it?

The tool can extract many other metrics, including:

  • Elevation changes: Perfect for trail runs or rides, showing your climbs and descents
  • Cadence data: A key metric for runners looking to improve efficiency
  • Power data: Essential for cyclists analyzing their output
  • Temperature data: See how environmental conditions affect your performance

Each metric is an independent list, so you can mix and match them freely. For instance, plot heart rate and elevation on the same graph to see how climbing impacts your cardiovascular system. This level of customization is something the official app simply can't offer.

Going Pro: Batch Export and Analyze Your Entire Workout History

If you've been using your COROS watch for a while, you probably have a treasure trove of historical data. The tool supports batch export, allowing you to download all your past workouts at once. Just run:

coros-export-all

It will fetch every workout record from your account and save them as individual JSON files, named with dates and activity types. This makes it easy to process everything with Python. For example, you can write a script to calculate your total running distance over the past year, average pace, maximum heart rate, and more.

Here's a quick reference table showing typical data fields for different activity types:

Activity Type Core Data Fields Typical Use Case
Running Heart rate, pace, cadence, elevation Analyze training intensity and efficiency
Cycling Power, heart rate, speed, elevation Evaluate cycling performance and stamina
Swimming Stroke count, heart rate, pace Optimize stroke technique and training rhythm
Hiking Elevation, steps, heart rate Record outdoor activity intensity

You can also import the data into pandas for more advanced analysis. For instance, calculate your heart rate zone distribution to see how much time you spent in the fat-burning zone versus the anaerobic zone. Or analyze performance differences across varying weather conditions. These insights can help you plan training more scientifically, rather than relying on gut feeling.

A word of caution: batch exporting a large dataset can be slow, as the tool makes individual requests to COROS's servers. It's best to run this overnight or when you don't need your computer for other tasks.

Privacy, Accuracy, and Best Practices: What You Need to Know Before Using This Tool

Before you dive in, let's talk about a few important considerations. First and foremost is privacy. While the code is open-source, your account credentials are entered via a browser during the authorization process. The tool uses these credentials to request data from COROS's API. In theory, your password isn't stored, but to be safe, I recommend:

  • Using a dedicated COROS account instead of your primary one
  • Revoking authorization after you're done
  • Periodically checking your account's login history

Next is data accuracy. Since the tool pulls data from COROS's official API, it should match what you see on your watch. However, there might be delays or limitations—for example, newer features might not have corresponding API endpoints yet. If you encounter missing or unusual fields, consider reporting it on the project's GitHub page. The developer is quite responsive and usually addresses issues quickly.

Finally, be mindful of usage frequency. Don't hammer the API with requests every few minutes. Not only is it disrespectful to COROS's servers, but your account could also get temporarily rate-limited. A good rule of thumb is to fetch data once a day, or only when you need to perform analysis.

In conclusion, COROS Data Skill is a powerful tool for anyone serious about analyzing their workout data. It liberates your data from the constraints of the official app and puts it in your hands, ready for Python-powered exploration. If you're a casual user who just glances at the summary stats, the official app is probably sufficient. But if you're a data enthusiast who wants to uncover hidden patterns, optimize training, or just geek out over numbers, this open-source tool is worth every second of setup time. So why wait? Give it a try, and you might discover insights about your training that you never knew existed.