Golf FAQs

Frequently Asked Questions

Q. How can the play format be determined for an event?

A. Please refer to the Golf Event page to view game type and event type properties for the play format.



##Q. Many golf events now take place on multiple courses. How do I know which course a player is on during any given round?
A. Within the Event Composition endpoint, for each round, every Participant is assigned a Venue ID value which defines the individual course on which they are playing.

Venue ID assigned to Participant within the Event Composition.

{
  "id": 8217032,
  "number": 2,
  "participant": {
    "id": 548725,
    "name": "Daniel Berger",
    "firstName": "Daniel",
    "lastName": "Berger",
    "gender": "male",
    "type": "athlete",
    "country": {
      "id": 16,
      "name": "USA"
    },
      
      "venue-fk": {
      "code": "entrant:venue-fk",
      "name": "Venue Id",
      "value": "4193"




##Q. Some data elements within the Event Detail endpoint are repeated in the Event Composition endpoint, which one should I use?
A. Although it depends on which elements you choose to use/display, the premium live endpoint is the Event Composition which updates hole-by-hole or every five minutes, whichever comes sooner. The Event endpoint carries higher-level information and updates circa every 10 minutes. It may be required to extract data from both endpoints to elicit a richer solution. A full breakdown of the properties available: Event and Composition.



##Q. How do I know what a Participant’s par score is for each individual round during live play?
A. The API defines the Participant’s overall par score per round at the end of play in the Event endpoint. The par score per round is not updated during play in a specific property however, this can be calculated using data available in the Event Composition. Hole par and strokes per hole per participant per round are available in the Event Composition so for example, let’s say that at the end of Round 1 a Participant has a score of -2 (Event endpoint) and then after 13 holes in Round 2 we’re showing that their score is -5 (Event Composition) then you know their ‘Round 2 Score’ is -3. Or round par can be calculated by the par per hole and compared with the Participant strokes per hole.

{
  "round1": {
    "code": "scope:round1",
    "name": "Round 1",
    "entrants": [
      {
        "id": 8217031,
        "number": 1,
        "participant": {
          "id": 198332,
          "name": "Byeong-Hun An",
          "firstName": "Byeong-Hun",
          "lastName": "An",
          "gender": "male",
          "type": "athlete",
          "country": {
            "id": 88,
            "name": "South Korea"
          }
        },
        "meta": {
          "starting-hole": {
            "code": "entrant:starting-hole",
            "name": "Number Of Hole Where Player Starts",
            "value": "1"
          },
          "par1": {
            "code": "entrant:par1",
            "name": "Par For Hole 1",
            "value": "4"
          },
          "strokes1": {
            "code": "entrant:strokes1",
            "name": "Strokes For Hole 1",
            "value": "4"




##Q. How are play-offs presented in the API?

A. Play-offs can be presented in two ways:

Additional holes to the round

Those participants who are in the play-off will play additional holes as part of the current round and these will be exposed in the Event Composition endpoint. The status of the event will also update in the Event endpoint to indicate the start of the play-off.

Event Composition extract:

{
  "id": 8217049,
  "number": 19,
  "participant": {
    "id": 60046,
    "name": "Sergio Garcia",
    "firstName": "Sergio",
    "lastName": "Garcia",
    "gender": "male",
    "type": "athlete",
    "country": {
      "id": 8,
      "name": "Spain"
    }
  },

  "par19": {
    "code": "entrant:par19",
    "name": "Par For Hole 19",
    "value": "4"
  },          
  "strokes19": {
    "code": "entrant:strokes19",
    "name": "Strokes For Hole 19",
    "value": "3"

Example status updates in Event endpoint:

"id": 2314552,
  "name": "Masters Tournament",
  "status": "4th Round finished",
{
	"id": 2314552,
  "name": "Masters Tournament",
  "status": "Play Off started",
{
  "id": 2314552,
  "name": "Masters Tournament",
  "status": "Finished",

Additional round to the competition

If there is an additional play-off round within the tournament structure prior to play, an additional stage is added, where the events within the play-off round will be added when they are announced/released.

Example using the new GolfSixes tournament from May 2017:

{
  "id": 848512,
  "name": "GolfSixes Playoff",
  "gender": "male",
  "start": "2017-05-07",
  "end": "2017-05-07",
  "country": {
    "id": 2,
    "name": "England"
  },
  "season": {
    "id": 10838,
    "name": "2017"
  },
  "tournament": {
    "id": 429,
    "name": "European Tour",
    "gender": "male"
  },
  "sport": {
    "id": 3,
    "name": "Golf"




##Q. Where Participants are part of a team, how can I tell the ordering?

A. Where play is split into a team format, Participants are assigned numbers of order. The teams are expressed as Participants 1 and 3 v Participants 2 and 4. This is consistent across Golf and other non-team sports where teams can be presented (eg. doubles in Tennis)

{
  "id": 2117559,
  "name": "Adam Scott/Hideki Matsuyama-Bubba Watson/J. B. Holmes",
  "status": "Finished",
  "date": "2015-10-08T04:05:00Z",
  "updated": "2015-10-08T08:15:23Z",
  "entrants": [
    {
      "id": 6698072,
      "number": 1,
      "participant": {
        "id": 60047,
        "name": "Adam Scott",
        "firstName": "Adam",
        "lastName": "Scott",
        "gender": "male",
        "type": "athlete",
        "country": {
          "id": 39,
          "name": "Australia"
        }
      },
      "results": {
        "final-result": {
          "code": "result:final-result",
          "name": "Final Result",
          "value": "lost"
        }
      }
    },
    {
      "id": 6698071,
      "number": 2,
      "participant": {
        "id": 61166,
        "name": "Bubba Watson",
        "firstName": "Bubba",
        "lastName": "Watson",
        "gender": "male",
        "type": "athlete",
        "country": {
          "id": 16,
          "name": "USA"
        }
      },
      "results": {
        "final-result": {
          "code": "result:final-result",
          "name": "Final Result",
          "value": "won"
        },
        "match-play-score": {
          "code": "result:match-play-score",
          "name": "Match Play Score",
          "value": "3&2"
        }
      }
    },
    {
      "id": 6698074,
      "number": 3,
      "participant": {
        "id": 242757,
        "name": "Hideki Matsuyama",
        "firstName": "Hideki",
        "lastName": "Matsuyama",
        "gender": "male",
        "type": "athlete",
        "country": {
          "id": 25,
          "name": "Japan"
        }
      }
    },
    {
      "id": 6698073,
      "number": 4,
      "participant": {
        "id": 61167,
        "name": "J. B. Holmes",
        "firstName": "J. B.",
        "lastName": "Holmes",
        "gender": "male",
        "type": "athlete",
        "country": {
          "id": 16,
          "name": "USA"
        }
      }
    }
  ],




##Q. I'm building a Golf calendar, but I can't see Match Play competitions. Why?

A. Due to the structure of Match Play tournaments, where participants play in pairings/teams, the competition data is presented at Stage level and the participants are presented at Event level within the stage. So as soon as pairings/teams are available for Match Play, these are entered at Event level which means until that point, competition data will only be seen at Stage level.

If you're building a calendar to expose all 'Events' within a set period of time, then as there are no Events for a Match Play in advance, there will be no Events within your calendar. To build a calendar to expose all available fixture data for a forthcoming period, you should interrogate the API for all Stages within a set period of time.

For example, searching for events within a Match Play stage, before the participants have been announced and each have been created as an event, will result in a blank endpoint.

{
    "offset": 0,
    "limit": 20,
    "hasNext": false,
    "hasPrevious": false,
    "items": []
}