Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
This endpoint returns the list of teams/players who are going to play in any given tournament. The first list of players will be provided roughly two weeks before a tournament starts, and will be updated as and when players are added/drop out of the tournament.
https://dde-api.data.imgarena.com/golf/tournaments/{tournamentId}/entrylist
Please note that to access an entry list, you will have to enter the tournament ID in the “{id}” field. Note that you can pass ID as 1 to return sample data.
Key
Value
Accept
application/vnd.imggaming.dde.api+json;version=1
Content-Type
application/json
Authorization
Bearer eyvhaoudfgpdfgo*
*Authorization header includes a truncated Bearer token, contact IMG for your auth token if you do not have.
This endpoint currently takes no request parameters, we aim to add them, and once we have they will be detailed here.
Entrylist Object
Field Name
Type
Description
teamId
int
The ID of that team for that tournament – stays unique for that team throughout the tournament.
players
list
List of the players within that team. Is strokeplay one team = one player
https://dde-api.data.imgarena.com/golf/tournaments/{id}/entrylist
Please note that to access an entry list, you will have to enter the tournament ID in the “{id}” field. Note that you can pass ID as 1 to return sample data. i,e https://dde-api.data.imgarena.com/golf/tournaments/1/entrylist
Players List
Field Name
Type
Description
displayName
string
The display name of the player.
country
string
3-character FIFA Country Code.
IsAmateur
boolean
True if the player is an amateur.
lastName
string
The last name of the player.
firstName
string
The first name of the player.
status
string
Describes current player status in tournament.
playerId
integer
The unique player ID of that player
playerPGATourId
integer or null
The unique PGA Tour player ID of that player (if applicable)
playerEuropeanTourId
integer or null
The unique European Tour player ID of that player (if applicable)
playerLPGATourId
integer or null
The unique LPGA Tour player ID of that player (if applicable)
playerRandAId
integer or null
Player's R&A Id (if relevant)
The above example is for normal Stroke Play. During Team/Match Play where two players will play together in Stroke/match Play (much like the Team Cup/Ryder cup) the formation of the players is as below.
During the Ryder Cup, a squad will be used to provide relationships of European and US players. The Entry List teams serve the purpose of providing ids for the combinations of players used for Foursomes, Fourballs and Singles matches.
Below is a snippet of a Ryder Cup Entry List, notice that Justin Rose is involved in 3 Teams. These three team combinations would be involved in respective Fourball, Foursome or Singles matches.
This endpoint returns information on all off the tee times of all the groups within a single tournament. This will return the tee times for all days of the tournament. It contains information on:
Course
Round
Tee sequence
Hole
Start date and time
Player and group number (and team number for Match Play tournaments.)
Endpoint for tournament schedule:
https://dde-api.data.imgarena.com/golf/tournaments/{tournamentId}/schedule
To view a schedule, enter the ID of the event for example, the ID for The American Express 2025 is 1092, which will display the schedule for all 4 rounds. Note that you can pass ID as 1 to return sample data.
*Authorization header includes a truncated Bearer token, contact IMG for your auth token if you do not have.
This endpoint currently takes no request parameters, we aim to add them, and once we have they will be detailed here. It will be query-able by date and this doc will be updated when that is ready.
Event Object
Start Time Object
Group Object
Teams Object
Players Object
The above example is for Stroke Play, if two players will appear in a Team much like the Ryder Cup, this formation will look as follows:-
During a playoff, the schedule will be used in the same way as before. The only way of discerning whether or not a scheduled round would be a play off would be to understand the round type from the isPlayOff is True from the Tournaments end point.
This endpoint returns information on all players, including:
Player ID
Player name
Country
Date of birth (if known)
European tour ID
PGA tour ID
https://dde-api.data.imgarena.com/golf/players
This endpoint currently takes the following parameters:
NB: By passing ‘results’ you will gather the first 100 results by default and by-passing results=100&offset=2 this will return the first 100 on page 2.
If no parameters are passed, the endpoint will return the first 100 players
Player Summary Object
European Tour Ranking Object
Currently will be null – these docs will be updated when this is available.
Key
Value
Accept
application/vnd.imggaming.dde.api+json;version=1
Content-Type
application/json
Authorization
Bearer eyvhaoudfgpdfgo*
Field Name
Type
Description
Optional
date
date
The day that the round will be played for that group
round
integer
The round that is being played for that group
hole
integer
The hole in which the round is starting for that group
teeSeq
integer
The sequence on the tee for that group
courseId
integer
The ID of the course for the round for that group
courseName
string
The name of the course for the round for that group
status
string
The status of the round for that group. The values are either: NotStarted, InProgress or Finished.
matchType
string
"Strokeplay" or "Matchplay"
bookingStatus
string
If an end user has got a license for that group; always set to “Booked”
startTime
object
See object docs
groupId
integer
Unique ID for the group
group
object
See object docs
poolNo
integer
[Optional] number of the pool the match is in
YES
externalCourseId
string
The Golf Course Id
from the federation database. This is composed of the ID number concatenated with the federation abbreviation, either ET or PGA
Field Name
Type
Description
status
string
The status of the start time – e.g. ‘StartsAt’
time
date
The time of the group are scheduled to start their round. Time is returned in UTC format
Field Name
Type
Description
Optional
featureGroup
boolean
Returned as "true" if group is a featured grope. Note PGA only
groupNo
integer
The group’s number, an identifier for the group within that round.
MatchNo
integer
For Match Play tournaments only
When is Match Play tournament "matchNo" = "groupNo"
YES
teams
object
See object doc
Field Name
Type
Description
teamNo
integer
The ID of the team within the Tournament
orderOfPlayWithinGroup
integer
The order within the Group (or Match for Match Play.) Useful for ordering the display name of the Teams on the Front End.
players
object
Contains player objecy
Field Name
Type
Description
playerId
integer
The ID of the player across the whole of Golf
displayName
string
The display name of the player
playerPGATourId
integer
Player's PGA tour Id (if relevant)
playerEuropeanTourId
integer
Player's European tour Id (if relevant)
playerRandAId
integer
Player's R&A Id (if relevant)
playerLPGATourId
integer
Player's LPGA tour Id (if relevant)
firstName
string
The first name of the player
lastName
string
The last name of the player
country
string
The country code of the player’s country
isAmateur
boolean
Is the player an amateur or not
status
string
The player’s entry type into the tournament
Key
Value
Accept
application/vnd.imggaming.dde.api+json;version=1
Content-Type
application/json
Authorization
Bearer eyvhaoudfgpdfgo*
Parameter
Value
results
Used to decide how many results you would like in the response. Default is 100.
offset
Used in conjunction with results, if you use &results=100&offset=1 this will give you the first page of 100 results from this endpoint
Field Name
Type
Description
playerId
integer
The ID of the player that will be referenced across the DDE
playerEuropeanTourId
string
The European Tour ID of the player (if applicable, if not, null)
playerRandAId
integer
Players R&A Id (if relevant)
playerPGATourId
string
The PGA Tour ID of the player (if applicable, if not, null)
displayName
string
The display name of the player (encoded in UTF-8)
firstName
string
The first name of the player (encoded in UTF-8)
lastName
string
The last name of the player (encoded in UTF-8)
country
string
The ISO country code of the country in which the tournament is taking place
isAmateur
boolean
Is the player an amateur or not
isActive
boolean
gender
string
The gender of the player
dateOfBirth
date
Player’s date of birth, null if unknown
A feed which includes all of the key meta data per shot within a Team's round, compiled and stored, once a Round becomes Official.
This Endpoint returns information of the current player's stroke events per Round.
Please note: Detailed lies that have been undone are not included in this feed.
URL:
https://dde-api.data.imgarena.com/golf/official-shots/tournaments/{tournamentId}/round/{roundNumber}/team/{teamNumber}
URL Sample:
https://dde-api.data.imgarena.com/golf/official-shots/tournaments/1144/round/1/team/64
Key
Value
Accept
application/vnd.imggaming.dde.api+json;version=1
Content-Type
application/json
Authorization
Bearer eyvhaoudfgpdfgo*
This endpoint currently takes no parameters.
Player Summary Object
Field Name
Type
Description
timestamp
string
The Timestamp of the stroke event in the current Tournament
courseId
string
The ID of the Golf Course the stroke played on place on
ballLie
object
Object containing details on Ball Lie
score
object
Object containing details of the current score at the start of first stroke
provisionalIndex
integer
The nth number of stroke classed as a provisional shot
groupNo
integer
The Group Number the current player is in, for the current Round of the Tournament
dropType
string
The type of Drop Ball issued on the current stroke
eventElementType
string
The type of event on current stroke.
E.g. "BallHoled", "DetailedLie", "Penalty"
seqNum
integer
The sequence number of the current event - for an order of events by timestamp.
holeOrder
integer
The player's current stroke being played on the nth Hole of the current round.
Please note: This is not the Hole Number.
E.g. holeOrder 2 is the player's 2nd Hole of the current Round which can be on Hole Number 11.
teamNo
integer
The player's Team Number for the current Tournament.
strokeNo
integer
The nth stroke of the current stroke event.
playerId
integer
The ID of the Player of the current stroke event.
penaltyType
string
The type of penalty issued on the current stroke event.
E.g. "Strokes"
holeNo
integer
The current Hole Number the stroke event took place on. Holes 1 - 18
clubTypeCode
string
This is the type of Club a player used for the shot. NB. this is only populated for Drives. Possible values: CDR = Driver CFW = Fairway Wood CIR = Iron CUK = Unknown
Field Name
Type
Description
coordinates
object
Object containing X/Y/Z coordinates of ball lie
x
double
The x coordinate of the ball lie. Measured in metres
y
double
The x coordinate of the ball lie. Measured in metres
z
double
The x coordinate of the ball lie. Can be null. Measured in metres
surfaceTypeCode
string
A three character code for current surface type the ball is on
distanceToPin
double
Distance left till current hole's pin. Measured in metres
shotDistance
double
Distance of the current stroke travelled. Measured in metres
blindShot
boolean
The current stroke landing area is not visible from the player’s perspective
surfaceType
string
The full name of the current surface type the ball is on
obstructions
boolean
An obstruction that is present on the current stroke play
Below is a table that describes each of the available Surface Types or Surface Type codes:
surfaceTypeCode
surfaceType
OFW
Fairway
OGR
Green
OIR
IntermediateRough
ORO
Rough or PrimaryRough
OST
FairwayBunker
OGS
Greenside Bunker
OCO
Fringe
ONA
NativeArea
OTO
Trees or TreeOutline
OBU
Bushes
ODS
Desert
OWA
Water
OTH
Other
OCA
CartPath
ODO
Dirt or DirtOutline
OTF
OtherFairway
OOB
OutOfBounds
OUK
Unknown
Score Object is available on stroke events with "eventElementType" :
"BallHoled" OR "Penalty"
Field Name
Type
Description
currentHolePar
integer
The Par of the current Hole of the Course
overallScoreToPar
integer
The current overall score of the player
currentHoleStrokes
integer
The total number of strokes taken by the player on the current hole
currentRoundScoreToPar
integer
The current score of the player of the current Round
This endpoint is to be used in conjunction with the Team Round Details web socket endpoint. You should use the response from this end point to decide which live streams you should connect to. As soon as you see a live stream available on this endpoint you should commence connecting to the web socket for that individual live stream event (I.e a Team playing a Round of Golf).
Per each live event, the endpoint will return the following information:
Name of the live tournament
Round number of the live tournament
Start time and status of the live tournament
Group and team identification number (also match identifier for match play and Ryder Cup)
Detailed information of the player
Entry type of each player
Endpoint for all live tournaments:
https://dde-api.data.imgarena.com/golf/tournaments/liveevents
Key
Value
Accept
application/vnd.imggaming.dde.api+json;version=1
Content-Type
application/json
Authorization
Bearer eyvhaoudfgpdfgo*
*Authorization header includes a truncated Bearer token, contact IMG for your auth token if you do not have.
This endpoint takes no request parameters.
Live Events Object
Field Name
Type
Description
tournamentId
int
The unique id of the tournament
tournamentName
string
The name of the tournament
roundNo
integer
The number of the round
startTime
object
See object below
Group
object
See object below
matchNo
integer
[Optional] will only be available for match play and Ryder Cup formats in which case matchNo
= groupNo
Start Time Object
Field Name
Type
Description
status
string
The status of the start time – e.g. ‘StartsAt’
time
date
The time the group are scheduled to start their round
Group Object
Field Name
Type
Description
featureGroup
boolean
Returns true if the group is a featured group
groupNo
integer
The official group’s number, an identifier for the group within the round and course.
teams
object
See object docs
matchNo
integer
[Optional] will only be available for match play and Ryder Cup formats in which case matchNo
= groupNo
Teams and Players Object
There are typically only 2 or 3 teams in a Groups - but below is an example of 4.
Field Name
Type
Description
orderOfPlayWithinGroup
integer
Order of play of the player. 0 meaning they are first.
players
object
See object below
teamNo
integer
teamNo of the player
Players Object
Field Name
Type
Description
playerId
integer
The ID of the player
displayName
string
The display name of the player
playerPGATourId
integer
The PGA Tour Id of the player where applicable
playerEuropeanTourId
integer
The European Tour Id of the player where applicable
playerLPGATourId
integer
The LPGA Tour Id of the player where applicable
playerRandAId
integer
Players R&A Id (if relevant)
firstName
string
The first name of the player
lastName
string
The last name of the player
country
string
The country code of the player’s country
isAmateur
boolean
Is the player an amateur or not
status
string
Players' status, one of the following: Entered, Alternate, Playing, Withdrawn, Retired, Disqualified, MissedCut, Removed, Unknown.
*FOR MATCHPLAY EVENTS ONLY*
This endpoint returns the list of players that make up a Squad. This squad will represent a list of Player that make up a Team for Team Matches such as Ryder Cup, Presidents Cup & EurAsia Cup.
https://dde-api.data.imgarena.com/golf/tournaments/{tournamentId}/squads
Please note that to access an entry list, you will have to enter the tournament ID in the “{id}” field.
Key
Value
Accept
application/vnd.imggaming.dde.api+json;version=1
Content-Type
application/json
Authorization
Bearer eyvhaoudfgpdfgo*
*Authorization header includes a truncated Bearer token, contact IMG for your auth token if you do not have.
Field
Type
Description
squadNo
integer
Number of squad
squadName
string
Name of squad
players
Array
Data for all players in the squad
Field
Type
Description
displayName
string
Display name of player
country
string
FIFA country code, 3 uppercase letters
isAmateur
string
Is the player an amateur or not. True or False
status
string
Describes current player status in tournament.
lastName
string
Last known name of the Player
firstName
string
First known name of the Player
playerId
integer
Unique id of a Player
playerPGATourId
integer or null
The unique PGA tour Player Id of that player (if applicable)
playerEuropeanTourId
integer or null
The unique European tour Player Id of that player (if applicable)
playerLPGATourId
integer or null
The unique LPGA tour Player Id of that player (if applicable)
playerRandAId
integer or null
Players R&A Id (if relevant)
This endpoint returns shot commentary to be used for front end UI products such as the Golf Event Centre, but can also be delivered as REST endpoint data feeds
https://dde-api.data.imgarena.com/golf/commentary_ui/{endpoint_type}
URL Sample:
Fast
Fast returns all comments of all tiers. It has zero delay so corrections are applied in-place meaning the comment you showed a user a second ago could be corrected to new distances and stats next time you query the endpoint
Use the following for commenting on a specific player or group as has more detailed opportunity comments during the hole:
https://dde-api.data.imgarena.com/golf/commentary_ui/fast
Leaderboard
Leaderboard returns only Tier 1 comments of type PreHole, PreShot, PostHole and PostShot. Its build for use on a leaderboard UI. Without any additional filters other than tournament, it can be used to automatically filter the PreHole and PreShot comments to just the top 6 most interesting players to watch. PostHole and PostShot come through on every group based on excitement. Also the endpoint is artificially delayed by 30 seconds to prevent showing pre corrected data.
Use the following for commenting on the leaderboards top players:
https://dde-api.data.imgarena.com/golf/commentary_ui/leaderboard
Group
Group returns only Tier 1 and Tier 2 comments of type PreHole, PreShot, PostHole and PostShot. Its built for use on a groups UI. PreHole and PreShot comments are de-duped to only mention once per group. PostHole and PostShot come through on every group based on excitement. Also the endpoint is artificially delayed by 30 seconds to prevent showing pre corrected data.
Use the following for commenting on the most interesting groups overall:
https://dde-api.data.imgarena.com/golf/commentary_ui/groups
*Authorization header includes a truncated Bearer token, contact IMG for your auth token if you do not have.
Suggested rate is 1 call every 30 seconds. We’d push that out to 2 every 30 seconds if a user wanted replication on their end in case their primary system crashes or is offline for any reason.
3.6 req/sec measured over 5mins per calling service
This endpoint currently takes the following parameters:
For 'Leaderboard' endpoint_type only 'limit' and 'tour_id' are required request parameters For 'Fast' and 'Groups' endpoint_type, all request parameters detailed below are required
Example of tier 1 ( most exciting level of comment could be a highlight or a exceptional opportunity to score )
"On hole 13, Tosti (T74) hit their drive 338 yards to the Green, 6 feet left. He out-drove the field average by 49 yards. That drive gained 1.38 SG and was the best drive at this course"
Example of tier 2 ( 2nd most exciting level of comment )
"Højgaard is -4 for the tournament, T5 and heading to Hole 5. Højgaard has dropped 1 places on the leaderboard today. Next hole is a par 4 playing to 4.24. It is one of the easiest holes to make par after missing the green on the course today" "Morikawa birdied Hole 3 because of their putting (+0.58 SG). Morikawa has now made 3 birdies in 3 holes. This moved Morikawa to -6 and T2 for the tournament" Example of enable_ai ( increases variation of comments by a factor of 10 ) "Morikawa has gained 1.14 SG Off the tee so far in this round, and this is the easiest drive at the course today. Given that almost every player is hitting driver and 67% of the field is hitting the fairway, Morikawa should seize this opportunity."
"Morikawa, this is one of the most challenging drives you'll face today. If you miss the fairway, the penalty is around 0.8 strokes and 82% of the field is currently hitting the fairway. Additionally, the pin on this hole is situated 45 ft downhill from tee to green"
Shot Commentary Object
This endpoint returns information on all golf tournaments, past and future. Per each tournament, this endpoint will return the following information:
Dates of the tournament
Name of the tournament
Tournament format
Round information
Detailed information of the golf course(s) for the tournament.
https://dde-api.data.imgarena.com/golf/tournaments
https://dde-api.data.imgarena.com/golf/tournaments/live
The above endpoint can be filtered by tournamentDataStatus
"Scheduled" is a real tournament with data coming from the course
"Test" is a pseudo tournament for the the purpose of testing, can be subset of an entire tournament aimed at specific use cases
"Simulation" is either an entire pseudo tournament or replay of old tournament for the purpose of testing
"Disabled" is soft deleted, actioned internally
"All" returns all tournaments
Examples:
https://dde-api.data.imgarena.com/golf/tournaments
returns all tournaments except "tournamentDataStatus":"Disabled"
https://dde-api.data.imgarena.com/golf/tournaments?tournamentDataStatus=All
returns all tournaments
https://dde-api.data.imgarena.com/golf/tournaments?tournamentDataStatus=Scheduled
returns only tournaments with "tournamentDataStatus":"Scheduled"
https://dde-api.data.imgarena.com/golf/tournaments/live?tournamentDataStatus=Scheduled
returns all live tournaments with tournamentDataStatus":"Scheduled"
Specific tournament:
If you require information for a particular tournament, please enter the tournament Id which is returned via the IMG Arena Golf tournaments endpoint. i.e:
https://dde-api.data.imgarena.com/golf/tournaments/{id}
If no parameters are used, this endpoint will return all tournaments that start within one month either side of the date of the request. i.e By passing “dateFrom = 2025-07-01” and “dateTo = 2025-07-31”, endpoint will return all tournaments FROM the 1st of July 2025 To the 31st of July 2025.
This endpoint currently takes the following parameters:
Note that if the dateFrom parameter overlaps when a particular tournament is being played, then the startDate returned will be before the dateFrom parameter. i.e if you are passing dateFrom=2025-11-01 and dateTo=2025-11-30", if round 4 is on the 1st, then the startDate returned will be "2025-10-29".
Please note that If you do not pass any parameters, this endpoint will return all tournaments that start within one month either side of the date of the request. i.e if request was made on the 1st of July, tournaments from the 1st of June to 1st August.
Tournament Object
Rounds Object
Golf Courses Object
For each Golf Course within a Tournament a particular Scoring Method is employed per round, these are described below.
Course Details Object
Holes Object
Pin Placement Object
Tee Boxes Object
Occasionally multiple tee boxes are used at a single tournament. This describes each Tee Box.
The domain are the same but in order to connect to the REST version of the Websocket, you will need to add the query param rest=true
Note that these REST APIs will only be available for an event once it has finished.
Please note statistics are only available for events after the 16th June 2022.
MG Arena monitor the incoming traffic from our customers and strive to ensure that traffic is controlled, in-keeping with our guidelines and not unnecessarily excessive. We would suggest a polling rate of 5 requests per second, whilst we strive towards implementing rate limiting.
We recommend the following frequency for your REST requests to ensure that you have the most up-to-date information at all times:
For golf, the initial schedule is received on a Tuesday (2 days before the tournament starts) which will contain the the tee times/groups for rounds 1 and 2. The tee times/groups for rounds 3 and 4 will be released once play for day 2 and 3 are complete. We recommend that you pull the schedule endpoint every Tuesday for the upcoming tournament every minute and after player has finished post round 2 and 3.
This endpoint returns a variety of data points about the course and its context
https://dde-api.data.imgarena.com/golf/course_fingerprints/{request_type}/{external_coursew_id}
URL Sample:
https://dde-api.data.imgarena.com/golf/course_fingerprints/course_difficulty/ET-1553
https://dde-api.data.imgarena.com/golf/course_fingerprints/course_fingerprint/ET-1553
https://dde-api.data.imgarena.com/golf/course_fingerprints/numbers_to_know/ET-1553
https://dde-api.data.imgarena.com/golf/course_fingerprints/three_categories/ET-1553
https://dde-api.data.imgarena.com/golf/course_fingerprints/winner_data/ET-1553
*Authorization header includes a truncated Bearer token, contact IMG for your auth token if you do not have.
Request Types:
course_difficulty
course_fingerprint
numbers_to_know
three_categories
winner_data
External Course ID
Covers all request types
This endpoint returns play by play (PBP) shot commentary to be used for significant match play events such as the Ryder Cup as well as top stroke play events.
Stroke Play:
URL Sample:
https://dde-api.data.imgarena.com/golf/pbp_commentary/{tournamentId}/{holeNo}
Match Play:
https://dde-api.data.imgarena.com/golf/pbp_commentary_mp/{tournamentId}/{holeNo}
URL Sample:
https://dde-api.data.imgarena.com/golf/pbp_commentary/690/1
https://dde-api.data.imgarena.com/golf/pbp_commentary_mp/698/1
*Authorization header includes a truncated Bearer token, contact IMG for your auth token if you do not have.
This endpoint currently takes no additional parameters other than tournament Id and hole No, as stated above
Our current polling request limit is: 1 request per 5 seconds per hole.
We therefore recommend and advise that polling is kept under that limit where possible.
The endpoints are per hole, so that's 18 endpoints to poll.
The other thing to consider is that any other requests being made will contribute to the overall request count.
Shot Commentary Object
Key
Value
Accept
application/vnd.imggaming.dde.api+json;version=1
Content-Type
application/json
Authorization
Bearer eyvhaoudfgpdfgo*
Parameter
Type
Value
group_no
int
The Group Number the current player is in, for the current Round of the Tournament
hole_no
int
The current Hole Number the event took place on. Holes 1 - 18
limit
int
The amount of commentary objects to return in the response. If we wanted to see only one commentary object inside the array containing one person's comment, 'limit' would be 1, if we wanted to see 4 separate comment objects within the object array, limit would be 4. In terms of limit, it largely comes down to what a user wants to show on the leaderboard for example. If a user wants the last 25 comments in the queue, then a limit of 25 makes sense. Recommended for latency purposes not to go beyond 50-100.
player_id
int
The internal ID of the Player of the current event
shot_no
int
The nth shot/stroke of the current event.
tour_id
int
The unique Tournament ID of the current event
enable_ai
bool
Set to true for AI rephrasing
tier
int
The quality of the commentary from 1 to 5, with 1 being the best quality. This value will link up with excitement generally
comment_type
string
PostHole, PostShot, PreHole, PreShot, Top3TournamentStats, PlayerRoundStatDeviation, LastEclipsedRoundStats
full_payload
Boolean (true / false)
True will return all fields including betting relevant fields. False will return a refined list of commentary fields and is recommended to be used for Media purposes.
interval
int
Interval parameter is just the last 'x' number of days with 365 being the max
start_datetime
date
The start date and time which can be added to the response to filter out comments based on search criteria. This is the start date. YYYY-MM-DDhh:mm:ss
end_datetime
date
The end date and time which can be added to the response to filter out comments based on search criteria. This is the end date. YYYY-MM-DDhh:mm:ss
Field Name
Type
Description
commentType
string
"PlayerRoundStatDeviation_TODAY"
The variant and relative time of shot comment, pre, current or post hole Possible values: PostHole, PostShot, PreHole, PreShot, Top3TournamentStats, PlayerRoundStatDeviation, LastEclipsedRoundStats
excitement
double
1
An excitement rating, used to categorise comments, with near 1 being the best.
externalPlayerId
string
"PGA-R2024493"
The recognised tour federation player ID of each player
groupNo
string
"12"
The group number of the player, shared with who they are playing their round with
holeNo
string
"18"
The current Hole Number the event took place on. Holes 1 - 18
holePar
int
"4"
Par of that hole
id
string
"2825"
The unique Tournament ID of the current event
playerId
string
"5929"
The internal ID of the Player of the current event
playerName
string
"Maverick McNealy"
Player fullname
firstName
string
"Maverick"
Player Forename
lastName
string
"McNealy"
Player Lastname
roundNo
string
"4"
The current Round Number the event took place on. Usually would be 1 to 4
shotTypeNext
string
"OTT"
The next type of the shot the player will face. Could be: OTT = Off the Tee, APP = Approach, ARG = Around the Green, PUT = Putting
strokeNo
string
"0"
The nth shot/stroke of the current event.
teamId
string
"141"
The player's Team Number for the current Tournament format
text
string
"McNealy lost -1.18 more SG from 125 to 175 yards today (-1.57 SG) than his yearly average"
Generated text commentary relative to the shot in question and the surrounding situation of the Player's shot
tier
int
1
The quality of the commentary from 1 to 5, with 1 being the best quality. This value will link up with excitement generally
timestamp
timestamp
"2024-11-24T21:00:27.000Z"
The computer recorded time of the event in long format
tournamentName
string
"The RSM Classic"
The textual name of the tournament
tournamentScore
string
"-15"
The overall tournament score for that player at that time
Key
Value
Content-Type
application/json
Authorization
Bearer eyvhaoudfgpdfgo*
Leaderboard
https://dde-streams.data.imgarena.com/golf/tournaments/{tournamentId}/leaderboard?rest=true
https://dde-streams.data.imgarena.com/golf/tournaments/638/leaderboard?rest=true
Team hole by hole
https://dde-streams.data.imgarena.com/golf/tournaments/{tournamentId}}/teamholebyhole/{TeamID}?rest=true
https://dde-streams.data.imgarena.com/golf/tournaments/638/teamholebyhole/49?rest=true
Player Statistics
https://dde-streams.data.imgarena.com/golf/tournaments/{tournamentId}}/playerstats/{TeamID}?rest=true
https://dde-streams.data.imgarena.com/golf/tournaments/638/playerstats/49?rest=true
Player Statistics Rankings - Scoring
https://dde-streams.data.imgarena.com/golf/tournaments/{tournamentId}}/stats/scoring?rest=true
https://dde-streams.data.imgarena.com/golf/tournaments/638/stats/scoring?rest=true
Player Statistics Rankings - Approach
https://dde-streams.data.imgarena.com/golf/tournaments/{tournamentId}}/stats/approach?rest=true
https://dde-streams.data.imgarena.com/golf/tournaments/638/stats/approach?rest=true
Player Statistics Rankings - Shortgame
https://dde-streams.data.imgarena.com/golf/tournaments/{tournamentId}}/stats/shortgame?rest=true
https://dde-streams.data.imgarena.com/golf/tournaments/638/stats/shortgame?rest=true
Player Statistics Rankings - Putting
https://dde-streams.data.imgarena.com/golf/tournaments/{tournamentId}}/stats/putting?rest=true
https://dde-streams.data.imgarena.com/golf/tournaments/638/stats/putting?rest=true
Player Statistics Rankings - Driving
https://dde-streams.data.imgarena.com/golf/tournaments/{tournamentId}}/stats/driving?rest=true
https://dde-streams.data.imgarena.com/golf/tournaments/638/stats/driving?rest=true
Hole Statistics
https://dde-streams.data.imgarena.com/golf/tournaments/{tournamentId}}/holestats?rest=true
https://dde-streams.data.imgarena.com/golf/tournaments/638/holestats?rest=true
Team Round Details
https://dde-streams.data.imgarena.com/golf/tournaments/{tournamentId}}/round/{RoundNo}/team/{TeamID}?rest=true
https://dde-streams.data.imgarena.com/golf/tournaments/638/round/4/team/49?rest=true
Leaderboard - Match play
https://dde-streams.data.imgarena.com/golf/tournaments/{tournamentId}}/matchplayleaderboard?rest=true
https://dde-streams.data.imgarena.com/golf/tournaments/630/matchplayleaderboard?rest=true
Match score - Match play
https://dde-streams.data.imgarena.com/golf/tournaments/{tournamentId}}/matchscore/{MatchNo}?rest=true
https://dde-streams.data.imgarena.com/golf/tournaments/630/matchscore/112?rest=true
Team Match Details - Match play
https://dde-streams.data.imgarena.com/golf/tournaments/{tournamentId}}/matchdetails/{MatchNo}?rest=true
https://dde-streams.data.imgarena.com/golf/tournaments/630/matchdetails/112?rest=true
REST Endpoint
Frequency
https://dde-api.data.imgarena.com/golf/tournaments
Every 12hours
https://dde-api.data.imgarena.com/golf/tournaments/{id}/schedule
Every minute for the upcoming tournament
https://dde-api.data.imgarena.com/golf/tournaments/{tournamentId}/entrylist
Every minute for the upcoming tournament
https://dde-api.data.imgarena.com/golf/players
Every 12hours
https://dde-api.data.imgarena.com/golf/tournaments/liveevents
Every second when tournament is live
Key
Value
Accept
application/vnd.imggaming.dde.api+json;version=1
Content-Type
application/json
Authorization
Bearer eyvhaoudfgpdfgo*
Field Name
Type
Description
APP
array
Approach Shot SG value within an array from 0 to 10
ARG
array
Around the Green SG Shot value within an array from 0 to 10
OTT
array
Off The Tee SG Shot value within an array from 0 to 10
PUT
array
Putting Shot SG value within an array from 0 to 10
TOT
array
Total SG Shot value within an array from 0 to 10
external_course_id
string
External Tournament ID identifier String, covering DPWT, PGA Tour, Other Golf Tours
stat_name
string
course oriented stat name e.g. :
outOf10
float
score from 0 to 10
stat_average
float
average score for the stat in question (ranges in scale)
rank
int
the rank and importance of this stat in relation to the course
stat_value
float
the stat value score on this course
direction
string
an indication of acute context, e.g. hillier, easier, elevation
average_of_all_courses
float
the stat value score average across multiple courses
comment
string
an elaboration on stat_name
percentageScore
float
Average performance on this stat measured by percentages
playerId
string
The internal ID of the Player of the current event
firstName
string
The first name of the player
lastName
string
The surname of the player
americanodds
string
American MoneyLine odds format e.g +2800
averageWinningScore
float
average winning score
percentagePlayoffs
float
Number of play offs this person has had here
percentageShorter
float
Percentage of shorter scores
tournaments
int
Number of tournaments played
standings_toPar_displayValue
Number
variance on standings to Par display e.g. -21
tournament_year
int
Year of tournament (YYYY) e.g. 2022
winningMargin
string
e.g. 2 strokes
Key
Value
Accept
application/vnd.imggaming.dde.api+json;version=1
Content-Type
application/json
Authorization
Bearer eyvhaoudfgpdfgo*
Parameter
Description
dateFrom
e.g. dateFrom=2025-04-15. To be used in conjunction with dateTo to return a list of tournaments within a certain date range.
dateTo
e.g. dateTo=2025-04-15. To be used in conjunction with dateFrom to return a list of tournaments within a certain date range.
Field Name
Type
Description
Optional
format
string
The format of the tournament. The current possible values you can expect are:
StrokePlay, RyderCup, HeroCup, BelgianKO, GolfSixes, MatchPlay5Days, MatchPlay4Days, Custom, Stroke, Match, TeamMatch, Team, Stableford, StrokePlayProAm, Other
tour
string
The Tour on which the tournament is taking place. Can be "PGA tour", "LPGA Tour" or "European Tour"
tourID
integer
Returns an ID for the Tour in which the tournament is taking place. ID 0 = Unknown ID 1 =PGA Tour ID 2 =European Tour ID 3 =LPGA Tour
name
string
The name of the tournament
id
integer
The id of the tournament
startDate
-
Returned as null. please pass the tournament Id to retrieve this information.
endDate
date
The end date of the tournament (In UTC timezone)
startTeeTime
date/time or null
The starting tee time of the 1st round.
countryCode
string
The country code of the country in which the tournament is taking place (3 uppercase letters, eg "USA" or "FRA")
utcOffset
float
The UTC offset of the local time of the tournament, e.g. if “1” the local time of the tournament is UTC+1
year
integer
The year in which the tournament is taking place
rounds
object
See object details below
golfCourses
object
See object details below
venue
string
String containing name or address of the venue
YES
mainGolfCourseId
integer
The Golf Course Id of the main course, i.e. where the shot data happens or the Host Course
YES
mainGolfCourseName
string
The Golf Course name of the main course, i.e. where the shot data happens or the Host Course
YES
mainExternalGolfCourseId
string
The Golf Course Id of the main course, from the federation database. This is composed of the ID number concatenated with the federation abbreviation, either ET or PGA
YES
externalId
string
A unique Federation generated Tournament ID
tournamentDataStatus
string
can be either "Scheduled", "Test", "Simulation" or "Disabled" see Endpoint URLs section for more info
mainGolfCourseAssetId
string
The main course asset Id- internal use
historicalDetails
object
Historical details about the event, i,e Id and previous name of event.
Field Name
Type
Description
roundNo
int
The number of the round. The possible values are 1, 2, 3, 4 and 401 (Playoff)
roundType
string
Specifies the type of round. Possible values:
"StrokePlay", "MatchPlay", "RoundRobin"
format
string
Specifies play format for a round. Possible values: "BEST_BALL", "FOUR_BALL", "FOURSOMES", "GREENSOMES", "GRUESOMES", "REGULAR", "OTHER"
isPlayOff
boolean
“True” if that round is a Play Off
scoring
string
Defines how each hole is scored for that round. Possible values; AggregatedStrokes, HoleWonPoint_TieZero, HoleWonPoint_TieHalved, Stableford, Other
advancementRule
string
Defines how players will be qualified for the next round. Possible values:
"ALL_QUALIFY", "CUT_64", "CUT_60", "CUT_50", "CUT_36_HOLES_ET", "CUT_54_HOLES_ET", "CUT_36_HOLES_PGA", "CUT_54_HOLES_PGA", "CUT_TEN_STROKE", "FINAL", "KNOCK_OUT", "WON_1_POINTS_DRAW_HALF_POINT", "WON_3_POINTS_DRAW_1_POINT", "OTHER"
Field Name
Type
Description
courseName
string
The name of (one of) the golf course(s) at which the event is being played
courseId
integer
The unique ID of the course
isMain
boolean
True if the main course at the tournament, false if not
courseDetails
object
Please view the courseDetails Object table
externalCourseID
string
The Golf Course Id of the main course, from the federation database. This is composed of the ID number concatenated with the federation abbreviation, either ET or PGA
scoringLevel
Integer
This integer value is linked to scoringType value.
1 = Shot link with laser
2 = Scored with walking scorer
3 = Holes scores Only
null = not scored
scoringType
string
Type of scoring method being applied that week. See possible values below.
Type
Description
ShotlinkWithLaser
Full Shot by Shot coverage across the complete Course. Including distanceToPin, shotDistance, x, y, z values.
ScoredWithWalkingScorer
Only Shot Counts available during the in play Hole. This Course will not have distance values per Shot.
HoleScoresOnly
Only Scores at the end of each Hole. Only useful for keeping a Scorecard up to date.
NotScored
Scores on this Course will not be available. Note that, this value is unlikely to be used operationally.
Field Name
Type
Description
roundNo
int
The round number for which the following course details information applies. The possible values are 1, 2, 3, 4 and 401 (Playoff)
holes
object
Please view the holes object
Field Name
Type
Description
holeNo
int
The number of the hole
officialYardage
int
The official yardage of the hole
actualYardage
int
the actual yardage of the hole
officialMetres
decimal
The official metres length of the hole
actualMetres
decimal
The actual metres length of the hole
par
int
The par score of the hole
isOfficialDrivingHole
boolean
Whether it is the official driving hole on the course (true/false)
displayName
string
Display name of the hole
isStreaming
boolean
Is video streaming available on this hole?
teeBoxes
object
See teeBoxes object
pinPlacement
object
See pinPlacement object
stimpReading
string
Returns the green speed effectively. null if not known
Field Name
Type
Description
x
decimal
x co-ordinate of pin (previously longitude of the pin)
y
decimal
y co-ordinate of pin (previously latitude of the tee pin)
z
decimal
z co-ordinate of pin
Field Name
Type
Description
x
decimal
x co-ordinate of tee box (previously longitude of the tee box)
y
decimal
y co-ordinate of tee box (previously latitude of the tee box)
z
decimal
z co-ordinate of tee box
colour
string
the colour of the tee box, an identifier
Key
Value
Accept
application/vnd.imggaming.dde.api+json;version=1
Content-Type
application/json
Authorization
Bearer eyvhaoudfgpdfgo*
Field Name
Type
Description
distanceToPinYards
float
Distance in yards from the player's current ball position to the pin of the hole
groupNo
string
The group number of the player, shared with who they are playing their round with
holeNo
string
The current Hole Number the event took place on. Holes 1 - 18
latestStrokeNo
int
The nth shot/stroke on the current hole.
pbpCommentary
string
Generated text commentary relative to the shot in question and the surrounding situation of the player's shot
playerId
string
The internal ID of the Player of the current event
tournamentId
string
The unique Tournament ID of the current event
roundNumber
string
The current Round Number the event took place on. Usually would be 1 to 4
playerName
string
The first name and surname of the player
prevDistanceToPinYards
float
Distance in yards from the player's previous ball position from their previous shot to the pin of the hole
teamNumber
string
The player's Team Number for the current Tournament format
shotFromLocation
string
The description of the location on the hole from where the player took their most recent shot, e.g. rough, fairway, bunker, tee
shotToLocation
string
The description of the location on the hole from where the player's ball has landed after their most recent shot, e.g. rough, fairway, bunker, green
externalPlayerId
string
Match Play Only Field
The recognised external (Golf tour) player ID
rcTeam
string
Match Play Only Field
The Ryder Cup / Match Play Team. For Ryder Cup this will be either "U" or "E" USA or Europe
finishedGroup
Binary
1 = This group has just finished their round/session. 0 = This group has not finished their round/session.
latestPlayed
Binary
1 = This group was the last to play. 0 = This group was not the last to play.
nextToPlay
Binary
1 = This group is the next to play. 0 = This group is not the next to play.
timestamp
timestamp
The time stamp of this action.
This endpoint returns data for each player via the entry list of the tournament indicated in the endpoint parameter
https://dde-api.data.imgarena.com/golf/golf/entrylist/{tournamentID}/{stats_type}
URL Sample:
https://dde-api.data.imgarena.com/golf/golf/entrylist/750/season_sg
https://dde-api.data.imgarena.com/golf/golf/entrylist/750/season_stats
https://dde-api.data.imgarena.com/golf/golf/entrylist/750/season_results
https://dde-api.data.imgarena.com/golf/golf/entrylist/750/aggregated_results
https://dde-api.data.imgarena.com/golf/golf/entrylist/750/recent_weeks
https://dde-api.data.imgarena.com/golf/golf/entrylist/750/tournament_results
Key
Value
Accept
application/vnd.imggaming.dde.api+json;version=1
Content-Type
application/json
Authorization
Bearer eyvhaoudfgpdfgo*
*Authorization header includes a truncated Bearer token, contact IMG for your auth token if you do not have.
Request Types:
Tournament Id
season_sg
season_stats
season_results
aggregated_results
recent_weeks
tournament_results
Field Name
Type
Description
APP
Array
Description of Strokes Gained performance for each player's Approach Shots
ARG
Array
Description of Strokes Gained performance for each player's Around The Green Shots
OTT
Array
Description of Strokes Gained performance for each player's Off The Tee Shots
PUT
Array
Description of Strokes Gained performance for each player's Putting Shots
overallSG
Array
Description of Strokes Gained performance for each player's Overall shot performance covering al stroke types combined
percentile
int
The percentile among peers the player ranks for this shot type
rank
int
The Rank of the player among peers the player sits for performance of this shot type
sgSum
float
The actual strokes gained sum of the shot type across all times across the season
sgValue
float
The average sg value for this shot type this season
avgValue
float
The average value of this stat across the season
endDate
Date
The Date this tournament in question ended
position
string
The final position for the player at this tournament
score
string
The final score for the player at this tournament
totalSG
float
The Sum of the overall SG for the player at this tournament
madeCuts
int
The number of cuts made by this player
madeCutsPerc
float
The percentage number of cuts made by this player against all tournaments played
roundsPlayed
int
The number of rounds played by this player
top10s
int
The number of Top 10 finishes by this player
top10sPerc
float
The percentage number of Top 10 finishes by this player against all finishes
top20s
int
The number of Top 20 finishes by this player
top5s
int
The number of Top 5 finishes by this player
totalSG
float
The aggregated Total Strokes Gained by this player across multiple tournaments
tournamentsPlayed
int
The aggregated number of tournaments played by this player
teeTime
DateTime
The tee time for this tournament
positionDisplay
string
Final position at this recent tournament
positionScaling
float
Position scaling at the recent tournament (how secure was their position during this tournament)
weeksAgo
int
How long ago was this tournament in weeks
R1
int
The player final score on this round only in this tournament
R2
int
The player final score on this round only in this tournament
R3
int
The player final score on this round only in this tournament
R4
int
The player final score on this round only in this tournament
tournament_year
DateYear
The Year of the tournament (YYYY)
tournamentName
string
The name of the Tournament
tournamentId
string
The unique Tournament ID of the current event
firstName
string
The first name of the player
lastName
string
The surname of the player
playerName
string
The first name and last name of the player
playerCountry
string
The nationality of the player
teamId
Number
The player's Team ID for the current Tournament format
playerId
Number
The player ID