Types
Adapter Object
Config Object
The config object controls adapter behavior and widget-specific configurations.
WidgetConfig
'betRecommendation.eventList'
BrEventListConfig
Configuration for bet recommendation event list widget
Endpoints Object
The endpoints object contains all adapter endpoint implementations.
The market and eventMarkets endpoints are mutually exclusive – you only need to implement ONE of these two. Choose based on your API capabilities:
Implement
marketif your API can fetch a specific market for an event efficientlyImplement
eventMarketsif your API can fetch all markets for an event in a single callIf implementing
market, you can optionally addavailableMarketsForEventto list available markets first
Shared Endpoints Across Widgets: All widgets use the same adapter endpoints. When a specific widget needs to limit returned data, the request args will include a widget property containing the widget name (the same value used in SIR('addWidget', widgetName, ...)). Use this to conditionally filter or modify your response per widget if needed.
availableMarketsForEvent
AvailableMarketsForEventFunction
Retrieves all available markets selections for a specific event. Use with market endpoint to discover available markets.
market
MarketFunction
Implement either this OR eventMarkets – Retrieves a specific market data for a specific event.
eventMarkets
EventMarketsFunction
Implement either this OR market – Retrieves all markets data for a specific event in one call. Use if your API provides all markets on one endpoint.
event
EventFunction
Retrieves detailed event data including event start time, scores, team names, tournament name, and more.
filterMarkets
FilterMarketsFunction
Filters available markets based on widget requirements and provided selections, returning all or a subset.
betSlipSelection
BetSlipSelectionFunction
Subscribes to the current punter's bet slip selections (their betting cart)
cashBackSelections
CashBackSelectionsFunction
Retrieves selections eligible for cash back promotions.
tickets
TicketsFunction
Retrieves the punter's placed bets (tickets)
Adapter Endpoints
Market Function
Retrieves data for a specific market of a specific event.
The market and eventMarkets endpoints are mutually exclusive – you only need to implement ONE. If your API does not support fetching individual markets, consider using the eventMarkets endpoint instead.
Names such as market names, outcome names, and other text content should be provided in the language specified by args.language to ensure proper localization for users.
The oddsType parameter specifies the current format of odds set for the widget. If you provide odds in a different format, consider updating the odds type in the widget loader configuration. See the Widget Loader documentation for details on configuring odds formats.
args
MarketRequest
yes
Request parameters including market/outcome selection, language, and odds type
callback
Callback<MarketResponse>
yes
Function to receive market data or error
Returns: UnsubscribeFunction - Optional cleanup function to stop receiving updates
EventMarkets Function
Retrieves data for all markets of a specific event.
The eventMarkets and market endpoints are mutually exclusive – you only need to implement ONE. If your API does not support fetching all markets for requested event, consider using the market endpoint instead.
Names such as market names, outcome names, and other text content should be provided in the language specified by args.language to ensure proper localization for users.
The oddsType parameter specifies the current format of odds set for the widget. If you provide odds in a different format, consider updating the odds type in the widget loader configuration. See the Widget Loader documentation for details on configuring odds formats.
args
EventMarketsRequest
yes
Request parameters including event selection, language, and odds type
callback
Callback<EventMarketsResponse>
yes
Function to receive markets data or error
Returns: UnsubscribeFunction - Optional cleanup function to stop receiving updates
Event Function
Retrieves detailed event data including event start time, scores, team names, tournament name, and more.
Names such as team names, tournament names, and other text content should be provided in the language specified by args.language. Event times should be converted and displayed in the timezone specified by args.displayedTimezone to ensure proper localization for users.
args
EventRequest
yes
Request parameters including event selection and display preferences
callback
Callback<EventResponse>>
yes
Function to receive event data or error
Returns: UnsubscribeFunction - Optional cleanup function to stop receiving updates
AvailableMarketsForEvent Function
Retrieves all available market offering in Selection format for a requested event.
args
AvailableMarketsForEventRequest
yes
Request parameters including event selection
callback
Callback<AvailableMarketsForEventResponse>
yes
Function to receive available markets or error
Returns: UnsubscribeFunction - Optional cleanup function to stop receiving updates
FilterMarkets Function
This endpoint is called to perform additional filtering based on widget-specific requirements or other parameters. The widget property in the request arguments identifies which widget is requesting the filtering, allowing you to customize market filtering logic per widget. If no filtering is required, you can simply return the input selections unchanged. Example: For Swipe Bet you only want to use market 1x2 out of all available.
args
FilterMarketsRequest
yes
Request parameters including widget name and optional event selections
callback
Callback<FilterMarketsResponse>
yes
Function to receive filtered markets or error
Returns: UnsubscribeFunction - Optional cleanup function to stop receiving updates
BetSlipSelection Function
Subscribes to the current punter's bet slip selections (their betting cart). Widgets use this data to display selections as selected or, depending on the widget, may hide certain selections.
args
undefined
No arguments
callback
Callback<BetSlipSelectionResponse>
yes
Function to receive bet slip selections or error
Returns: UnsubscribeFunction - Optional cleanup function to stop receiving updates
CashBackSelections Function
Retrieves selections eligible for cash back promotions.
args
CashBackSelectionsRequest
yes
Request parameters including widget name and event selections
callback
Callback<CashBackSelectionsResponse>
yes
Function to receive cash back selections or error
Returns: UnsubscribeFunction - Optional cleanup function to stop receiving updates
Tickets Function
Retrieves the punter's placed bets (tickets).
args
TicketsRequest
yes
Request parameters including operator ID, customer ID, and optional filters
callback
Callback<TicketsResponse>
yes
Function to receive tickets or error
Returns: UnsubscribeFunction - Optional cleanup function to stop receiving updates
Utility Types
Callback<T>
Error-first callback function pattern used by all adapter endpoints.
error
Error | undefined
yes
Error object if the operation failed, or undefined if successful
data
T | undefined
Response data if successful, or undefined if an error occurred
Type Parameters:
T- The type of data returned on success
UnsubscribeFunction
Optional cleanup function returned by adapter endpoints to stop receiving updates.
Type: (() => void) | undefined
When an adapter endpoint returns an UnsubscribeFunction, you can call it to stop receiving further callback invocations. This is useful for:
Cleaning up subscriptions when a component unmounts
Stopping live data updates when they are no longer needed
Managing memory and preventing memory leaks
See Also: Callback<T>
Request Types
EventRequest
Request parameters for fetching event data.
selection
SelectionEvent
yes
Event identifier in UF or external format
language
string
Language code for localized content (e.g., "en", "de")
displayedTimezone
string
Timezone for displaying event times (e.g., "Europe:Berlin", "Europe/London")
EventMarketsRequest
Request parameters for fetching all markets data for a specific event.
selection
SelectionEvent
yes
Event identifier in UF or external format
language
string
Language code for localized content (e.g., "en", "de")
oddsType
string
Type of odds to display. Valid values: 'eu', 'uk', 'us', 'hong-kong', 'indonesian', 'malay'
MarketRequest
Request parameters for fetching a specific market data for an event.
selection
SelectionMarket | SelectionOutcome
yes
Market or outcome identifier to fetch
language
string
yes
Language code for localized content (e.g., "en", "de")
oddsType
string
yes
Type of odds to display. Valid values: 'eu', 'uk', 'us', 'hong-kong', 'indonesian', 'malay'
AvailableMarketsForEventRequest
Request parameters for fetching all available markets for a specific event.
selection
SelectionEvent
yes
Event identifier in UF or external format
FilterMarketsRequest
Request parameters for filtering markets based on widget configuration.
widget
string
yes
Widget identifier to determine which markets to filter (e.g., "swipeBet", "betRecommendation")
selection
SelectionMarket[]
Optional array of market identifiers to filter markets
TicketsRequest
Request parameters for fetching tickets.
operatorId
string
yes
Client/operator identifier
endCustomerId
string
yes
End user/customer identifier
events
SelectionEvent[]
Optional array of event identifiers to filter tickets by specific events
channelId
string
Optional channel identifier to filter tickets by virtual stadium chat channel
page
number
Optional page number for pagination
Response Types
EventResponse
Response data containing event information.
event
Event
yes
Complete event data including details, status, participants, and metadata
EventMarketsResponse
Response data containing all markets for an event.
markets
Market[]
yes
Array of market data for the event
event
string
yes
Event identifier string (e.g., "sr:match:12345")
MarketResponse
Response data containing a specific market and event information.
market
Market
yes
Market data including outcomes and odds
event
string
yes
Event identifier string (e.g., "sr:match:12345")
AvailableMarketsForEventResponse
Response data containing all available market offering as selections for an event.
selection
SelectionMarket[]
yes
Array of market selection identifiers available for the event
FilterMarketsResponse
Response data containing filtered market selections based on the widget identifier and input selections.
selection
SelectionMarket[]
yes
Array of event or market selections that match the filter criteria
BetSlipSelectionResponse
Response data containing currently selected outcomes in the bet slip.
selection
SelectionOutcome[]
yes
Array of outcome selections currently in the bet slip
CashBackSelectionsRequest
Request parameters for fetching cash back selections.
widget
string
yes
Widget identifier to determine the context of the cash back request
selection
SelectionEvent[]
yes
Array of event selections to check for cash back eligibility
CashBackSelectionsResponse
Response data containing events eligible for cash back.
events
SelectionEvent[]
yes
Array of event selections that are eligible for cash back promotions
TicketsResponse
Response data containing user tickets.
tickets
Ticket[]
yes
Array of ticket objects containing bet information, status, and outcomes
Adapter Data Types
SelectionEvent
Discriminated union type for identifying betting events. The type field discriminates between UF (Unified Feed) and external formats.
When type: 'uf'
Use this format when referencing events from the Sportradar Unified Feed (UOF).
type
'uf'
yes
Indicates Unified Feed format
event
string
yes
SR entity identifier following UOF schema (e.g., "sr:match:12345", "sr:stage:67890")
When type: 'external'
Use this format when referencing events using your own client-defined identifiers.
type
'external'
yes
Indicates external client-defined format
event
string
yes
Client-defined unique event identifier. Format is determined by your system (e.g., "736977", "event_12345")
See Also: SelectionMarket, SelectionOutcome
SelectionMarket
Discriminated union type for identifying betting markets within events. Extends SelectionEvent with market-specific properties. The type field discriminates between UF (Unified Feed) and external formats.
When type: 'uf'
Use this format when referencing markets from the Sportradar Unified Feed (UOF).
type
'uf'
yes
Indicates Unified Feed format
event
string
yes
SR entity identifier following UOF schema (e.g., "sr:match:12345")
market
string
yes
Betting market identifier as defined by UOF. Retrieved from the UOF feed (e.g., "1" for 1x2)
specifiers
string
Additional market data as defined by UOF. Although optional in schema, must be provided when the UOF market requires specifiers (e.g., for "Total 1.5" vs "Total 2.5", specifiers would be "total=1.5")
When type: 'external'
Use this format when referencing markets using your own client-defined identifiers.
type
'external'
yes
Indicates external client-defined format
event
string
yes
Client-defined unique event identifier
market
string
yes
Client-defined market identifier. If not available in your system, use the outcome identifier
See Also: SelectionEvent, SelectionOutcome
SelectionOutcome
Discriminated union type for identifying specific betting outcomes within markets. Extends SelectionMarket with outcome-specific properties. The type field discriminates between UF (Unified Feed) and external formats.
When type: 'uf'
Use this format when referencing outcomes from the Sportradar Unified Feed (UOF).
type
'uf'
yes
Indicates Unified Feed format
event
string
yes
SR entity identifier following UOF schema (e.g., "sr:match:12345")
market
string
yes
Betting market identifier as defined by UOF
specifiers
string
Additional market data as defined by UOF. Required when market uses specifiers
outcome
string
yes
Market outcome identifier as defined by UOF. Retrieved from the UOF feed (e.g., "1" for home win in 1x2 market)
odds
Odds
Odds information for this outcome
When type: 'external'
Use this format when referencing outcomes using your own client-defined identifiers.
type
'external'
yes
Indicates external client-defined format
event
string
yes
Client-defined unique event identifier
market
string
yes
Client-defined market identifier
outcome
string
yes
Client-defined unique market outcome identifier
odds
Odds
yes
Odds information for this outcome (required for external format)
See Also: SelectionEvent, SelectionMarket, Odds
Odds
Represents betting odds in various formats with optional custom display values.
type
string
yes
Odds format. Valid values: 'eu' (European/Decimal), 'uk' (UK/Fractional), 'us' (American)
value
string
yes
Odds value submitted by the client. Pattern: 1-8 digits (first cannot be 0), optionally followed by decimal point and 1-8 digits. Regex: ^[1-9]\d{0,7}(\.\d{1,8})?$
numerator
string
Numerator of fractional odds. Only present when type is 'uk' (fractional). Regex: ^[1-9]\d{0,7}$
denominator
string
Denominator of fractional odds. Only present when type is 'uk' (fractional). Regex: ^[1-9]\d{0,7}$
customDisplayValue
string
Custom display value for odds, used as-is for display purposes. Only provide if you want to handle custom formatting
Outcome
Represents a single betting outcome within a market.
id
string
yes
Unique identifier for the outcome, used to reference it in bets
name
string
yes
Translated name of the outcome, used for display purposes
competitor
string
Name or identifier of the team or player associated with this outcome. Useful for markets where each outcome is tied to a specific competitor (e.g., for 1x2 market, outcome: 1, competitor: "FC Barca")
odds
Odds
Odds information for this outcome
status
string
yes
Outcome status. Valid values: 'active', 'inactive'
See Also: Market, Odds
Market
Represents a betting market with multiple outcomes.
id
string
yes
Unique identifier for the market, used to reference it in bets
name
string
yes
Translated name of the market, used for display purposes
outcomes
Outcome[]
yes
All outcomes associated with this market
status
string
yes
Market status. Valid values: 'active', 'deactivated', 'suspended', 'settled', 'cancelled'
specifiers
string
Additional market data as defined by UOF (e.g., for markets with lines like Total 1.5 vs Total 2.5). Although optional in schema, must be provided when the UOF market requires specifiers
Market Status Values:
active: Odds are provided and you can accept bets on the market
deactivated: Odds are no longer provided for this market. Can go back to active (e.g., when a different total line becomes most balanced)
suspended: Odds continue to be provided but you should not accept bets temporarily (e.g., "bet stop" before/during goal confirmation)
settled: Bet settlement messages have been sent for this market, no further odds will be provided. In rare cases, settled markets may be moved to cancelled
cancelled: This market has been cancelled. No further odds will be provided
See Also: Outcome, Event
Event
Represents a sporting event with teams, tournament information, and match details.
id
string
yes
Event identifier as defined by UOF. Retrieved from the MAPI feed
sport
Sport
yes
Sport information (imported from adapter types)
category
Category
yes
Category information (e.g., country, region)
tournament
Tournament
yes
Tournament information
teams
[Team, Team]
yes
Array of exactly two teams (home and away)
isLive
boolean
yes
Indicates whether the event is currently live
date
EventDate
Date information for the event
date.displayValue
string
Formatted date string for display
date.startTime
string
Event start time (ISO format)
liveCurrentTime
string
Current match time for live events (e.g., "45:00", "HT")
result1
Result
Primary result/score information
result2
Result
Secondary result information (e.g., half-time score)
result3
Result
Tertiary result information (e.g., period scores)
See Also: Market, SelectionEvent
EventDate
Represents date and time information for an event.
displayValue
string
Formatted date string for display purposes
startTime
string
Event start time in ISO format (e.g., "2026-01-07T20:00:00Z")
See Also: Event
Ticket
Represents a betting ticket containing one or more bets.
ticketId
string
yes
Client defined string to identify the ticket (unique in the client's system),
minimal string length = 1,
maximum string length = 128
bets
Bet[]
yes
Array of bets included in this ticket
type
'ticket'
yes
Declaration of content type, should be "ticket"
version
1.0
yes
Ticket format version
See Also: Bet, TicketsResponse
Bet
Represents a single bet within a ticket, containing selections and stake information.
betId
string
yes
Unique bet id (in the client's system),
minimal string length = 1,
maximum length = 128
selections
Array<TicketSelection | SelectionOutcome>
yes
Array of bet selections, included in this bet. Can include custom bets (TicketSelection) or standard outcomes (SelectionOutcome)
minimal number of selections per bet = 1,
maximum number = 100
stake
Array<Stake>
yes
Array of bet stakes,
minimal number of stake per bet = 1,
maximum number = 5
odds
Odds
The odds for this bet
See Also: Ticket, SelectionOutcome, TicketSelection, Stake
Stake
Represents stake information for a bet.
type
string
yes
Stake type. Valid values: 'cash' (used for stake and payout), 'bonus' (amount added on top of winnings if bet is won)
currency
string
yes
Currency code (e.g., "USD", "EUR", "GBP")
amount
string
yes
Stake amount as a string to allow for decimal values
mode
string
Stake mode (default: 'total'). Valid values: 'unit' (stake relates to each sub-bet in system bets), 'total' (stake relates to all sub-bets, each receives a portion)
See Also: Bet
TicketSelection
Represents a custom bet selection within a ticket.
type
'custom-bet'
yes
Type identifier, always 'custom-bet'
betId
string
Optional unique identifier for this custom bet
selections
SelectionOutcome[]
yes
Array of outcome selections included in this custom bet
odds
Odds
yes
Odds information for this custom bet
See Also: Bet, SelectionOutcome
Sport
Represents information about a sport.
id
string
The unique SR identifier for the sport
name
string
The name of the sport
icon
string
URL where the sport icon is located
See Also: Event, Category
Category
Represents information about a category (e.g., country, region).
id
string
The unique identifier assigned to the category
name
string
The name of the category
cc
object
Country code information
cc.a2
string
yes
Country code in A2 format (if cc object is present)
See Also: Event, Sport
Tournament
Represents information about a tournament.
id
string
The unique identifier assigned to the tournament
externalId
string | number
Your unique identifier for the tournament
name
string
The name of the tournament
See Also: Event, Category
Team
Represents information about a team participating in an event.
id
string
The unique SR identifier assigned to the team
name
string
yes
The name of the team
See Also: Event
Result
Represents result/score information for an event.
result
Array<number | string>
yes
The result of the event (e.g., scores, statistics)
label
string
Optional label describing what this result represents
See Also: Event
Adapter Config
BrEventListConfig
Configuration for the bet recommendation event list widget. Note: The allowedMarkets and blockedMarkets properties are only applicable when using hosted Sportradar type with UOF (Unified Odds Feed) IDs.
layout
EventListMarketsConfig
yes
Market layout configuration per sport
allowedMarkets
SportMarketsMap
Markets allowed for this widget, keyed by sport ID
blockedMarkets
SportMarketsMap
Markets blocked for this widget, keyed by sport ID
See Also: EventListMarketsConfig, SportMarketsMap
SportMarketsMap
A map of sport IDs to their market configurations with specifier filtering. Only applicable when using hosted Sportradar type with UOF (Unified Odds Feed) IDs.
[sportId]
Record<string, Specifiers>
yes
Market configurations for a sport, where keys are market IDs and values are specifier filters
Specifiers Type:
true- Allow/block market with all specifiersstring[]- Allow/block market only with specific specifiers (e.g.,["2.5", "3.5"]for Total markets)
EventListMarketsConfig
Configuration for market layout display in event lists. This is a Record<string, SportLayoutConfig> where keys are sport IDs and values are layout configurations.
Type: Record<string, SportLayoutConfig>
SportLayoutConfig
sportId
string | number
yes
Sport identifier
markets
MarketLayoutConfig[]
yes
Array of market layout configurations
MarketLayoutConfig
title
string
Display title for the market column
preMatchMarketId
string | number
Market ID to use for pre-match events
liveMarketId
string | number
Market ID to use for live events
showSpecifier
boolean
Whether to display the market specifier (e.g., "2.5" for Total)
columns
Array<string | ColumnConfig>
Column definitions for outcome display
ColumnConfig
id
string
yes
Outcome ID to display in this column
title
string
Custom column title
tKey
string
Translation key for the column title
See Also: BrEventListConfig
Last updated
Was this helpful?