# Latency Indicator - Beta

### How it works?

\
We are pleased to introduce a new latency indicator feature that brings greater transparency into how quickly event updates are expected to arrive across our live products. \
\
Latency is assigned automatically using historical reference data for the expected coverage & source. Operational teams may override the classification when special conditions apply.

Before the match the latency category is visible in Live Booking Calendar and in the matchlist messages\
Latency is dynamically updated during play when the underlying delay crosses a defined threshold

### Latency Scale

| Category | Category        | Meaning           |
| -------- | --------------- | ----------------- |
| 0        | Unknown/Not Set | Not yet available |
| 1        | Low             | \~0–<4 seconds    |
| 2        | Moderate        | \~4–<8 seconds    |
| 3        | High            | \~8–<12 seconds   |
| 4        | Very High       | \~12–<16seconds   |
| 5        | Exceptional     | 16+ seconds       |

Latency appears consistently across all delivery channels:

* Live Data (LD)  – exposed directly in the feed
* Unified Odds Feed (UOF) – exposed in the \<extra\_info> section
* Live Booking Calendar (LBC) – displayed in UI

### Live Booking Calendar

Each match will now display an expected latency classification, providing insight into the anticipated live event delivery speed based on previous matches and historical performance. &#x20;

During live coverage, the latency information will automatically update to reflect the precise, real-time latency. &#x20;

You can filter and visualize these latency levels directly within the LBC interface.  <br>

<figure><img src="/files/UEWhaGyZ71Wmt8hgAenQ" alt=""><figcaption></figcaption></figure>

Filter by Latency: Use the filter options in LBC to display matches based on their expected latency category. 

<img src="/files/Abfttzc2Q21GGaPd3Jo3" alt="" data-size="original">\
View in Event Details: The latency classification is also visible within each match’s detailed view, where it will update during the live match.

<figure><img src="/files/qFoBF2lDslX6m4zXfxIm" alt=""><figcaption></figcaption></figure>

### Live Data Latency indicator

In the matchlist message and full feed there are two new XML  attributes for match element:

* expectedlatencylevel
* expectedlatencylevelid

MATCHLIST/MATCHLIST UPDATE

{% code overflow="wrap" %}

```
<match t2name="JUVENTUS TURIN" t2id="9245" t1name="AC MILAN" t1id="9246"t1abbr="ACM" t2abbr="JUV" start="1759743240000" matchid="124441659" extrainfo="0"distance="123" dc="1" device="3" coveredfrom="tv"expectedlatencylevel="Moderate"expectedlatencylevelid="2"booked="1" st1id="2692" st2id="2687" active="1"coveragestatusid="0" isrts="false"><tournament name="Serie A" id="33"/><category name="Italy" id="31"/><sport name="Soccer" id="1"/><status start="0" 
name="NOT_STARTED" id="0"/><score type="current" t1="0" t2="0"/></match>
```

{% endcode %}

LIVEDATA FULL FEED

{% code overflow="wrap" %}

```
match t1namenatural="AC Milan" t2namenatural="Juventus Turin" t2name="JUVENTUS
TURIN" t2id="9245" t1name="AC MILAN" t1id="9246" t1abbr="ACM" t2abbr="JUV"
start="1759743240000" matchid="124441659" feedtype="full" extrainfo="0"
betstatus="BETSTOP" connectionstatus="0" dc="1" device="3" coveredfrom="tv"
expectedlatencylevel="Moderate" expectedlatencylevelid="2" var="1" st1id="2692"
st2id="2687" matchtime="00:00" sportid="1" isrts="false">
```

{% endcode %}

\
\
UOF FIXTURE EXAMPLE

{% code overflow="wrap" %}

```
<extra_info>
<info key="RTS" value="available"/>
<info key="coverage_source" value="TV"/>
<info key="latency_category" value="moderate"/>
<info key="extended_live_markets_offered" value="false"/>
</extra_info>
```

{% endcode %}

<br>

### Live Changes to Latency Category

Match Latency Category Confirmed (Latency Change) event is designed to inform in the delta feed about category change. The following full feed message (for example after resubscription) will include the new value.

| ID   | Name                          | Description                                                                                        | Coverage      | Extrainfo                                                                                                                                                                                                                                                                | Info Attribute                                                                                         |
| ---- | ----------------------------- | -------------------------------------------------------------------------------------------------- | ------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------ |
| 2399 | Match Latency Level Confirmed | Used when the match latency level/ category has been changed or confirmed live (during the match). | All coverages | <p>0 = Unknown latency</p><p>1 = Low latency  (no. 1) = 0 - <4 sec.</p><p>2 = Moderate latency  (no. 2) = 4 - <8 sec</p><p>3 = High latency  (no. 3) = 8-<12 sec</p><p>4 =Very high latency  (no. 4) = 12 - <16 sec.</p><p>5 =Exceptional Latency (no. 5) = 16+ sec.</p> | <p>According to this template when Extrainfo =2 then:<br>"Match Latency Level Confirmed: Moderate"</p> |

* Note: uuid of this event is unique\
  id of this event = 1073741824 (legacy id) is out-of-sequence and not unique similarly to a special Betstop described in  FAQ  [Events Information article](/live-data/introduction/system-communication/xml-messages-sent-from-the-betradar-system/events.md)

### LD Configs

The attributes and event can be enabled in LD Configs. This interface can be found online at: [`portal.betradar.com`](https://portal.betradar.com/) `> Configuration > Live > Live Data > Configuration`. \
\
Include 'expectedlatencylevel' attribute for 'match' element (ID 218)\
Include 'expectedlatencylevelid' attribute for 'match' element (ID 222)\
Include latency change event (ID 242)

### Real-World Example

A match historically delivered at \~5 seconds is tagged "Moderate" before the match. If the live\
broadcast slows to \~11 seconds, the category updates to "High". If it stabilises again, it returns\
to "Moderate".

### Limitations and things to know

The latency classification reflects our best available knowledge from reference measurement.\
While we make every effort to provide accurate and current estimates, real-world latency may\
vary in live conditions.\
Latency is only available where reference coverage exists - and therefore not all matches will\
display a latency category at launch. Coverage will increase in the coming months.

### Getting started checklist

• (Optional) Update SDK version\
• Enable configs\
• Parse and store latency category\
• Display category inside internal tools or models\
• Subscribe to delta/matchlist updates\
• (Optional) trigger alerts for high-latency events

### FAQs

**Q: Is this per sport or per channel?**

A: Pre-match latency reflects the expected broadcast/stream source for the match. Live latency reflects actual observed conditions during the match.

**Q: Can we set or override the value ourselves?**

A: No. Classifications are managed centrally to ensure consistency across clients. If you believe an event is misclassified, please contact support.

**Q: Will this slow down other updates?**

A: No. The latency indicator is lightweight metadata and does not impact event delivery speed.

**Q: Why is the latency "Not Set" for some matches?**

A: You may encounter “Not set” for some matches post-Launch. This is due to there not being enough information available for us to determine the correct latency coverage. Coverage will expand in the coming months.

**Q: Do you expose exact seconds?**

A: No. We expose a category scale. These categories map to approximate ranges but are not intended as guarantees of precise timing.

**Q:Can an event be delivered later than the expected latency?**

A: Unfortunately yes, technical issues/disconnections can still happen in rare cases.


---

# Agent Instructions: 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/live-data/latency-indicator-beta.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.
