Skip to content

Race Data

Read a race's live positions and station splits

Every runner of a distance as the race's public tracker shows them: status, place, progress, the latest position, the last station report and the splits recorded so far. Bearer key: a Wolfe Run developer key with race:live:read on a race whose organizer turned on open data and companion apps, or the organizer's Endurance HQ API key with race-day:read. Runners the race removed from public view never appear.

Method

GET

Path

/api/public/v1/events/{idOrSlug}/live

Authentication

Bearer key: a Wolfe Run developer key with race:live:read on a race whose organizer turned on companion apps, or the organizer's Endurance HQ API key with race-day:read. Served from https://www.endurancehq.app. Use is subject to the race data terms.

Caching

Not cached (private, no-store); the standings behind it refresh about every 15 seconds.

Request

curl "https://www.endurancehq.app/api/public/v1/events/{idOrSlug}/live" \
  -H "Authorization: Bearer $WOLFE_RUN_DEVELOPER_KEY"

Path parameters

idOrSlugstring, required

Query schema

{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "raceOptionId": {
      "description": "The distance. Without it, live answers the distance the race console leads with and results answer every distance.",
      "type": "string"
    }
  },
  "additionalProperties": false
}

Response

Success status: 200

{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "event": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string"
        },
        "slug": {
          "type": "string"
        },
        "name": {
          "type": "string"
        },
        "timezone": {
          "description": "IANA zone the race's wall-clock times are stated in.",
          "type": [
            "string",
            "null"
          ]
        }
      },
      "required": [
        "id",
        "slug",
        "name",
        "timezone"
      ],
      "additionalProperties": false
    },
    "raceOption": {
      "anyOf": [
        {
          "type": "object",
          "properties": {
            "id": {
              "type": "string"
            },
            "name": {
              "type": "string"
            }
          },
          "required": [
            "id",
            "name"
          ],
          "additionalProperties": false
        },
        {
          "type": "null"
        }
      ]
    },
    "raceOptions": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          }
        },
        "required": [
          "id",
          "name"
        ],
        "additionalProperties": false
      },
      "description": "The distances with a field, to ask per distance with raceOptionId."
    },
    "tracking": {
      "type": "object",
      "properties": {
        "enabled": {
          "type": "boolean"
        }
      },
      "required": [
        "enabled"
      ],
      "additionalProperties": false,
      "description": "The race's live tracking switch. Off: no runner has a position."
    },
    "state": {
      "type": "string",
      "enum": [
        "upcoming",
        "live",
        "finished",
        "archived",
        "unknown"
      ]
    },
    "startedAt": {
      "type": [
        "string",
        "null"
      ]
    },
    "asOf": {
      "type": "string",
      "description": "When these standings were built; they refresh within about 15 seconds."
    },
    "totalMiles": {
      "type": [
        "number",
        "null"
      ]
    },
    "resultsPublished": {
      "type": "boolean"
    },
    "checkpoints": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "miles": {
            "type": [
              "number",
              "null"
            ]
          },
          "cutoffAt": {
            "type": [
              "string",
              "null"
            ]
          }
        },
        "required": [
          "id",
          "name",
          "miles",
          "cutoffAt"
        ],
        "additionalProperties": false
      }
    },
    "runners": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "key": {
            "type": "string",
            "description": "Stable for this runner in this race."
          },
          "name": {
            "type": "string"
          },
          "bib": {
            "type": [
              "string",
              "null"
            ]
          },
          "status": {
            "type": "string",
            "enum": [
              "racing",
              "finished",
              "not_started",
              "stopped",
              "dnf",
              "dns",
              "dq"
            ]
          },
          "place": {
            "type": [
              "number",
              "null"
            ]
          },
          "progressMiles": {
            "type": [
              "number",
              "null"
            ]
          },
          "elapsedSeconds": {
            "type": [
              "number",
              "null"
            ]
          },
          "finishSeconds": {
            "type": [
              "number",
              "null"
            ]
          },
          "lastObservedAt": {
            "type": [
              "string",
              "null"
            ]
          },
          "position": {
            "anyOf": [
              {
                "type": "object",
                "properties": {
                  "lat": {
                    "type": "number"
                  },
                  "lng": {
                    "type": "number"
                  },
                  "courseMiles": {
                    "type": [
                      "number",
                      "null"
                    ]
                  },
                  "source": {
                    "type": "string",
                    "enum": [
                      "gps",
                      "hardware",
                      "timing",
                      "predicted"
                    ]
                  },
                  "predicted": {
                    "type": "boolean",
                    "description": "true when placed on the course from timing or a prediction, not a fix."
                  },
                  "observedAt": {
                    "type": [
                      "string",
                      "null"
                    ]
                  }
                },
                "required": [
                  "lat",
                  "lng",
                  "courseMiles",
                  "source",
                  "predicted",
                  "observedAt"
                ],
                "additionalProperties": false
              },
              {
                "type": "null"
              }
            ],
            "description": "The latest position the race's public tracker draws; null when tracking is off or there is none."
          },
          "lastSeen": {
            "anyOf": [
              {
                "type": "object",
                "properties": {
                  "stationName": {
                    "type": "string"
                  },
                  "kind": {
                    "type": "string",
                    "enum": [
                      "in",
                      "out",
                      "drop"
                    ]
                  },
                  "at": {
                    "type": "string"
                  }
                },
                "required": [
                  "stationName",
                  "kind",
                  "at"
                ],
                "additionalProperties": false
              },
              {
                "type": "null"
              }
            ],
            "description": "The last report a person made (a station In, Out or Drop)."
          },
          "nextCheckpoint": {
            "anyOf": [
              {
                "type": "object",
                "properties": {
                  "name": {
                    "type": "string"
                  },
                  "miles": {
                    "type": [
                      "number",
                      "null"
                    ]
                  },
                  "etaAt": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "cutoffAt": {
                    "type": [
                      "string",
                      "null"
                    ]
                  }
                },
                "required": [
                  "name",
                  "miles",
                  "etaAt",
                  "cutoffAt"
                ],
                "additionalProperties": false
              },
              {
                "type": "null"
              }
            ]
          },
          "splits": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "checkpointId": {
                  "description": "The aid station or timing point.",
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "name": {
                  "type": "string"
                },
                "miles": {
                  "type": [
                    "number",
                    "null"
                  ]
                },
                "arrivedAt": {
                  "description": "ISO 8601 instant.",
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "departedAt": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "arrivedElapsedSeconds": {
                  "description": "From the runner's own start.",
                  "type": [
                    "number",
                    "null"
                  ]
                },
                "departedElapsedSeconds": {
                  "type": [
                    "number",
                    "null"
                  ]
                },
                "place": {
                  "description": "Place among everyone who has reached this checkpoint.",
                  "type": [
                    "number",
                    "null"
                  ]
                },
                "estimated": {
                  "type": "boolean",
                  "description": "true when the arrival was estimated from GPS, not recorded at the station."
                }
              },
              "required": [
                "checkpointId",
                "name",
                "miles",
                "arrivedAt",
                "departedAt",
                "arrivedElapsedSeconds",
                "departedElapsedSeconds",
                "place",
                "estimated"
              ],
              "additionalProperties": false
            }
          }
        },
        "required": [
          "key",
          "name",
          "bib",
          "status",
          "place",
          "progressMiles",
          "elapsedSeconds",
          "finishSeconds",
          "lastObservedAt",
          "position",
          "lastSeen",
          "nextCheckpoint",
          "splits"
        ],
        "additionalProperties": false
      }
    },
    "attribution": {
      "type": "object",
      "properties": {
        "provider": {
          "type": "string",
          "const": "Endurance HQ"
        },
        "eventUrl": {
          "type": "string",
          "description": "The race's official site; link it wherever the data is shown."
        },
        "contributors": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "name": {
                "type": "string"
              },
              "standing": {
                "description": "What they are to the race, such as \"2025 finisher, Sunlight aid station volunteer\".",
                "type": [
                  "string",
                  "null"
                ]
              },
              "credit": {
                "type": "string",
                "description": "The credit line to show: \"Course notes by Jackson Strand, 2025 finisher, Sunlight aid station volunteer\"."
              },
              "fields": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "Fields their published corrections changed, such as crewNotes or durationMinutes."
              }
            },
            "required": [
              "name",
              "standing",
              "credit",
              "fields"
            ],
            "additionalProperties": false,
            "description": "Someone whose correction the race organizer reviewed and published."
          },
          "description": "Everyone whose course corrections the organizer published for this race."
        }
      },
      "required": [
        "provider",
        "eventUrl",
        "contributors"
      ],
      "additionalProperties": false,
      "description": "Who to credit wherever this data is shown."
    }
  },
  "required": [
    "event",
    "raceOption",
    "raceOptions",
    "tracking",
    "state",
    "startedAt",
    "asOf",
    "totalMiles",
    "resultsPublished",
    "checkpoints",
    "runners",
    "attribution"
  ],
  "additionalProperties": false
}