Read-only, public, unauthenticated access to FitAstra's verified coaches, public fitness events, featured reviews and daily challenge — the same data that appears on this site.
None. Every operation below is public and anonymous — do not send credentials, an Authorization header, or cookies. The base URL is https://www.fitastra.co.
/api/v1/coaches?page=0operationId: listCoaches
Verified coaches with rating, review count, sessions delivered, specialties and starting session price in rupees.
/api/v1/events?page=0&scope=upcomingoperationId: listEvents
Public fitness events with workout type, ISO 8601 start time, location, host and spots remaining. Use scope=recent for already-hosted events.
/api/v1/reviews/featuredoperationId: listFeaturedReviews
Featured client reviews of FitAstra coaches. Reviewers are identified by first name only.
/api/v1/challenges/todayoperationId: getTodaysChallenge
Today's bodyweight challenge with its rep unit and the target for each of the three tiers.
curl -s "https://www.fitastra.co/api/v1/coaches?page=0" \
-H "Accept: application/json"60 requests per 60 seconds per IP. Every response carries RateLimit-Limit, RateLimit-Remaining, RateLimit-Reset and RateLimit-Policy. A 429 additionally carries Retry-After.
Responses are CDN-cached, so caching on your side is usually a better strategy than retrying. Coach data changes at most every few minutes; the daily challenge changes once a day.
All errors are RFC 9457 problem documents served as application/problem+json. Branch on code, never on the message text.
{
"type": "https://www.fitastra.co/developers/errors#invalid_parameter",
"title": "Invalid request parameter",
"status": 400,
"code": "invalid_parameter",
"detail": "\"page\" must be a non-negative integer, got \"abc\".",
"hint": "Pass \"page\" as an integer between 0 and 99, or omit it.",
"documentation": "https://www.fitastra.co/developers"
}| code | status | meaning |
|---|---|---|
invalid_parameter | 400 | A query parameter failed validation. |
not_found | 404 | No such operation in the API. |
method_not_allowed | 405 | The API is read-only. Use GET. |
rate_limited | 429 | Slow down. Honour the Retry-After header. |
upstream_unavailable | 503 | Transient. Retry with exponential backoff. |
Send Accept: text/markdown to any main page and you get a Markdown representation instead of HTML, following the acceptmarkdown.com convention. Responses carry Vary: Accept so caches keep the two representations apart.
curl -s -H "Accept: text/markdown" https://www.fitastra.co/Email support@fitastra.co, or see /contact. For what FitAstra is and who runs it, see /about.