Live Timing

The Live Timing endpoint delivers real-time streaming data via a websocket connection.

👍

Live Timing Websocket Endpoint

wss://socket.api.triathlon.org/timing

You may connect to the live timing websocket feed by connecting to wss://socket.api.triathlon.org/timing For live timing applications it is suggested you retrieve the initial state from the Live Timing endpoint and future updates from the streaming API to avoid any delay in retrieving the data as new data is only delivered when available.

Live Timing Data

Data is delivered in the same format as the Live Timing REST endpoint but excludes the splits object for brevity of the message and users should consult that documentation as well as the Live Timing Standard for more information as to the data delivered. If you require full split data consider taking the webhook feed from the Subscription API or request the full timing message from the REST API on a timing push.

{
   "date":"2016-09-11 18:35:05.143−04:00",
   "start_time":"2016-09-11 16:30:13−04:00",
   "event_id":"97645",
   "event_name":"2016 ITU World Triathlon Grand Final Cozumel",
   "prog_id":"281501",
   "prog_name":"Elite Men",
   "wetsuit":"false",
   "sandbox":"false",
   "num_athletes":"2",
   "status":"live",
   "latest":{
      "segment_id":"3",
      "segment_name":"Bike Lap 1",
      "num_athletes":"1"
   },
   "conditions":{
      "air_temp":"16.5",
      "water_temp":"18.4"
   },
   "athletes":[
      {
         "id":"30433",
         "start_num":"11",
         "name":"Henri Schoeman",
         "country":"RSA",
         "segment_id":"15",
         "time":"01:46:50",
         "difference":"00:00:00",
         "position":"1",
         "status":null,
         "splits":[
            {
               "id":"1",
               "name":"Swim Exit",
               "time":"00:16:55",
               "lap_time":"00:16:55",
               "difference":"00:00:02",
               "position":"2"
            },
            {
               "id":"2",
               "name":"Transition 1",
               "time":"00:17:48",
               "lap_time":"00:00:53",
               "difference":"00:00:04",
               "position":"2"
            },
            {
               "id":"3",
               "name":"Bike Lap 1",
               "time":"00:24:46",
               "lap_time":"00:06:58",
               "difference":"00:00:00",
               "position":"1"
            }
         ]
      },
      {
         "id":"11378",
         "start_num":"2",
         "name":"Jonathan Brownlee",
         "country":"GBR",
         "segment_id":"15",
         "time":"01:47:08",
         "difference":"00:00:18",
         "position":"2",
         "status":null,
         "splits":[
            {
               "id":"1",
               "name":"Swim Exit",
               "time":"00:16:53",
               "lap_time":"00:16:53",
               "difference":"00:00:00",
               "position":"1"
            },
            {
               "id":"2",
               "name":"Transition 1",
               "time":"00:17:44",
               "lap_time":"00:00:51",
               "difference":"00:00:00",
               "position":"1"
            }
         ]
      }
   ]
}