According to AlphaMoat, as of 2026-09, Strava has 3,799 downloads and 10 stars — ranked #2,779 of 5,078 AI skills overall, and #211 of 399 in Data Analysis.
| Platform | Installs | Downloads | Stars | Comments |
|---|---|---|---|---|
| ClawHub ↗ | 122 | 3.7K | 10 | - |
| SkillHub ↗ | 238 | 3.8K | 9 | — |
Platforms count differently and update at different times.
This skill loads and analyzes Strava activities, stats, and workouts through the Strava API: after creating an API application and exchanging OAuth tokens, set STRAVA_ACCESS_TOKEN and use curl to list recent activities (per_page pagination), filter date ranges with Unix timestamps, fetch single-activity details, athlete profiles, and aggregate stats. Access tokens expire every 6 hours and need refresh via refresh_token; rate limits are 200 requests per 15 minutes and a daily request cap, and a 401 means the token expired.
Profile published 2026-10-27
Generated from the skill’s documentation as examples; not results of actual runs.
The counting method changed in 2026-09: skills with the same name are now counted separately by author, and the full catalog is covered. Dashed lines show months before the change; they are not compared with later months, and no growth is computed across the change.
| Month | Downloads | MoM | Stars |
|---|---|---|---|
| 2026-09 | 3.8K | — | 10 |
| 2026-08 | 3.6K | +3.1% | 10 |
| 2026-07 | 3.5K | — | 10 |
| 2026-05 | 3.1K | — | 9 |
| 2026-03 | 2.7K | — | 9 |
The author’s original file, shown as plain text without edits or review by AlphaMoat. Links are not clickable; check commands before running them. Fetched 2026-10-23.
---
name: strava
description: Load and analyze Strava activities, stats, and workouts using the Strava API
homepage: https://developers.strava.com/
metadata: {"clawdbot":{"emoji":"🏃","requires":{"bins":["curl"],"env":["STRAVA_ACCESS_TOKEN"]},"primaryEnv":"STRAVA_ACCESS_TOKEN"}}
---
# Strava Skill
Interact with Strava to load activities, analyze workouts, and track fitness data.
## Setup
### 1. Create a Strava API Application
1. Go to https://www.strava.com/settings/api
2. Create an app (use `http://localhost` as callback for testing)
3. Note your **Client ID** and **Client Secret**
### 2. Get Initial OAuth Tokens
Visit this URL in your browser (replace CLIENT_ID):
```
https://www.strava.com/oauth/authorize?client_id=CLIENT_ID&response_type=code&redirect_uri=http://localhost&approval_prompt=force&scope=activity:read_all
```
After authorizing, you'll be redirected to `http://localhost/?code=AUTHORIZATION_CODE`
Exchange the code for tokens:
```bash
curl -X POST https://www.strava.com/oauth/token \
-d client_id=YOUR_CLIENT_ID \
-d client_secret=YOUR_CLIENT_SECRET \
-d code=AUTHORIZATION_CODE \
-d grant_type=authorization_code
```
This returns `access_token` and `refresh_token`.
### 3. Configure Credentials
Add to `~/.clawdbot/clawdbot.json`:
```json
{
"skills": {
"entries": {
"strava": {
"enabled": true,
"env": {
"STRAVA_ACCESS_TOKEN": "your-access-token",
"STRAVA_REFRESH_TOKEN": "your-refresh-token",
"STRAVA_CLIENT_ID": "your-client-id",
"STRAVA_CLIENT_SECRET": "your-client-secret"
}
}
}
}
}
```
Or use environment variables:
```bash
export STRAVA_ACCESS_TOKEN="your-access-token"
export STRAVA_REFRESH_TOKEN="your-refresh-token"
export STRAVA_CLIENT_ID="your-client-id"
export STRAVA_CLIENT_SECRET="your-client-secret"
```
## Usage
### List Recent Activities
Get the last 30 activities:
```bash
curl -s -H "Authorization: Bearer ${STRAVA_ACCESS_TOKEN}" \
"https://www.strava.com/api/v3/athlete/activities?per_page=30"
```
Get the last 10 activities:
```bash
curl -s -H "Authorization: Bearer ${STRAVA_ACCESS_TOKEN}" \
"https://www.strava.com/api/v3/athlete/activities?per_page=10"
```
### Filter Activities by Date
Get activities after a specific date (Unix timestamp):
```bash
# Activities after Jan 1, 2024
curl -s -H "Authorization: Bearer ${STRAVA_ACCESS_TOKEN}" \
"https://www.strava.com/api/v3/athlete/activities?after=1704067200"
```
Get activities in a date range:
```bash
# Activities between Jan 1 - Jan 31, 2024
curl -s -H "Authorization: Bearer ${STRAVA_ACCESS_TOKEN}" \
"https://www.strava.com/api/v3/athlete/activities?after=1704067200&before=1706745600"
```
### Get Activity Details
Get full details for a specific activity (replace ACTIVITY_ID):
```bash
curl -s -H "Authorization: Bearer ${STRAVA_ACCESS_TOKEN}" \
"https://www.strava.com/api/v3/activities/ACTIVITY_ID"
```
### Get Athlete Profile
Get the authenticated athlete's profile:
```bash
curl -s -H "Authorization: Bearer ${STRAVA_ACCESS_TOKEN}" \
"https://www.strava.com/api/v3/athlete"
```
### Get Athlete Stats
Get athlete statistics (replace ATHLETE_ID):
```bash
curl -s -H "Authorization: Bearer ${STRAVA_ACCESS_TOKEN}" \
"https://www.strava.com/api/v3/athletes/ATHLETE_ID/stats"
```
### Pagination
Navigate through pages:
```bash
# Page 1 (default)
curl -s -H "Authorization: Bearer ${STRAVA_ACCESS_TOKEN}" \
"https://www.strava.com/api/v3/athlete/activities?page=1&per_page=30"
# Page 2
curl -s -H "Authorization: Bearer ${STRAVA_ACCESS_TOKEN}" \
"https://www.strava.com/api/v3/athlete/activities?page=2&per_page=30"
```
## Token Refresh
Access tokens expire every 6 hours. Refresh using the helper script:
```bash
bash {baseDir}/scripts/refresh_token.sh
```
Or manually:
```bash
curl -s -X POST https://www.strava.com/oauth/token \
-d client_id="${STRAVA_CLIENT_ID}" \
-d client_secret="${STRAVA_CLIENT_SECRET}" \
-d grant_type=refresh_token \
-d refresh_token="${STRAVA_REFRESH_TOKEN}"
```
The response includes a new `access_token` and `refresh_token`. Update your configuration with both tokens.
## Common Data Fields
Activity objects include:
- `name` — Activity title
- `distance` — Distance in meters
- `moving_time` — Moving time in seconds
- `elapsed_time` — Total time in seconds
- `total_elevation_gain` — Elevation gain in meters
- `type` — Activity type (Run, Ride, Swim, etc.)
- `sport_type` — Specific sport type
- `start_date` — Start time (ISO 8601)
- `average_speed` — Average speed in m/s
- `max_speed` — Max speed in m/s
- `average_heartrate` — Average heart rate (if available)
- `max_heartrate` — Max heart rate (if available)
- `kudos_count` — Number of kudos received
## Rate Limits
- **200 requests** per 15 minutes
- **2,000 requests** per day
If you hit rate limits, responses will include `X-RateLimit-*` headers.
## Tips
- Convert Unix timestamps: `date -d @TIMESTAMP` (Linux) or `date -r TIMESTAMP` (macOS)
- Convert meters to km: divide by 1000
- Convert meters to miles: divide by 1609.34
- Convert m/s to km/h: multiply by 3.6
- Convert m/s to mph: multiply by 2.237
- Convert seconds to hours: divide by 3600
- Parse JSON with `jq` if available, or use `grep`/`sed` for basic extraction
## Examples
Get running activities from last week with distances:
```bash
LAST_WEEK=$(date -d '7 days ago' +%s 2>/dev/null || date -v-7d +%s)
curl -s -H "Authorization: Bearer ${STRAVA_ACCESS_TOKEN}" \
"https://www.strava.com/api/v3/athlete/activities?after=${LAST_WEEK}&per_page=50" \
| grep -E '"name"|"distance"|"type"'
```
Get total distance from recent activities:
```bash
curl -s -H "Authorization: Bearer ${STRAVA_ACCESS_TOKEN}" \
"https://www.strava.com/api/v3/athlete/activities?per_page=10" \
| grep -o '"distance":[0-9.]*' | cut -d: -f2 | awk '{sum+=$1} END {print sum/1000 " km"}'
```
## Error Handling
If you get a 401 Unauthorized error, your access token has expired. Run the token refresh command.
If you get rate limit errors, wait until the limit window resets (check `X-RateLimit-Usage` header).
The data layer for AdMapix: turn ad and app queries into API calls that return raw JSON only.
Searches the public web through Tavily and returns structured results with links and snippets.
A data-analysis skill that turns databases, spreadsheets, and raw exports into decision-ready conclusions.
A skill that analyzes stocks and cryptocurrencies on Yahoo Finance data and tracks a portfolio.
Manages a local stock watchlist and summarizes recent quotes for its codes from the Tonghuashun stock pages.
全网招中标数据查询与分析助手。当用户涉及以下任何场景时,必须使用此SKILL:查询招标/中标公告、搜索标讯、查找临期/即将到期项目、商机预测、推荐潜在投标供应商、分析公司主营业务/历史中标、查询公司上下游合作客户与供应商、分析竞争对手/竞对企业、查询Top采购单位/Top中标单位/Top中标品牌、招中标数据统计分析(按月/季/年/省份/品牌等维度)、查询品牌型号历史中标单价/价格趋势、市场分析/行业分析/采购寻源/渠道拓展等采购与投标相关场景。即使用户没有提到「知了标讯」,只要涉及招投标、采购、中标、供应商、竞争对手等关键词,都应使用本SKILL。
Track blog and RSS/Atom feed updates from the command line.
Summarises per-model usage cost for Codex or Claude.
Data month: 2026-09 · Downloads, stars and installs are aggregated monthly from public skill registries (ClawHub, SkillHub). See methodology.