Leaderboard

This endpoint is a live websocket endpoint that returns all leaderboard information at any one time. Currently the whole leaderboard is sent whenever there is an update – this will look to be optimised in the future. You should receive a new update any time a player completes a hole, and their total strokes and “to par” score for the day changes. Please note that due to different data providers the "totalScore" value will be updated after each hole for PGA however for DPWT and LPGA, this value will only be updated after the player has completed the round.

The authentication token provided will be required to make a connection to this websocket endpoint.

Once you have the API token, any further data that you send over the connection will be ignored.

N.B – This endpoint sends heartbeats in-between data packets to let you know that it is still connected.

This endpoint currently takes no request parameters, we aim to add them, and once we have they will be detailed here.

Endpoint URL

wss://dde-streams.data.imgarena.com/golf/tournaments/{tournamentId}/leaderboard

N.B. – Please use tournament ID “99999” to return you the sample data. This sample data is 3 leaderboard updates for 3 players towards the end of a round. The authentication token provided will be required to make a connection to this websocket endpoint.

Process for connecting to the web socket endpoints

  • Connect to SSL websocket address

  • Send JSON packet containing API token

  • Receive response indicating that connection is authorised (or a response indicating why the connection cannot be made)

  • Receive heartbeat packets every 10 seconds to verify the connection is live

  • Receive data packets

Once you have the API token, any further data that you send over the connection will be ignored. This endpoint sends heartbeats in-between data packets to let you know that it is still connected.

Request parameters

Request Parameters This endpoint currently takes no request parameters, we aim to add them, and once we have they will be detailed here. For this example we will be using the following endpoint URL for The American Express 2025: wss://dde-streams.imggaming.com/golf/tournaments/1092/leaderboard

Leaderboard via RestAPI

Note that the leaderboard websocket is available via Rest - https://dde-api.data.imgarena.com/golf/tournaments/{tournamentId}/leaderboard?rest=true

Response model

Leaderboard Object

Field Name

Type

Description

standings

object

see object docs

tournamentId

integer

Identifier for the tournament

timestamp

time

Time the update is sent

seqNum

integer

Sequence number of the update packet

currentRound

object

See object docs

roundStatuses

array

See array docs;

tournamentStatus

string

Possible values:

NotStarted, InProgress, PlayComplete, Suspended, Official

isPlaySuspendedOvernight

boolean

Flag will be set as true, if play is suspended over night.

Standings Array

Field Name

Type

Description

players

object

See object docs

holesThrough

object

See object docs

roundInfo

object

See object docs

roundInfo

object

See object docs

toParToday

object

See object docs

totalScore

object

See object docs

status

string

Possible values: Cut, Uncut, Withdrawn, DidNotStart, Disqualified, MadeCutButDidNotFinish, Removed, Retired, Other

currentRound

integer

Number of current round

teamNo

integer

What team the player is associated with (for individual tournaments players are in their own team of 1)

toPar

object

See object docs

position

object

See object docs

Players Array

Field Name

Type

Description

displayName

string

Player's display name

country

string

Country code of the player

isAmateur

boolean

True if player is an amateur

lastName

string

Last name

firstName

string

First name

id

integer

Player's identifier

gender

string

Gender of player

Holes Through Object

Field Name

Type

Description

value

integer

The number of holes that a player has completed at this point

displayValue

string

The number of holes that a player has completed at

roundInfo object

Field Name

Type

Description

Value (1)

object

Round 1 - see value object table

Value (2)

object

Round 2 - see value object table

Value (3)

object

Round 3 - see value object table

Value (4)

object

Round 4 - see value object table

Value (401)

object

Playoff round 1 after 4th round. The playoff numbering convention is "{round # after which the playoff is held}0{round # of playoff} "

roundInfo value object (including round values 1, 2, 3, 4, 401+)

Field Name

Type

Description

score

object

See object docs

toPar

object

See object docs

teeTime

string

Time golfer scheduled to tee off

startHole

integer

Number of the hole the player begins the round on (typically only 1 or 10)

roundFinishedPosition

integer

Overall tournament standings at the end of a given round

roundFinishedIsTied

boolean

Tie indicator for roundFinishedPosition

Round Info - Score Object

Field Name

Type

Description

value

integer

The overall number of strokes the player has taken in the selected round, updated a the end of the hole

displayValue

string

The overall number of strokes the player has taken in the selected round, updated a the end of the hole

Round info - toPar object

Field Name

Type

Description

value

integer

The overall "to par" score so far for the tournament for a given player. Updated after every hole finishes

displayValue

string

The overall "to par" score so far for the tournament for a given player. Updated after every hole finishes.

Round info - toParToday object

Field Name

Type

Description

value

integer

The overall "to par" score so far for the day for that player for the selected round. Updated after every hole finishes

displayValue

string

The overall "to par" score so far for the day for that player for the selected round. Updated after every hole finishes

Round info - totalScore object

Field Name

Type

Description

value

integer

The overall number of strokes the player has taken in the tournament to date. For PGA events this value is updated after each hole is complete. updated at the end of the round. For DPWT and LPGA events, this value is updated at the end of the round.

displayValue

string

The overall number of strokes the player has taken in the tournament to date. For PGA events this value is updated after each hole is complete. updated at the end of the round. For DPWT and LPGA events, this value is updated at the end of the round.

Position object

Field Name

Type

Description

order

integer

The unique order of that player in the leaderboard. To be used to order the players from top to bottom

value

integer

The player's position in the leaderboard. Players can have the same value

format

string

Either "absolute" if only player in that position, or "tied" is sharing the position with another player

displayValue

string

The player's position in the leaderboard - will include a "T" if tied

Current round object

Field Name

Type

Description

number

integer

Number of the current round

name

string

Name of the current round

cutline

object

Includes “required, a boolean field indicating if there is a cut on the current round or not, and “cut”, which is the current score that players need to be above to avoid the cut.

Cut line object

Field Name

Type

Description

cut

integer

Cut line score

required

boolean

Is it required to show a cut line true/false

roundStatus Array

An array containing multiple objects, each object contains the following:

Field Name

Type

Description

number

integer

Number of the current round

status

string

Status of the round. possible values:

GroupingsOfficial, InProgress, Maintenance, NotStarted, Official, PlayComplete, Suspended, Cancelled

Sample Response

Last updated

Was this helpful?