---
title: "LMT Golf & Combat"
canonical_url: "https://apidocs.sportradar.com/resources/widgets/docs/lmt/lmt-golf-combat"
markdown_url: "https://apidocs.sportradar.com/resources/widgets/docs/lmt/lmt-golf-combat.md"
last_updated: "2026-09-21T13:19:00Z"
---

# LMT Golf & Combat

**Golf** and **Combat (MMA)** are supported on **Live Match Tracker** (`match.lmtPlus`) through dedicated layouts. These variants use **`entityId`** instead of `matchId` and only support a **subset** of standard LMT properties.

For standard match-based integration, see [LMT](https://apidocs.sportradar.com/resources/widgets/docs/lmt/lmt.md).

|               | Golf                                                                                                                 | Combat (MMA)                                                                                                                                             |
| ------------- | -------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Entity ID** | `sr:stage:<id>`                                                                                                      | `sr:tournament:<id>`                                                                                                                                     |
| **Demo**      | [Open demo](https://widgets.sir.sportradar.com/live-match-tracker#matches:\(entityId:'sr:stage:1315081',sportId:9\)) | [Open demo](https://widgets.sir.sportradar.com/live-match-tracker#matches:\(entityId:'sr:tournament:188770',sportId:117\),settings:\(tabsPosition:top\)) |
| **Streaming** | Premium LMT feature                                                                                                  | UFC events only                                                                                                                                          |

![LMT Golf](https://apidocs.sportradar.com/resources/widgets/static/img/lmt/lmt-golf/default_view_carousel.png)

Default widget display

![LMT Golf Hole View](https://apidocs.sportradar.com/resources/widgets/static/img/lmt/lmt-golf/course_hole_view_carousel.png)

Golf Course Hole Overview

![LMT MMA](https://apidocs.sportradar.com/resources/widgets/static/img/lmt/lmt-mma/fight_card_view_carousel.png)

Default widget display

![LMT MMA Fight Detail View](https://apidocs.sportradar.com/resources/widgets/static/img/lmt/lmt-mma/fight_detail_view_carousel.png)

MMA Fight Detail View

## API Reference

### Required Parameters

- **widget-name**: `match.lmtPlus`
- **entityId**: Required. Full entity string — `sr:stage:<id>` or `golf:stage:<id>` for golf, `sr:tournament:<id>` or `mma:event:<id>` for combat (MMA). Use `golf:stage` / `mma:event` prefixes for IMGA IDs.

> **Note**
>
> **Combat (MMA) Sportradar IDs:** The same API-to-widget ID mapping described in [Finding Identifiers](https://apidocs.sportradar.com/resources/widgets/docs/tutorials/getting-identifiers.md) and [New Nomenclature](https://apidocs.sportradar.com/resources/widgets/docs/tutorials/new-nomenclature.md) applies: use `simpleTournamentId` from your data source (for example `sr:simple_tournament:188770`) and pass it as `sr:tournament:<id>` in `entityId` (for example `entityId: 'sr:tournament:188770'`).

**Environment Requirements**

## Technical Requirements:

- JavaScript enabled
- XMLHttpRequest support for data fetching
- CSS3 support for styling and animations

### Properties

Properties below apply to one or both variants as noted.

| Property                    | Golf | Combat | Type                | Default      | Description                                                                                                                                                                                                                                                                           |
| --------------------------- | :--: | :----: | ------------------- | ------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `entityId`                  |   ✓  |    ✓   | `string`            | **Required** | Event identifier. Golf: `sr:stage:<id>` or `golf:stage:<id>`. Combat: `sr:tournament:<id>` or `mma:event:<id>`                                                                                                                                                                        |
| `scoreboard`                |   ✓  |    ✓   | `string`            | `"compact"`  | `"compact"` or `"disable"`                                                                                                                                                                                                                                                            |
| `tabsPosition`              |   ✓  |    ✓   | `string`            | `"bottom"`   | `"top"`, `"bottom"`, or `"disable"`                                                                                                                                                                                                                                                   |
| `tabs`                      |   ✓  |    ✓   | `object`            | —            | Per-sport tab order; see [LMT Tabs identifiers](https://apidocs.sportradar.com/resources/widgets/docs/tutorials/widget-specific/example-lmt-tabs-reorder.md)                                                                                                                          |
| `branding`                  |   ✓  |    ✓   | `object`            | —            | Tab appearance and customization via `branding.tabs`. See [Tabs Branding](https://apidocs.sportradar.com/resources/widgets/docs/lmt/lmt.md#tabs-branding) on LMT and [Customizing Widgets](https://apidocs.sportradar.com/resources/widgets/docs/tutorials/widgets-customization.md). |
| `momentum`                  |   —  |    ✓   | `string`            | `"compact"`  | `"compact"` or `"disable"` (combat only)                                                                                                                                                                                                                                              |
| `pitchCustomBgColor`        |   ✓  |    —   | `string`            | —            | Custom course background color (hex/rgb), e.g. `"#1a5f3e"`                                                                                                                                                                                                                            |
| `jwt`                       |   ✓  |    ✓   | `string`            | —            | JWT authentication token for video streaming. Needs to have `"av"` within token scope. See [JWT Authentication](https://apidocs.sportradar.com/resources/widgets/docs/tutorials/jwt.md)                                                                                               |
| `streamToggle`              |   ✓  |    ✓   | `string`            | —            | Video stream toggle mode. <ul><li>`"streamSwitchTabs"`: Add stream as tab option</li><li>`"onPitchButton"`: Show toggle button on pitch</li></ul>                                                                                                                                     |
| `activeStreamToggle`        |   ✓  |    ✓   | `string`            | `"tracker"`  | Initial view when stream toggle is enabled. <ul><li>`"stream"`: Show video stream initially</li><li>`"tracker"`: Show tracker initially</li></ul>                                                                                                                                     |
| `streamContentVariant`      |   ✓  |    ✓   | `string`            | `"standard"` | Video stream variant. <ul><li>`"standard"`: Traditional video stream</li><li>`"augmented"`: Enhanced with graphical overlays</li></ul>                                                                                                                                                |
| `disableAugmentedStream`    |   ✓  |    ✓   | `boolean`           | `false`      | When `true`, disables augmented stream option even if available                                                                                                                                                                                                                       |
| `streamNotAvailableMessage` |   ✓  |    ✓   | `string \| boolean` | —            | Custom message to display when stream is unavailable. If `true`, shows default message. **Video stream will not be loaded when this value is not empty.**                                                                                                                             |
| `streamNotAvailableBgImage` |   ✓  |    ✓   | `string`            | —            | Background image URL to display when stream is unavailable. **Video stream will not be loaded when this value is not empty.**                                                                                                                                                         |
| `streamAllowFullscreen`     |   ✓  |    ✓   | `boolean`           | `false`      | When `true`, enables fullscreen button on video player.  **Note: this is only applicable if current device is a mobile device.**                                                                                                                                                      |
| `streamMuteVideo`           |   ✓  |    ✓   | `boolean`           | `false`      | When `true`, starts video stream with audio muted                                                                                                                                                                                                                                     |
| `eventCentreConfig`         |   ✓  |    —   | `object`            | —            | Additional golf options. Set `units` to `"metric"` or `"imperial"` for distance and related units (for example `{ "units":"imperial" }`).                                                                                                                                             |

## Theming

Theming is **more limited** than on standard LMT. Tab branding uses the same `branding` object as regular LMT — see [Tabs Branding](https://apidocs.sportradar.com/resources/widgets/docs/lmt/lmt.md#tabs-branding) for display options (`iconText`, `icon`, `text`) and [Customizing Widgets](https://apidocs.sportradar.com/resources/widgets/docs/tutorials/widgets-customization.md) for the full schema. The main widget area only respects the CSS below. Existing global LMT theming (`font`, `background-color`) applies automatically — light/dark mode follows `background-color`.

> **Info**
>
> New to widget styling? Start with [Styling Widgets](https://apidocs.sportradar.com/resources/widgets/docs/tutorials/theming-widgets.md), then add sport-specific overrides. Only `font-family`, `background-color`, and `color` should be changed in these snippets.

**Golf**

```css
/* MAIN BACKGROUND COLOR */
.sr-bb {
    background-color: #fff;
}

/* DEFAULT TEXT COLOR */
.sr-bb .srt-base-1 {
    color: #333;
}

/* PRIMARY TEXT COLOR */
.sr-bb .srt-base-1-primary {
    color: red;
}

/* SURFACE BACKGROUND COLOR (golf only) */
.sr-bb .srt-golf-surface {
    background-color: gray;
}
```

> **Note**
>
> Other `srt-*` classes have no effect on the golf widget main area.

**Combat (MMA)**

```css
/* MAIN BACKGROUND COLOR */
.sr-bb {
    background-color: #fff;
}

/* DEFAULT TEXT COLOR */
.sr-bb .srt-base-1 {
    color: #333;
}

/* PRIMARY TEXT COLOR */
.sr-bb .srt-base-1-primary {
    color: red;
}
```

> **Note**
>
> Other `srt-*` classes have no effect on the MMA widget main area.

## Streaming {#streaming}

When streaming is enabled, the streaming option is shown if the currently displayed hole (Golf) or currently selected fight (Combat) has streaming available. For Golf, when streams are available, the hole selection UI is also shown on the **Live** tab and at the top level of the **Courses** tab.

To enable streaming:

1. Pass a `jwt` prop with `"av"` scope. See [JWT Authentication](https://apidocs.sportradar.com/resources/widgets/docs/tutorials/jwt.md).
2. Pass a `streamToggle` prop, e.g. `onPitchButton`.
3. Ensure stream availability is not suppressed by `streamNotAvailableMessage` or `streamNotAvailableBgImage`.

> **Info**
>
> **Golf:** streaming requires the Premium LMT license. When streams are available for the current hole, a stream control is shown and the hole selection UI appears on the **Live** tab and at the top level of the **Courses** tab.
>
> **Combat (MMA):** streaming is available for **UFC** events only. When streams are available for the selected fight, a stream control is shown on the fight detail view.

**Golf**

```js
SIR('addWidget', '#sr-widget', 'match.lmtPlus', {
    entityId: 'sr:stage:12345',
    jwt: 'your-jwt-token',
    streamToggle: 'onPitchButton',
    streamMuteVideo: true
});
```

**Combat**

```js
SIR('addWidget', '#sr-widget', 'match.lmtPlus', {
    entityId: 'sr:tournament:12345',
    jwt: 'your-jwt-token',
    streamToggle: 'onPitchButton',
    streamMuteVideo: true
});
```

## Integration Examples

### Property Name Transformations

Properties do not always transfer from the above table directly into integration code. Properties must be transformed differently for each integration method:

#### JavaScript/Programmatic Integration

- Property names remain unchanged in camelCase
- Properties become members of the 4th parameter object in `SIR()` call
- Example: `cardVariant: "compact"`

> **Info**
>
> In javascript integration, the properties go into an object which is passed as the 4th argument of the call ti `SIR()` function. Please see  [Global SIR API](https://apidocs.sportradar.com/resources/widgets/docs/tutorials/SIR.md)

#### HTML/Declarative Integration

- Convert camelCase to lowercase with dashes, e.g. cardVariant becomes card-variant
- Add `data-sr-` prefix
- Example: `cardVariant` → `data-sr-card-variant`
- Example: `filters.sport.hidden` → Complex objects must be passed as JSON strings

> **Info**
>
> In HTML integration, the properties go into the parent HTML object as object properties, prefixed with `data-sr-` as explained above.

> **Only base property support**
>
> This method supports only simple (base) properties and does not support properties that require functions.

> **Info**
>
> In all examples replace `sportradar` in the widgetloader URL path with your clientId.
>
> Example if your clientId is `client1`:
>
> - This URL: `https://widgets.sir.sportradar.com/sportradar/widgetloader`
> - becomes: `https://widgets.sir.sportradar.com/client1/widgetloader`

**Golf**

### JavaScript (Programmatic)

Initialize the widget programmatically using the JavaScript API. The widget renders in the specified container element.

```js
(function(a,b,c,d,e,f,g,h,i){a[e]||(i=a[e]=function(){(a[e].q=a[e].q||[]).push(arguments)},i.l=1*new Date,i.o=f,
g=b.createElement(c),h=b.getElementsByTagName(c)[0],g.async=1,g.src=d,g.setAttribute("n",e),h.parentNode.insertBefore(g,h)
)})(window,document,"script","https://widgets.sir.sportradar.com/sportradar/widgetloader","SIR", {
    language: 'en'
});

SIR('addWidget', '#sr-widget', 'match.lmtPlus', {
    entityId: 'sr:stage:123'
});
```

```html
<div id="sr-widget"></div>
```

### HTML (Declarative)

Insert the following HTML code at the target widget location. Complex object properties must be passed as JSON-encoded strings.

```html
<div id="sr-widget"
        data-sr-widget="match.lmtPlus"
        data-sr-entity-id="sr:stage:123">
</div>
<script type="application/javascript"
        src="https://widgets.sir.sportradar.com/sportradar/widgetloader"
        async>
</script>
```

**Combat (MMA)**

### JavaScript (Programmatic)

Initialize the widget programmatically using the JavaScript API. The widget renders in the specified container element.

```js
(function(a,b,c,d,e,f,g,h,i){a[e]||(i=a[e]=function(){(a[e].q=a[e].q||[]).push(arguments)},i.l=1*new Date,i.o=f,
g=b.createElement(c),h=b.getElementsByTagName(c)[0],g.async=1,g.src=d,g.setAttribute("n",e),h.parentNode.insertBefore(g,h)
)})(window,document,"script","https://widgets.sir.sportradar.com/sportradar/widgetloader","SIR", {
    language: 'en'
});

SIR('addWidget', '#sr-widget', 'match.lmtPlus', {
    entityId: 'sr:tournament:123'
});
```

```html
<div id="sr-widget"></div>
```

### HTML (Declarative)

Insert the following HTML code at the target widget location. Complex object properties must be passed as JSON-encoded strings.

```html
<div id="sr-widget"
        data-sr-widget="match.lmtPlus"
        data-sr-entity-id="sr:tournament:123">
</div>
<script type="application/javascript"
        src="https://widgets.sir.sportradar.com/sportradar/widgetloader"
        async>
</script>
```
