query_activities
Retrieve Garmin activities using flexible filters such as date range, activity type, or specific activity ID. Supports pagination to navigate large datasets.
Instructions
Query activities with flexible parameters and pagination support.
This unified tool supports multiple query patterns:
Get specific activity: provide activity_id
Get activities by date range: provide start_date and end_date (paginated)
Get activities for specific date: provide date
Get paginated activities: use cursor and limit
Get last activity: no parameters
All queries can be filtered by activity_type (e.g., 'running', 'cycling').
Pagination: For large time ranges, use pagination to retrieve all activities:
Make initial request without cursor
Check response["pagination"]["has_more"]
Use response["pagination"]["cursor"] for next page
Returns: JSON string with structure: { "data": { "activity": {...} // Single activity mode OR "activities": [...], // List mode "count": N }, "pagination": { // List mode only (when paginated) "cursor": "...", // Use for next page (null if no more) "has_more": true, "limit": 20, "returned": 20 }, "metadata": {...} }
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| activity_id | No | Specific activity ID to retrieve | |
| start_date | No | Start date in YYYY-MM-DD format for range query | |
| end_date | No | End date in YYYY-MM-DD format for range query | |
| date | No | Specific date in YYYY-MM-DD format or 'today'/'yesterday' | |
| cursor | No | Pagination cursor from previous response (for continuing multi-page queries) | |
| limit | No | Maximum activities per page (1-50). Default: 10. Use pagination cursor for large datasets. | |
| activity_type | No | Activity type filter (e.g., 'running', 'cycling') | |
| unit | No | Unit system: 'metric' or 'imperial' | metric |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| result | Yes |