Skip to content

Race Data

Read a race's published results

The results the race's public results page shows: finishers, DNF and DQ with places, times, divisions and age groups, marked preliminary or official. Bearer key: a Wolfe Run developer key with race:results: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.

Method

GET

Path

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

Authentication

Bearer key: a Wolfe Run developer key with race:results: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); results refresh within about 15 seconds of a change.

Request

curl "https://www.endurancehq.app/api/public/v1/events/{idOrSlug}/results" \
  -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"
          },
          "count": {
            "type": "number"
          }
        },
        "required": [
          "id",
          "name",
          "count"
        ],
        "additionalProperties": false
      },
      "description": "The distances with published results and how many rows each has."
    },
    "results": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string"
          },
          "raceOptionId": {
            "type": [
              "string",
              "null"
            ]
          },
          "raceOptionName": {
            "type": [
              "string",
              "null"
            ]
          },
          "status": {
            "type": "string",
            "enum": [
              "finished",
              "dnf",
              "dq"
            ]
          },
          "place": {
            "type": [
              "number",
              "null"
            ]
          },
          "genderPlace": {
            "type": [
              "number",
              "null"
            ]
          },
          "gender": {
            "anyOf": [
              {
                "type": "string",
                "enum": [
                  "M",
                  "F",
                  "X"
                ]
              },
              {
                "type": "null"
              }
            ]
          },
          "firstName": {
            "type": "string"
          },
          "lastName": {
            "type": "string"
          },
          "bib": {
            "type": [
              "string",
              "null"
            ]
          },
          "age": {
            "description": "Race-day age, only where a birthdate is on file (as the results page shows it).",
            "type": [
              "number",
              "null"
            ]
          },
          "city": {
            "type": [
              "string",
              "null"
            ]
          },
          "state": {
            "type": [
              "string",
              "null"
            ]
          },
          "country": {
            "type": [
              "string",
              "null"
            ]
          },
          "time": {
            "description": "As the official results print it.",
            "type": [
              "string",
              "null"
            ]
          },
          "finishSeconds": {
            "type": [
              "number",
              "null"
            ]
          },
          "pace": {
            "type": [
              "string",
              "null"
            ]
          },
          "categories": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "name": {
                  "type": "string"
                },
                "place": {
                  "type": [
                    "number",
                    "null"
                  ]
                }
              },
              "required": [
                "name",
                "place"
              ],
              "additionalProperties": false
            },
            "description": "Age group and division places, the race's own and the ones Endurance HQ calculates."
          },
          "dnfLocation": {
            "type": [
              "string",
              "null"
            ]
          },
          "unranked": {
            "type": "boolean",
            "description": "A finish listed without a place (over the time limit)."
          },
          "resultStatus": {
            "type": "string",
            "enum": [
              "preliminary",
              "official"
            ]
          }
        },
        "required": [
          "id",
          "raceOptionId",
          "raceOptionName",
          "status",
          "place",
          "genderPlace",
          "gender",
          "firstName",
          "lastName",
          "bib",
          "age",
          "city",
          "state",
          "country",
          "time",
          "finishSeconds",
          "pace",
          "categories",
          "dnfLocation",
          "unranked",
          "resultStatus"
        ],
        "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",
    "results",
    "attribution"
  ],
  "additionalProperties": false
}