TrainingPeaks · Rate Limits

Trainingpeaks Rate Limits

TrainingPeaks does not publish a fixed numeric rate limit for the Partners API. Per the API FAQ, there is no preset hard limit; partners are asked to minimize disruptive load, and applications with a much larger user base or that perform large batch operations are asked to contact TrainingPeaks to discuss expected access patterns. Effective throughput is instead shaped by OAuth token lifetime (short-lived access tokens that must be refreshed), by Premium-vs-Basic gating (several endpoints return 403 for basic athletes), and by the recommended incremental-sync pattern (poll the workouts "changed since date" endpoints and subscribe to workout webhooks rather than repeatedly scanning full date ranges).

Trainingpeaks Rate Limits is the machine-readable rate-limit profile for TrainingPeaks on the APIs.io network, conforming to the API Commons Rate Limits specification.

It captures 4 rate-limit definitions, measuring requests, access, seconds, and minutes.

The profile also includes 4 backoff/retry policies defined and response codes documented for unauthorized, forbidden, and serviceUnavailable.

Tagged areas include Fitness, Endurance Training, Rate Limiting, and Quotas.

4 Limits
FitnessEndurance TrainingRate LimitingQuotas

Limits

Partners API Requests application
requests
not published (no preset hard limit)
No fixed numeric request-rate limit is documented. Partners are asked to minimize disruptive load; large user bases or batch operations require prior arrangement with TrainingPeaks.
Premium-Restricted Endpoints athlete
access
gated by athlete subscription
Metrics-by-date-range, nutrition-by-date-range, workout details, mean-max, and time-in-zones require a Premium athlete; Basic athletes receive HTTP 403.
OAuth Access Token Lifetime token
seconds
short-lived (expires_in)
Access tokens expire after a brief period; expired tokens return 401 and must be refreshed.
Authorization Code Lifetime token
minutes
60
The authorization code returned to the redirect_uri expires in 60 minutes before token exchange.

Policies

Incremental Sync
Use the workouts "changed since date" endpoints and webhook subscriptions (workout-created/updated/deleted) for incremental updates instead of repeatedly scanning full date ranges.
Contact for Scale
Applications with large user bases or batch workloads must contact TrainingPeaks to discuss expected access patterns before ramping.
HTTPS Only
All OAuth and API calls must be over HTTPS; insecure HTTP requests receive an HTTP 302 redirect to HTTPS.
Retry on 503
A 503 Service Unavailable is generally temporary (overload or maintenance); retry the request later.

Sources