Static Data
How do I start the integration?
To begin integration:
Schedule an onboarding call with IMG Arena’s Integration Management team.
They will provide access credentials and walk you through the Sandbox tool.
Use the
/tournamentendpoint to retrieve aneventID.This ID is required to initialize a tournament in the Sandbox environment.
Explore available modules using the Sandbox interface.
This helps validate view configurations and understand how the integration library behaves across different contexts.
How do I build static data?
To generate static tournament data:
Query the
/tournamentsendpoint.Use
dateFromanddateToparameters to define the range.Example:
GET https://dde-api.imggaming.com/golf/tournaments?dateFrom=2022-01-01&dateTo=2022-12-31This returns all tournaments covered by IMG Arena within the specified period
Query the
/scheduleendpoint.For any active tournament week, use
/scheduleto retrieve tee-time data.This includes groupings and timings for each round.
Refer to the
/scheduleendpoint documentation for schema details and response structure.
How do I map IMG Arena Event IDs to Internal systems IDs?
To perform tournament-level mapping:
Query the
/tournamentsendpointExtract key fields:
name,tour, andstartDateThese attributes are consistent across systems and suitable for matching
Apply fuzzy matching logic
Use string similarity or date-based heuristics to align IMG Arena events with internal records
This approach accounts for minor naming variations while leveraging universal identifiers like start date
Tip: Ensure your parser tolerates formatting differences (e.g., “The Masters” vs “Masters Tournament”) and supports partial matches when exact alignment isn’t guaranteed.
What static data should I save and why?
To support reliable tournament mapping, scheduling, and market linking, save the following fields
name
Name of the tournament
To retrieve the tournament name related to the ID.
startTeeTime
Returns time of the first tee-off of the tournament
To determine the start time of the tournament. Note that value will populate when the initial tee-times are made available. If tee-times are not available, then Null will be returned.
isStreaming under golfCourses --> roundNo --> holes object
Returns which hole will have streaming enabled
Once the course details are made available, you can use this parameter to determine which hole will have streaming.
id
Unique ID for the tournament
This ID returned will be the "eventID" used in the integration library. i.e this is the event ID needed to load the tournament via the event centre.
tour
Returns the name of the federation of which the golf tournament is apart off.
Helps determine if the tour is apart of PGA, LPGA or DPWT. This will help when it comes to mapping. Note that we return "tour": "European Tour" for DPWT events.
startDate
Returns the start date of the tournament.
This will help with mapping.
From the /tournaments endpoint, persist the following fields to support tournament mapping, scheduling, and integration:
name: Tournament name — used for display and fuzzy matchingstartDate: Tournament start date — critical for aligning with internal schedulesid: Unique tournament identifier — passed aseventIDwhen initializing the integration librarytour: Federation or tour name (e.g., PGA, DPWT, LPGA) — used for filtering, categorization, and routing logic
These fields form the foundation for static data mapping and are essential for linking dynamic endpoints like /schedule, /markets, and /leaderboard.
From the /tournament/{ID}/schedule endpoint:
To support tee-time mapping, group-level targeting, and market linkage, store the following fields
startTime
Start time for the group
expected time for when the group will start the hole.
date
Stat date for the group
Start date of the group.
groupId
Unique group ID for the group
You will need to save the groupId if you will be using initial context within the integration library. The GroupID will be useful when trying to link a 3/2 ball on the frontend to the 3/2ball markets. i.e so if a user clicks on a particular group the relevant markets will be displayed and vice versa.
teeSeq
Tee Sequence for a given group. i.e "teeSeq": 4 means 4th group to start on the hole.
This will help you determine the ordering of the groups.
round
The round the tee-times are related to.
This will help determine which round the tee-time is related to.
hole
The hole that the group will start on, either will be 1 or 10
Will inform you which hole the groups are expected to started from.
players within group--> groupNo --> teams--> teamNo
determine which players are within a group.
Will inform you which players are within a group. This will help mapping at group level.
What static data should I build from the /tournament/{ID}/schedule endpoint?
/tournament/{ID}/schedule endpoint?Before accessing this endpoint, ensure you have:
Tournament name
Tournament ID (
eventID)Estimated schedule release time — typically 2 days before tournament start
Static Data to Build by Round
groupId
Unique identifier for each group — used for market linkage and UI targeting
playerIds
List of players within the group — supports 2-Ball, 3-Ball, and Player Markets
teeTime
Scheduled start time — used for rendering and market activation
holeStart
Starting hole number (e.g., 1 or 10) — relevant for shotgun formats
groupOrder
Order of play — defines sequencing of groups within a roun
🧠 Release Timing Notes
Rounds 1 and 2: Tee-times and groupings are released in advance (typically 48 hours before start)
Rounds 3 and 4: Groupings are published after Round 2 completion, based on leaderboard standings
When does a tournament start
Use the
/tournament/{ID}endpoint.Field:
startTeeTimeReturns the first scheduled tee-time (UTC).
If not yet available, this field will return
null
When can I display the Golf Event Centre
The Event Centre becomes renderable once tee-times are available.
Use
startTeeTimeas the trigger to initialize the UI.
When should I pull the /schedule endpoint
/schedule endpointMost tournaments run Thursday–Sunday.
Initial schedule (Rounds 1 & 2) is typically available Tuesday midday GMT.
Recommended polling:
Every minute on Tuesdays for upcoming events.
After completion of Round 2 and Round 3 to retrieve updated groupings for Rounds 3 & 4.
What format is startTime
startTimeFormat:
HH:MMZ(UTC)Zindicates offset (e.g.,+01:00,-05:00)
When should I stop displaying the Event Centre
Recommended:
Keep live until a few hours post-event.
Event Centre supports displaying events up to 2–3 weeks in the past.
How do I track round status
Use the
/leaderboardsWebSocket feed.Field:
roundStatusesIndicates:
notStarted,inProgress,suspended,finished.
Contact your Integration Manager for access.
Can we get a list of player Id?
Endpoint:
https://dde-api.imggaming.com/golf/playersReturns: Player ID, name, country, DOB (if known), European Tour ID, PGA Tour ID.
Contact your Integration Manager for access.
What does Round "401" mean?
Round
401indicates a playoff stage
Last updated
Was this helpful?