Skip to content
CrossFitAPI.com

CrossFit gym & affiliate API

CrossFit gym and affiliate API

Thousands of affiliate locations with coordinates, searchable by name, city, country or radius, and linked to the athletes who competed for them.

Plans from $15 a month.

From directory to dataset

The public affiliate directory is a single large GeoJSON file. Downloading it is easy; keeping it useful is not. You need it parsed, indexed, searchable by distance and joined to results. When a gym moves or renames, that belongs in its history, so the old row stays.

Coordinates come in GeoJSON order, longitude first. Getting that backwards is the classic geographic bug and it fails quietly: every American gym ends up in central Asia and nothing errors. Our API takes and returns latitude first, which is what a person copies out of a map, and the conversion happens in one place with a test pinning a known gym to the right continent.

Fields the directory leaves out stay out. It publishes no website, phone number or opening status, so the API omits those keys: a null there would read as “this gym has no website”.

Endpoints

MethodPathWhat it returns
GET/v1/gyms?q=By name, city or country
GET/v1/gyms?near=lat,lon&radius_km=Great-circle radius, kilometres
GET/v1/gyms/{id}One gym with its location and provenance
GET/v1/gyms/{id}/athletesAthletes who competed for it

Example

Request

curl "https://api.crossfitapi.com/v1/gyms?near=50.85,4.35&radius_km=10&limit=2" \
  -H "Authorization: Bearer cfapi_live_..."

Response

{
  "data": [
    { "name": "CrossFit Dansaert Athletics", "city": "Brussels",
      "country": { "code": "BE" },
      "latitude": 50.85215, "longitude": 4.34132,
      "distance_km": 0.7,
      "source": { "name": "CrossFit Affiliate Directory" } },
    { "name": "White Bull CrossFit", "city": "Ixelles",
      "distance_km": 2.1 }
  ]
}

Run these against live data →

What is covered

  • Affiliate locations across more than a hundred countries, all with coordinates.
  • Name, address, city, state, country and region: every field the directory publishes.
  • Gym-to-athlete links for seasons where the source publishes an affiliate id.
  • Change history when a gym renames or moves.
  • No website, phone or status fields, because the source does not publish them.

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

What people build with it

Gym finders

Nearest affiliates to a postcode or a map pin.

Affiliate dashboards

How a gym's members placed, season by season.

Gym software

Location and competition context inside an existing product.

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