FAQ
Please view the following list of frequently asked questions, hopefully it can help you integrate the Golf event centre more efficiently:
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.
How do I test streaming
Set up streaming in Sandbox:
Schedule a walkthrough with your Integration Manager.
Generate streaming tokens:
Docs: Token Creation Guide
Node.js script: Token Generator
Update your IP and ALC token in the script.
Pass token + timestamp into the Integration Library with your ALC Operator ID.
Example: Streaming Sandbox
Testing outside live hours:
Use the weekly simulation environment (link to sim page)
How do I know if an event has streaming
Check
/tournament/{ID}:Field:
holes[].isStreaming === true
Request a coverage schedule from your Integration Manager.
View coverage in the ALC platform.
What are the different coverage levels?
L1
Shot-by-shot (ShotlinkWithLaser)
✅ 2 Par 3 holes
Highest coverage
L2
Hole-by-hole (ScoredWithWalkingScorer)
✅ (TV feed for LPGA)
Mid-tier coverage
L3
Leaderboards only (HoleScoresOnly)
❌
Minimal data, no stream
How to escalate issues?
During integration: Contact your Integration/CSM team via your dedicated channel.
Post go-live: Email [email protected] — available 24/7/365.
What are the SLAs for a live query?
For the response time for support:
15 minutes for the first response
15 minutes for the next update
30 minute intervals for any further updates thereafter
What size of the iframe do you recommend?
Minimum: 320px width × 362px height
Reducing height may cause UI misalignment.
What is the quality of the stream?
All streams run at 360p (728 Kbps) due to broadcast rights.
How is geo-blocking done for streaming?
Geo-blocking is enforced at operator level by IMG Arena.
Contact your Customer Solutions Manager for details.
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
What can I customise within the Iframe?
Branding (colors, fonts, etc.) is customizable.
Provide your brand guidelines to your Integration Manager.
UX team can deliver mockups and a customization spec.
How to pass your Google Analytics ID:
Use the
optionsfield in the integration library:
options: { videoPlaybackEnabled: true, userId: 'UA-XXXXXX-X' }
Contact IMG Integrations team if you need your GA ID.
When are scoring levels available:
DPWT: 7 days before tournament start
PGA: Friday before event (~5pm ET) with course data
Current list of featured flags:
Disabling Favouriting
Allow you to disable the favouriting functionally
Disabling Searching
Allow you to disable the search functionally
Hole map default perspective
Allows the options to choose whether you would like the hole maps to show 2D or 3D by default.
Hole Map icons
Allows you to turn off any of the following icons:
3D toggle
Reset
Full Screen
Green
Leaderboard flags
Gives you the options of choosing whether you would like to show player flags next to their name.
Custom Favorite icon
Gives you the ability to have your own Fav icon.
Group Detail V2
On hole and shots view moves the player selector into the header to release more real estate to the map.
if you require the above feature flags, please liaise with the IMG Arena integrations team.
Last updated
Was this helpful?