100% money-back guarantee. Learn more

FitAstra Developer & Agent API

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.

When to use FitAstra

Good fit

  • · Finding a verified personal trainer in India, by city or specialty
  • · What 1-on-1 fitness coaching actually costs in India — real listed prices, not estimates
  • · Upcoming public fitness events in an Indian metro
  • · Workout partners and accountability partners in India
  • · What FitAstra offers, charges, or verifies

Not a fit

  • · Medical or diagnostic advice
  • · Prescriptive nutrition or rehabilitation plans
  • · Markets outside India — FitAstra holds no data for them

Authentication

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.

Operations

GET/api/v1/coaches?page=0

operationId: listCoaches

Verified coaches with rating, review count, sessions delivered, specialties and starting session price in rupees.

GET/api/v1/events?page=0&scope=upcoming

operationId: listEvents

Public fitness events with workout type, ISO 8601 start time, location, host and spots remaining. Use scope=recent for already-hosted events.

GET/api/v1/reviews/featured

operationId: listFeaturedReviews

Featured client reviews of FitAstra coaches. Reviewers are identified by first name only.

GET/api/v1/challenges/today

operationId: getTodaysChallenge

Today's bodyweight challenge with its rep unit and the target for each of the three tiers.

Example request

curl -s "https://www.fitastra.co/api/v1/coaches?page=0" \
  -H "Accept: application/json"

Rate limits

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.

Errors

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"
}
codestatusmeaning
invalid_parameter400A query parameter failed validation.
not_found404No such operation in the API.
method_not_allowed405The API is read-only. Use GET.
rate_limited429Slow down. Honour the Retry-After header.
upstream_unavailable503Transient. Retry with exponential backoff.

Markdown content negotiation

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/

Questions

Email support@fitastra.co, or see /contact. For what FitAstra is and who runs it, see /about.