Welcome to the Sportradar Betting Entertainment Tools (BET) documentation. This guide will help you quickly integrate our widgets into your website.
The fastest way to get started is using our interactive demo page, which lets you preview and customize widgets before integration.
Explore all available widgets, customize their appearance, and generate integration code instantly.
5-minute introduction video showing how to set up BET products on your website.
Before integrating widgets, you'll need a Client ID to authenticate your application.
Don't have a Client ID? See how to obtain one in our FAQ.
Choose between two integration approaches based on your needs:
Best for: Dynamic applications, SPAs, and when you need programmatic control.
Advantages:
SIR function immediately, even before the loader finishesThis is the recommended method for most applications. It provides immediate access to the SIR function and full control over widget behavior.
Add this script inside your <body> tag. Commands execute immediately and are queued until the framework loads.
<script type="text/javascript">
(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/YOUR_CLIENT_ID/widgetloader","SIR", {
language: 'en' // Optional: Set initial language (default: 'en')
});
</script>Replace YOUR_CLIENT_ID in the URL with your actual Client ID.
See available languages for supported language codes.
Create an HTML element where the widget will be rendered:
<div id="my-widget">
<!-- This content will be replaced by the widget -->
</div>The SIR function replaces all content inside the target element. Don't place important content here.
Call the SIR function with the addWidget method:
<script>
SIR('addWidget', '#my-widget', 'match.lmtPlus', {
matchId: 'sr:match:24740256'
});
</script>Parameters:
'addWidget' - Method name'#my-widget' - CSS selector for the container element'match.lmtPlus' - Widget name (see all widget names)For integrations within ShadowDOM, see our ShadowDOM integration guide.
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>My Sports Widget</title>
</head>
<body>
<!-- Widget container -->
<div id="lmt-widget"></div>
<!-- Initialize framework -->
<script type="text/javascript">
(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/YOUR_CLIENT_ID/widgetloader","SIR", {
language: 'en'
});
</script>
<!-- Add widget -->
<script>
SIR('addWidget', '#lmt-widget', 'match.lmtPlus', {
matchId: 'sr:match:24740256'
});
</script>
</body>
</html>ShadowDOM integration is a special case, if you encounter the need form ShadowDOM, have a look at ShadowDOM Integration document.
Every widget supports global configuration options and methods through the SIR API.
All widgets support the onTrack callback function for monitoring user interactions and widget events:
SIR('addWidget', '#my-widget', 'match.lmtPlus', {
matchId: 'sr:match:24740256',
onTrack: function(eventName, eventData) {
console.log('Widget event:', eventName, eventData);
// Send to your analytics platform
}
});Learn more in the onTrack documentation.
How do I find the widget name?
Widget names follow a pattern like match.lmtPlus, match.preview, or team.standings. You can:
How do I find the match ID or team ID?
Entity IDs follow Sportradar's Universal Resource Notation (URN) format:
sr:match:24740256sr:competitor:12345See the FAQ on finding IDs for detailed instructions.
Real-world examples showing different integration patterns and use cases.
Apply custom CSS to match your brand and website design.
Understand license requirements and resolve licensing errors.
Solutions to frequently encountered widget errors and issues.
Quick answers to common questions about widget integration.
Complete reference for all available methods and configuration options.