> For the complete documentation index, see [llms.txt](https://docs.sportradar.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.sportradar.com/golf/feed-specifications/endpoints-stream/hole-statistics.md).

# Hole Statistics

This endpoint is a live websocket endpoint that returns the statistics for all holes, on a per round basis for a given tournament. Currently the whole hole stats event is sent whenever a new RoundDetails packet is received from either FlightScope of PGA.

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

This can be found at -

Legacy -  `wss://dde-streams.data.imgarena.com/golf/tournaments/{tournamentId}/holestats` (Decommissioning on 30th Sept 2026).

**NEW** - `wss://dde-streams.data.srarena.io/golf/tournaments/{tournamentId}/holestats`

### Hole Statistics via RestAPI

Note that the hole statistics websockets is available via Rest - `https://dde-streams.data.srarena.io/golf/tournaments/{tournamentId}/holestats?rest=true`

### Hole Stats

**holeStats Object**

| Field        | Definition                           | Data Type                |
| ------------ | ------------------------------------ | ------------------------ |
| SeqNum       | Sequence number of the update packet | integer                  |
| holeStats    | See object docs                      | array                    |
| timestamp    | Time the update is sent              | time                     |
| tournamentId | Tournament ID                        | The id of the tournament |

```
{
  "holeStats": [** see object below **],
  "seqNum": 2082,
  "timestamp": "2025-02-16T23:24:58.869Z",
  "tournamentId": 1096
}
```

**holeStats Array**

| Field      | Definition                                           | Data Type |
| ---------- | ---------------------------------------------------- | --------- |
| holeNumber | Hole number                                          | integer   |
| parNumber  | Par value for hole                                   | integer   |
| rounds     | Hole statistics by round -view table below           | array     |
| total      | Hole Statistics for the tournament -view table below | array     |

```
{
  "holeStats": [
    {
      "holeNumber": 1,
      "parNumber": 4,
      "rounds": [** see object below **],
      "total": {** see object below **}
    },
    {
      "holeNumber": 2,
      "parNumber": 4,
      "rounds": [** see object below **],
      "total": {** see object below **}
    },
    {
      "holeNumber": 3,
      "parNumber": 3,
      "rounds": [** see object below **],
      "total": {** see object below **}
    }
```

The hole statistics are returned at round level and tournament level. The full list of statistics and their definitions are as follows:

| Statistic           | Definition                                                                | Data type |
| ------------------- | ------------------------------------------------------------------------- | --------- |
| averagePutts        | Average amount of putts players take to hole out                          | integer   |
| pars                | Total pars on a hole                                                      | integer   |
| birdies             | Total birdies on a hole                                                   | integer   |
| bogeys              | Total bogeys on a hole                                                    | integer   |
| doubleBogeysOrWorse | Total double bogeys or worse on a hole                                    | integer   |
| eaglesOrBetter      | Total eagles or better on a hole                                          | integer   |
| fairwaysHit         | Total number of times players hit the fairway on a hole from the tee shot | integer   |
| greensHit           | Total number of times players hit the green on a hole from the tee shot   | integer   |
| threePutts          | Total three putts (or worse) on a hole                                    | integer   |
| timesPlayed         | Total number of times the hole has been played by all players             | integer   |
| scoringAverage      | The scoring average on the hole                                           | integer   |

These statistics are outputted per hole, per round.

Sample output:

```
{
  "holeStats": [
    {
      "holeNumber": 1,
      "parNumber": 4,
      "rounds": [
        {
          "averagePutts": 1.708,
          "birdies": 4,
          "bogeys": 14,
          "doubleBogeysOrWorse": 0,
          "eaglesOrBetter": 1,
          "fairwaysHit": 33,
          "greensHit": 43,
          "pars": 53,
          "roundNumber": 1,
          "scoringAverage": 4.111,
          "threePutts": 4,
          "timesPlayed": 72
        },
        {
          "averagePutts": 1.597,
          "birdies": 4,
          "bogeys": 15,
          "doubleBogeysOrWorse": 0,
          "eaglesOrBetter": 0,
          "fairwaysHit": 41,
          "greensHit": 33,
          "pars": 53,
          "roundNumber": 2,
          "scoringAverage": 4.153,
          "threePutts": 0,
          "timesPlayed": 72
        },
        {
          "averagePutts": 1.463,
          "birdies": 12,
          "bogeys": 7,
          "doubleBogeysOrWorse": 0,
          "eaglesOrBetter": 0,
          "fairwaysHit": 19,
          "greensHit": 30,
          "pars": 35,
          "roundNumber": 3,
          "scoringAverage": 3.907,
          "threePutts": 0,
          "timesPlayed": 54
        },
        {
          "averagePutts": 1.537,
          "birdies": 5,
          "bogeys": 8,
          "doubleBogeysOrWorse": 1,
          "eaglesOrBetter": 0,
          "fairwaysHit": 30,
          "greensHit": 27,
          "pars": 40,
          "roundNumber": 4,
          "scoringAverage": 4.093,
          "threePutts": 1,
          "timesPlayed": 54
        }
      ],
      "total": {
        "": 6.306,
        "birdies": 25,
        "": 44,
        "": 1,
        "": 1,
        "fairwaysHit": 123,
        "greensHit": 133,
        "": 181,
        "scoringAverage": 16.264,
        "threePutts": 5,
        "timesPlayed": 252
      }
    },
    {
      "holeNumber": 2,
      "parNumber": 4,
      "rounds": [
        {
          "averagePutts": 1.817,
          "birdies": 7,
          "bogeys": 24,
          "doubleBogeysOrWorse": 1,
          "eaglesOrBetter": 0,
          "fairwaysHit": 42,
          "greensHit": 45,
          "pars": 39,
          "roundNumber": 1,
          "scoringAverage": 4.268,
          "threePutts": 8,
          "timesPlayed": 72
        },
        {
          "averagePutts": 1.708,
          "birdies": 17,
          "bogeys": 5,
          "doubleBogeysOrWorse": 0,
          "eaglesOrBetter": 0,
          "fairwaysHit": 49,
          "greensHit": 63,
          "pars": 50,
          "roundNumber": 2,
          "scoringAverage": 3.833,
          "threePutts": 0,
          "timesPlayed": 72
        },
        {
          "averagePutts": 1.556,
          "birdies": 15,
          "bogeys": 3,
          "doubleBogeysOrWorse": 1,
          "eaglesOrBetter": 1,
          "fairwaysHit": 34,
          "greensHit": 44,
          "pars": 34,
          "roundNumber": 3,
          "scoringAverage": 3.778,
          "threePutts": 2,
          "timesPlayed": 54
        },
        {
          "averagePutts": 1.63,
          "birdies": 18,
          "bogeys": 5,
          "doubleBogeysOrWorse": 1,
          "eaglesOrBetter": 0,
          "fairwaysHit": 27,
          "greensHit": 46,
          "pars": 30,
          "roundNumber": 4,
          "scoringAverage": 3.796,
          "threePutts": 1,
          "timesPlayed": 54
        }
      ],
      "total": {
        "averagePutts": 6.71,
        "birdies": 57,
        "bogeys": 37,
        "doubleBogeysOrWorse": 3,
        "eaglesOrBetter": 1,
        "fairwaysHit": 152,
        "greensHit": 198,
        "pars": 153,
        "scoringAverage": 15.675,
        "threePutts": 11,
        "timesPlayed": 252
      }
    },
    {
      "holeNumber": 3,
      "parNumber": 3,
      "rounds": [
        {
          "averagePutts": 1.778,
          "birdies": 5,
          "bogeys": 15,
          "doubleBogeysOrWorse": 1,
          "eaglesOrBetter": 0,
          "fairwaysHit": 0,
          "greensHit": 48,
          "pars": 51,
          "roundNumber": 1,
          "scoringAverage": 3.167,
          "threePutts": 4,
          "timesPlayed": 72
        },
        {
          "averagePutts": 1.597,
          "birdies": 13,
          "bogeys": 6,
          "doubleBogeysOrWorse": 1,
          "eaglesOrBetter": 0,
          "fairwaysHit": 0,
          "greensHit": 50,
          "pars": 52,
          "roundNumber": 2,
          "scoringAverage": 2.931,
          "threePutts": 3,
          "timesPlayed": 72
        },
        {
          "averagePutts": 1.685,
          "birdies": 11,
          "bogeys": 6,
          "doubleBogeysOrWorse": 0,
          "eaglesOrBetter": 1,
          "fairwaysHit": 0,
          "greensHit": 45,
          "pars": 36,
          "roundNumber": 3,
          "scoringAverage": 2.87,
          "threePutts": 4,
          "timesPlayed": 54
        },
        {
          "averagePutts": 1.519,
          "birdies": 18,
          "bogeys": 2,
          "doubleBogeysOrWorse": 0,
          "eaglesOrBetter": 1,
          "fairwaysHit": 0,
          "greensHit": 46,
          "pars": 33,
          "roundNumber": 4,
          "scoringAverage": 2.667,
          "threePutts": 0,
          "timesPlayed": 54
        }
      ],
      "total": {
        "averagePutts": 6.579,
        "birdies": 47,
        "bogeys": 29,
        "doubleBogeysOrWorse": 2,
        "eaglesOrBetter": 2,
        "fairwaysHit": 0,
        "greensHit": 189,
        "pars": 172,
        "scoringAverage": 11.634,
        "threePutts": 11,
        "timesPlayed": 252
      }
    },
    {
      "holeNumber": 4,
      "parNumber": 4,
      "rounds": [
        {
          "averagePutts": 1.708,
          "birdies": 6,
          "bogeys": 18,
          "doubleBogeysOrWorse": 3,
          "eaglesOrBetter": 0,
          "fairwaysHit": 31,
          "greensHit": 40,
          "pars": 45,
          "roundNumber": 1,
          "scoringAverage": 4.264,
          "threePutts": 3,
          "timesPlayed": 72
        },
        {
          "averagePutts": 1.875,
          "birdies": 3,
          "bogeys": 25,
          "doubleBogeysOrWorse": 4,
          "eaglesOrBetter": 0,
          "fairwaysHit": 36,
          "greensHit": 38,
          "pars": 40,
          "roundNumber": 2,
          "scoringAverage": 4.417,
          "threePutts": 11,
          "timesPlayed": 72
        },
        {
          "averagePutts": 1.667,
          "birdies": 3,
          "bogeys": 13,
          "doubleBogeysOrWorse": 0,
          "eaglesOrBetter": 0,
          "fairwaysHit": 36,
          "greensHit": 28,
          "pars": 38,
          "roundNumber": 3,
          "scoringAverage": 4.185,
          "threePutts": 4,
          "timesPlayed": 54
        },
        {
          "averagePutts": 1.444,
          "birdies": 16,
          "bogeys": 3,
          "doubleBogeysOrWorse": 1,
          "eaglesOrBetter": 0,
          "fairwaysHit": 31,
          "greensHit": 37,
          "pars": 34,
          "roundNumber": 4,
          "scoringAverage": 3.796,
          "threePutts": 0,
          "timesPlayed": 54
        }
      ],
      "total": {
        "averagePutts": 6.694,
        "birdies": 28,
        "bogeys": 59,
        "doubleBogeysOrWorse": 8,
        "eaglesOrBetter": 0,
        "fairwaysHit": 134,
        "greensHit": 143,
        "pars": 157,
        "scoringAverage": 16.662,
        "threePutts": 18,
        "timesPlayed": 252
      }
    },
    {
      "holeNumber": 5,
      "parNumber": 4,
      "rounds": [
        {
          "averagePutts": 1.722,
          "birdies": 0,
          "bogeys": 34,
          "doubleBogeysOrWorse": 3,
          "eaglesOrBetter": 0,
          "fairwaysHit": 40,
          "greensHit": 21,
          "pars": 35,
          "roundNumber": 1,
          "scoringAverage": 4.569,
          "threePutts": 7,
          "timesPlayed": 72
        },
        {
          "averagePutts": 1.694,
          "birdies": 10,
          "bogeys": 15,
          "doubleBogeysOrWorse": 1,
          "eaglesOrBetter": 0,
          "fairwaysHit": 39,
          "greensHit": 45,
          "pars": 46,
          "roundNumber": 2,
          "scoringAverage": 4.097,
          "threePutts": 5,
          "timesPlayed": 72
        },
        {
          "averagePutts": 1.778,
          "birdies": 6,
          "bogeys": 12,
          "doubleBogeysOrWorse": 1,
          "eaglesOrBetter": 0,
          "fairwaysHit": 28,
          "greensHit": 37,
          "pars": 35,
          "roundNumber": 3,
          "scoringAverage": 4.148,
          "threePutts": 3,
          "timesPlayed": 54
        },
        {
          "averagePutts": 1.37,
          "birdies": 18,
          "bogeys": 5,
          "doubleBogeysOrWorse": 0,
          "eaglesOrBetter": 0,
          "fairwaysHit": 32,
          "greensHit": 33,
          "pars": 31,
          "roundNumber": 4,
          "scoringAverage": 3.759,
          "threePutts": 1,
          "timesPlayed": 54
        }
      ],
      "total": {
        "averagePutts": 6.565,
        "birdies": 34,
        "bogeys": 66,
        "doubleBogeysOrWorse": 5,
        "eaglesOrBetter": 0,
        "fairwaysHit": 139,
        "greensHit": 136,
        "pars": 147,
        "scoringAverage": 16.574,
        "threePutts": 16,
        "timesPlayed": 252
      }
    }
```


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.sportradar.com/golf/feed-specifications/endpoints-stream/hole-statistics.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
