Skip to content
CrossFitAPI.com

CrossFit results API

CrossFit results API

Overall placings and individual workout performances, with the raw source value kept alongside every decoded field.

Plans from $15 a month.

What a rank leaves out

Most of what people want to build needs more than a finishing position. It needs the workout scores: how many reps, at what time, with which tiebreak, whether the entry was validated, whether a video was submitted.

Those scores are the messiest part of the source. The same field holds a rep count in one season and a packed integer in another; the Games use points with a tiebreak inside a display string. Decoding it wrong is worse than not decoding it, because a confidently wrong number propagates into everything built on top.

So the raw value is stored as the record and every decoded field is allowed to be null. If we cannot read a score honestly, you still get exactly what the source published.

Endpoints

MethodPathWhat it returns
GET/v1/athletes/{id}/resultsEvery result, with workout breakdowns
GET/v1/results/{id}One result and its workout scores
GET/v1/workouts/{id}A workout, its score type and derived cap

Example

Request

curl "https://api.crossfitapi.com/v1/athletes/jeffrey-adler-469656/results" \
  -H "Authorization: Bearer cfapi_live_..."

Response

{
  "data": [{
    "year": 2026, "competition": "Open", "division": "men",
    "rank": 3, "scaled": "rx",
    "workout_results": [{
      "ordinal": 1, "workout": "26.1", "rank": 12,
      "score_raw": "3540044",
      "score_display": "11:16",
      "reps": 354, "time_seconds": 676
    }]
  }]
}

Run these against live data →

What is covered

  • Overall results for every imported competition and division.
  • Workout-level scores with rank, validity, scaled status and video flag.
  • Decoded reps, time and tiebreak where the encoding is known.
  • score_raw on every workout result, always.
  • Judge names are published upstream and are deliberately not stored.

Coverage grows as each season finishes importing . A season appears there once it is imported and reconciled.

What people build with it

Comparison tools

Put two athletes side by side, workout for workout.

Scouting

Find athletes strong on a specific movement pattern.

Commentary

Pull the numbers a broadcast needs, during the event.

Have a look at the data first

The docs and the live explorer are open, so you can see what comes back before you pay for anything.

Get API access