---
title: "LMT Premium"
canonical_url: "https://apidocs.sportradar.com/resources/widgets/docs/lmt/lmt-premium"
markdown_url: "https://apidocs.sportradar.com/resources/widgets/docs/lmt/lmt-premium.md"
last_updated: "2026-09-07T10:18:26Z"
---

# LMT Premium

**LMT Premium** extends [LMT](https://apidocs.sportradar.com/resources/widgets/docs/lmt/lmt.md) with additional features that require a **premium license**. Use the same `match.lmtPlus` widget and base configuration described on the LMT page; the properties on this page enable premium capabilities when your license includes them.

## Faster Data Streaming

Without an LMT Premium license, Live Match Tracker polls for match updates. When your license includes LMT Premium, **WebSocket-based data streaming is enabled by default** for lower latency and more efficient updates.

Use `enableDataStream` to turn off WebSocket streaming and fall back to polling—for example, if your integration cannot use WebSockets or you prefer polling behaviour.

**Sample configuration (disable WebSocket streaming):**

- enableDataStream: `false`

> **Info**
>
> The user's browser must support WebSocket connections.

**Benefits:**

- Faster live data delivery
- Reduced latency compared to polling
- Lower server load and more efficient bandwidth use

## Pitch View

The `pitchView` property selects the camera perspective for the pitch visualization.

| Value    | Description                             | Supported sports                         |
| -------- | --------------------------------------- | ---------------------------------------- |
| `"side"` | Horizontal field orientation (default)  | Soccer, basketball, tennis, table tennis |
| `"top"`  | Vertical court / bird's-eye orientation | All sports                               |
| `"rear"` | Behind-the-goal perspective             | Tennis, table tennis                     |

**Sample configuration:**

- pitchView: `"side" | "top" | "rear"`

![Premium LMT side pitch view](https://apidocs.sportradar.com/resources/widgets/static/img/lmt/lmt-premium/pitch_view_side_soccer.png)

Side view (available for: Soccer, Basketball, Tennis and Table Tennis)

![Premium LMT rear pitch view](https://apidocs.sportradar.com/resources/widgets/static/img/lmt/lmt-premium/pitch_view_rear_tennis.png)

Rear view (available for: Tennis and Table Tennis)

## Virtualised LMT (VLMT) {#virtualised-lmt}

Virtualised Live Match Tracker delivers an immersive 3D match experience with detailed player models and real-time action powered by skeletal tracking data. A Light version is also available in a side and top down views for competitions without skeletal tracking data.

![VLMT 3D soccer view](https://apidocs.sportradar.com/resources/widgets/static/img/lmt/lmt-premium/vlmt_3d_soccer.png)

VLMT 3D Soccer

![VLMT 3D basketball view](https://apidocs.sportradar.com/resources/widgets/static/img/lmt/lmt-premium/vlmt_3d_basketball.png)

VLMT 3D Basketball

![VLMT side view soccer](https://apidocs.sportradar.com/resources/widgets/static/img/lmt/lmt-premium/vlmt_side_soccer.png)

VLMT Side view Soccer

![VLMT side view basketball](https://apidocs.sportradar.com/resources/widgets/static/img/lmt/lmt-premium/vlmt_side_basketball.png)

VLMT Side view Basketball

![VLMT top-down view soccer](https://apidocs.sportradar.com/resources/widgets/static/img/lmt/lmt-premium/vlmt_top_soccer.png)

VLMT Top-down view Soccer

![VLMT top-down view basketball](https://apidocs.sportradar.com/resources/widgets/static/img/lmt/lmt-premium/vlmt_top_basketball.png)

VLMT Top-down view Basketball

**Sample Configuration:**

- vlmtForce2d: `true`

## API Reference

### Virtualised LMT

| Property                  | Type      | Default     | Description                                                                                                                                                           |
| ------------------------- | --------- | ----------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `enableVirtualised`       | `boolean` | `true`      | When `false`, disables Virtualised LMT content for NBA                                                                                                                |
| `enableVirtualisedLights` | `boolean` | `true`      | When `false`, disables Virtualised LMT Light content for NBA                                                                                                          |
| `enableVlmtCwc`           | `boolean` | `true`      | When `false`, disables Virtualised LMT Light content for FIFA Club World Cup                                                                                          |
| `enableVlmtUefa`          | `boolean` | `true`      | When `false`, disables Virtualised LMT content for selected UEFA Leagues                                                                                              |
| `enableVlmtUefaLight`     | `boolean` | `true`      | When `false`, disables Virtualised LMT Light content for selected UEFA Leagues                                                                                        |
| `enableVlmtDfl`           | `boolean` | `true`      | When `false`, disables Virtualised LMT content for selected DFL Leagues                                                                                               |
| `enableVlmtDflLight`      | `boolean` | `true`      | When `false`, disables Virtualised LMT Light content for selected DFL Leagues                                                                                         |
| `enableVlmtMlsLight`      | `boolean` | `true`      | When `false`, disables Virtualised LMT Light content for Major League Soccer                                                                                          |
| `vlmtForce2d`             | `boolean` | `false`     | When `true`, forces the Virtualised content to render in 2D (Light) version instead of full 3D version                                                                |
| `vlmtLightPitchView`      | `string`  | `undefined` | This value overrides the value of `pitchView` prop (described above). When not set, value from `pitchView` is used to set `top` or `side` view for VLMT Light         |
| `vlmtCameraType`          | `string`  | -           | Enables switching between camera views in Virtualised LMT. Valid values are `"topdown"`, `"broadcast"`, `"sideline"`, `"action"`. Only applicable with 3D version     |
| `vlmtEnableAccessories`   | `boolean` | -           | Enables the option to show or hide accessories added to the Virtualised LMT for special occasions (e.g., Christmas, Valentine's Day). Only applicable with 3D version |
| `vlmtEnableMilestones`    | `boolean` | -           | Enables the option to show or hide milestones feature. Only aplicable with 3D version                                                                                 |

### Pitch View

| Property    | Type     | Default  | Description                                                                                                                                                           |
| ----------- | -------- | -------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `pitchView` | `string` | `"side"` | Pitch visualization perspective. <ul><li>`"side"`: Horizontal field view</li><li>`"top"`: Vertical court view</li><li>`"rear"`: Behind-the-goal perspective</li></ul> |

### Faster Data Streaming

| Property           | Type      | Default                           | Description                                                                                            |
| ------------------ | --------- | --------------------------------- | ------------------------------------------------------------------------------------------------------ |
| `enableDataStream` | `boolean` | `true` (with LMT Premium license) | When `true`, uses WebSocket connections for faster match updates. When `false`, falls back to polling. |

## 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`

**Virtualised LMT**

### 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', {
    matchId: 123,
    enableVirtualised: true,
    vlmtForce2d: false
});
```

```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-match-id="123"
        data-sr-enable-virtualised="true"
        data-sr-vlmt-force-2d="false"
        >
</div>
<script type="application/javascript"
        src="https://widgets.sir.sportradar.com/sportradar/widgetloader"
        async>
</script>
```

**Pitch View**

### 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', {
    matchId: 123,
    pitchView: 'top'
});
```

```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-match-id="123"
        data-sr-pitch-view="top"
        >
</div>
<script type="application/javascript"
        src="https://widgets.sir.sportradar.com/sportradar/widgetloader"
        async>
</script>
```

**Data Streaming**

When LMT Premium is licensed, WebSocket data streaming is on by default. Set `enableDataStream` to `false` only if you need to disable it.

### 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', {
    matchId: 123,
    enableDataStream: false
});
```

```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-match-id="123"
        data-sr-enable-data-stream="false"
        >
</div>
<script type="application/javascript"
        src="https://widgets.sir.sportradar.com/sportradar/widgetloader"
        async>
</script>
```
