Overview
The Basketball Live Win Probability feed provides match-win probability data for a basketball fixture. It identifies which of the two teams has the best chance to win before the match starts and updates the prediction in near real time once the match is live.
The feed combines traditional match metadata, competition details, tournament calendar data, contestant information, venue data, match status, live score context, and predictive outputs such as pre-match win predictions, score predictions, live win predictions, and live score predictions.
Problem Statement & Use Cases
This API solves the business problem of quantifying team win likelihood before and during a basketball match using a structured, machine-readable feed. It allows applications to combine fixture metadata, game-clock state, period context, score state, and probability outputs into a single live analytics experience.
| Use Case |
Description |
| Live win probability dashboards |
Display current win probability for each team during an in-progress basketball game. |
| Pre-match prediction experiences |
Power fixture preview pages with pre-match win and score prediction data. |
| In-game fan engagement widgets |
Show how probability changes as the match progresses by period, score, and clock context. |
| Predictive analytics pipelines |
Use pre-match and live prediction values as features for downstream modeling, editorial automation, or alerting systems. |
Compliance & Guidelines
Authentication and API Security
To comply with Stats Perform API security and best-practice requirements, refer to the Stats Perform FAQs, API Overview, and Authentication Guide.
Authentication uses the OAuth method to fetch data.
Polling Frequency
Do not exceed the rate confirmed by Stats Perform. Contact a Stats Perform representative for higher rate limits or clarification.
| Update Context |
Polling Frequency |
| Pre-match and live during the game |
Once every 24 hours |
Request Formatting Rules
All URLs are case-sensitive. URL strings must contain the correct case, operators, and required parameters, or the API returns an error.
| Rule |
Requirement |
| Query string start |
Begin the query parameter string with ? immediately after the feed name. |
| Parameter separator |
Separate query parameters with &. |
| Multiple values: AND |
Use & for multiple values where the API treats them as AND. |
| Multiple values: OR |
Use , only if the parameter supports OR-style multiple values. |
| NOT operator |
Use ! only if the parameter supports negation. |
| Underscore-prefixed parameters |
Include the required _ prefix for parameters such as _fmt and _clbk. |
| Placeholder braces |
Remove placeholder curly braces {} from production API calls. They are documentation examples only. |
| Case sensitivity |
Preserve exact URL, parameter, and operator case. |
| Base URL reference |
The base URL format is {protocol}://{requestDomain}/{feedResource}. |
JSONP Requirements
If _fmt=jsonp is used, it must be combined with the callback parameter _clbk.
| Constraint |
Requirement |
Reason |
| JSONP callback |
Use _fmt=jsonp together with _clbk. |
JSONP requires a callback wrapper function. |
| Fixed callback value |
Use a fixed _clbk value whenever possible. |
Random callback names can reduce cacheability and violate API best-practice logic. |
| JavaScript frameworks |
Override framework-generated random callback names, including defaults from common frameworks such as jQuery. |
Some frameworks generate random JSONP function names unless explicitly configured. |
Endpoints
Base URL
https://api.statsperform.com
Feed Resource
/sdapi/v1/basketballdata/matchlivewinprobability
Get Live Win Probability by Query Parameters
GET /sdapi/v1/basketballdata/matchlivewinprobability/?{queryParameters}
Get Live Win Probability by Fixture Path Parameter
GET /sdapi/v1/basketballdata/matchlivewinprobability/{fixtureUuid}?{queryParameters}
Get Live Win Probability by fx Query Parameter
GET /sdapi/v1/basketballdata/matchlivewinprobability?fx={fixtureUuid}&{queryParameters}
Get Live Win Probability by Stats Fixture ID
GET /sdapi/v1/basketballdata/matchlivewinprobability?fx=urn:perform:stats:fixture:{fixtureStatsId}&{queryParameters}
Endpoint Usage
| Usage |
Feed |
| Get live win probability data according to specified parameter values. |
/sdapi/v1/basketballdata/matchlivewinprobability/?{queryParameters} |
| Get live win probability data for a specific fixture by fixture UUID path parameter. |
/sdapi/v1/basketballdata/matchlivewinprobability/{fixtureUuid}?{queryParameters} |
Get live win probability data for a fixture by UUID using the fx query parameter. |
/sdapi/v1/basketballdata/matchlivewinprobability?fx={fixtureUuid}&{queryParameters} |
| Get Live Win Probability list by legacy Stats fixture ID. |
/sdapi/v1/basketballdata/matchlivewinprobability?fx=urn:perform:stats:fixture:{fixtureStatsId}&{queryParameters} |
Query Parameters
This feed uses Global query parameters and the feed-specific query parameters listed below.
Feed-Specific Query Parameters
| Query Parameter |
Description |
Example Request |
fx |
Get the live win probability list for the specified fixture. Pass the fixture or match UUID to the fx parameter. |
GET https://api.statsperform.com/sdapi/v1/basketballdata/matchlivewinprobability?fx={fixtureUuid}&_fmt={dataFormat} |
fixtureUuid |
Get the live win probability list for a match by passing the fixture UUID as a URL path parameter. |
GET https://api.statsperform.com/sdapi/v1/basketballdata/matchlivewinprobability/{fixtureUuid}?_fmt={dataFormat} |
statsId |
Get the live win probability list by legacy Stats fixture ID. |
GET https://api.statsperform.com/sdapi/v1/basketballdata/matchlivewinprobability?fx=urn:perform:stats:fixture:{fixtureStatsId}&_fmt={dataFormat} |
Parameter Definitions
| Parameter |
Location |
Description |
Accepted Values / Format |
Required |
fixtureUuid |
Path |
Fixture or match UUID passed directly in the URL path. |
String; alphanumeric UUID |
Conditional |
fx |
Query |
Fixture or match identifier passed as a query parameter. |
Fixture UUID or legacy Stats fixture URN |
Conditional |
statsId |
Query through fx |
Legacy Stats fixture ID passed using the urn:perform:stats:fixture: namespace. |
urn:perform:stats:fixture:{fixtureStatsId} |
Conditional |
_fmt |
Query |
Response data format. |
{dataFormat}; examples include xml |
No |
_clbk |
Query |
JSONP callback function name. |
Fixed callback function name. |
Required when _fmt=jsonp |
Fixture Identifier Requirements
| Requirement |
Description |
| Fixture-specific access |
Requests should identify a basketball fixture or match using a path parameter, the fx query parameter, or a Stats fixture URN. |
| Path parameter method |
Use /matchlivewinprobability/{fixtureUuid} when passing the fixture identifier in the URL path. |
| Query parameter method |
Use /matchlivewinprobability?fx={fixtureUuid} when passing the fixture identifier as a query parameter. |
| Legacy Stats ID method |
Use fx=urn:perform:stats:fixture:{fixtureStatsId} when querying by legacy Stats fixture ID. |
| Placeholder removal |
Remove {} braces from actual production requests. |
Output Schema
The feed response fields are documented using XML element names. JSON responses contain similar fields, but XML-only nodes are omitted or represented differently.
`<match
LiveWinProbability>`
| Property |
Value |
| Format |
XML only |
| Nesting |
matchLiveWinProbability |
| Description |
Required root element of the fields related to match win probability predictions. |
| JSON behavior |
Not present in JSON feed response. In JSON, the root element is matchInfo. |
| Attributes |
Empty for JSON. XML includes xmlns:basketballdata. |
| Attribute |
Required |
Description |
Values |
xmlns:basketballdata |
No |
Schema reference returned for XML only. |
http://www.performgroup.com/schema/basketballdata |
`<match
Info>`
| Property |
Value |
| Nesting |
matchLiveWinProbability/matchInfo |
| Description |
Required root element of the fields related to match information. |
| Attribute |
Required |
Description |
Values |
id |
Yes |
Unique ID of the fixture or match. |
String; alphanumeric UUID |
date |
Yes |
Date of the match in UTC. |
Date in format YYYY-MM-DD |
time |
No |
Start time of the match in UTC. Returned when timeUnknown="no". The feed is updated with the known start time closer to the fixture date. |
String |
timeUnknown |
Yes |
Indicates whether the start time is known at request time. It may not always be returned. |
yes = time is not yet known; no = time is known |
lastUpdated |
Yes |
UTC date and time when the match information or record was last updated. |
Date/Time in format YYYY-MM-DDThh:mm:ssZ |
<description>
| Property |
Value |
| Nesting |
matchLiveWinProbability/matchInfo/description |
| Description |
Optional match or fixture description. |
| Value |
Name of the fixture or contestants. |
| Attributes |
None |
<sport>
| Property |
Value |
| Nesting |
matchLiveWinProbability/matchInfo/sport |
| Description |
Required root element of the related fields for the sport. |
| Value |
Sport name. |
| Attribute |
Required |
Description |
Values |
id |
Yes |
Unique ID of the sport. |
String; alphanumeric UUID |
<ruleset>
| Property |
Value |
| Nesting |
matchLiveWinProbability/matchInfo/ruleset |
| Description |
Required root element of the related fields for the ruleset. |
| Value |
Ruleset name. |
| Attribute |
Required |
Description |
Values |
id |
Yes |
Unique ID of the ruleset. |
String; alphanumeric UUID |
<competition>
| Property |
Value |
| Nesting |
matchLiveWinProbability/matchInfo/competition |
| Description |
Required root element of the related fields for the competition. |
| Attribute |
Required |
Description |
Values |
id |
Yes |
Unique ID of the competition. |
String; alphanumeric UUID |
name |
Yes |
Name of the competition. |
String |
<country> under <competition>
| Property |
Value |
| Nesting |
matchLiveWinProbability/matchInfo/competition/country |
| Description |
Required root element of the related fields for the country where the competition is based. |
| Value |
Country name. |
| Attribute |
Required |
Description |
Values |
id |
Yes |
Unique ID of the country where the competition is based. |
String; alphanumeric UUID |
`<tournament
Calendar>`
| Property |
Value |
| Nesting |
matchLiveWinProbability/matchInfo/tournamentCalendar |
| Description |
Required root element of the related fields for the tournament calendar. |
| Value |
Tournament calendar name. |
| Attribute |
Required |
Description |
Values |
id |
Yes |
Unique ID of the tournament calendar. |
String; alphanumeric UUID |
startDate |
Yes |
Start date of the tournament calendar in UTC. |
Date in format YYYY-MM-DD |
endDate |
Yes |
End date of the tournament calendar in UTC. |
Date in format YYYY-MM-DD |
<stage>
| Property |
Value |
| Nesting |
matchLiveWinProbability/matchInfo/stage |
| Description |
Required root element of the stage-related fields. |
| Value |
Stage name, for example Regular season. |
| Attribute |
Required |
Description |
Values |
id |
Yes |
Unique ID of the stage. |
String; alphanumeric UUID |
startDate |
Yes |
Start date of the stage in UTC. |
Date in format YYYY-MM-DD |
endDate |
Yes |
End date of the stage in UTC. |
Date in format YYYY-MM-DD |
<series>
| Property |
Value |
| Nesting |
matchLiveWinProbability/matchInfo/series |
| Description |
Optional root element of the related fields for a series. |
| Value |
Series name. |
| Attribute |
Required |
Description |
Values |
id |
Yes |
Unique ID of the series. |
String; alphanumeric UUID |
<contestants>
| Property |
Value |
| Nesting |
matchLiveWinProbability/matchInfo/contestants |
| Description |
Optional root element of the related fields for contestants. |
| Attributes |
None |
<contestant>
| Property |
Value |
| Nesting |
matchLiveWinProbability/matchInfo/contestants/contestant |
| Description |
Optional root element of the related fields for a contestant. |
If the match has not yet been played or the contestants are not yet known, not all contestant attributes may be present. Placeholder values may be supplied, and the feed is updated once contestant information is available.
| Attribute |
Required |
Description |
Values |
id |
Yes |
Unique ID of the contestant. Returned only once the contestants are known. |
String; alphanumeric UUID |
name |
Yes |
Name of the contestant. |
String |
position |
Yes |
Indicates whether the contestant is the home or away side. |
home, away |
<country> under <contestant>
| Property |
Value |
| Nesting |
matchLiveWinProbability/matchInfo/contestants/contestant/country |
| Description |
Optional root element of the country-related fields for a contestant. |
| Value |
Country name. |
| Attribute |
Required |
Description |
Values |
id |
Yes |
Unique ID of the country the contestant is from. |
String; alphanumeric UUID |
<venue>
| Property |
Value |
| Nesting |
matches/match/matchInfo/venue |
| Description |
Optional root element of the related fields for the venue. |
| Value |
Venue name. |
| Attribute |
Required |
Description |
Values |
id |
Yes |
Unique ID of the venue. |
String; alphanumeric UUID |
name |
Yes |
Name of the venue. |
String |
latitude |
No |
Latitude coordinates of the venue. |
String |
longitude |
No |
Longitude coordinates of the venue. |
String |
`<live
Data>`
| Property |
Value |
| Nesting |
matchLiveWinProbability/liveData |
| Description |
Required root element of the related fields for live data. |
| Attributes |
None |
`<match
Details>`
| Property |
Value |
| Nesting |
matchLiveWinProbability/liveData/matchDetails |
| Description |
Required root element of the related fields for match details. |
| Attribute |
Required |
Description |
Values |
matchStatus |
Yes |
Status of the match. |
Fixture, Playing, Played, Cancelled, Postponed, Suspended |
matchType |
Yes |
Type of match. |
NCAA, NBA, FIBA |
matchTimeMin |
No |
Current minute of the match. |
Integer |
matchTimeSec |
No |
Current second of the match. |
Integer |
periodTimeMin |
No |
Minutes left in the current period. |
Integer |
periodTimeSec |
No |
Seconds left in the current period. |
Integer |
periodId |
Yes |
Current period of the match. |
Integer; see period ID values below |
`period
Id` Values
| Value |
Description |
0 |
Pre-game |
1 |
First half |
2 |
Second half |
3 |
First quarter |
4 |
Second quarter |
5 |
Third quarter |
6 |
Fourth quarter |
7 |
Overtime |
11 |
Quarter 1 break, between 1st and 2nd quarters |
12 |
Half-time break |
13 |
Quarter 2 break, between 3rd and 4th quarters |
14 |
Overtime to be played, between end of regulation time and overtime |
15 |
Post-game; game finished |
16 |
Regular Time End (RTE) |
17 |
Overtime End (OTE) |
<scores>
| Property |
Value |
| Nesting |
matchLiveWinProbability/liveData/matchDetails/scores |
| Description |
Optional root element of the fields related to scores. |
| Attributes |
None |
<q1>
| Property |
Value |
| Nesting |
matchLiveWinProbability/liveData/matchDetails/scores/q1 |
| Description |
Optional root element of the related fields for first-quarter scores. Appears when the competition's matches are divided into quarters, such as NBA. |
| Attribute |
Required |
Description |
Values |
home |
Yes |
First-quarter score of the home team. |
Integer |
away |
Yes |
First-quarter score of the away team. |
Integer |
<q2>
| Property |
Value |
| Nesting |
matchLiveWinProbability/liveData/matchDetails/scores/q2 |
| Description |
Optional root element of the related fields for second-quarter scores. Appears when the competition's matches are divided into quarters, such as NBA. |
| Attribute |
Required |
Description |
Values |
home |
Yes |
Second-quarter score of the home team. |
Integer |
away |
Yes |
Second-quarter score of the away team. |
Integer |
<q3>
| Property |
Value |
| Nesting |
matchLiveWinProbability/liveData/matchDetails/scores/q3 |
| Description |
Optional root element of the related fields for third-quarter scores. Appears when the competition's matches are divided into quarters, such as NBA. |
| Attribute |
Required |
Description |
Values |
home |
Yes |
Third-quarter score of the home team. |
Integer |
away |
Yes |
Third-quarter score of the away team. |
Integer |
<q4>
| Property |
Value |
| Nesting |
matchLiveWinProbability/liveData/matchDetails/scores/q4 |
| Description |
Optional root element of the related fields for fourth-quarter scores. Appears when the competition's matches are divided into quarters, such as NBA. |
| Attribute |
Required |
Description |
Values |
home |
Yes |
Fourth-quarter score of the home team. |
Integer |
away |
Yes |
Fourth-quarter score of the away team. |
Integer |
<h1>
| Property |
Value |
| Nesting |
matchLiveWinProbability/liveData/matchDetails/scores/h1 |
| Description |
Optional root element of the related fields for the first half of a match. |
| Attribute |
Required |
Description |
Values |
home |
Yes |
First-half score of the home team. |
Integer |
away |
Yes |
First-half score of the away team. |
Integer |
<h2>
| Property |
Value |
| Nesting |
matchLiveWinProbability/liveData/matchDetails/scores/h2 |
| Description |
Optional root element of the related fields for the second half of a match. |
| Attribute |
Required |
Description |
Values |
home |
Yes |
Second-half score of the home team. |
Integer |
away |
Yes |
Second-half score of the away team. |
Integer |
<ots>
| Property |
Value |
| Nesting |
matchLiveWinProbability/liveData/matchDetails/scores/ots |
| Description |
Optional root element of the related fields for overtime score. |
| Attributes |
None |
<ot>
| Property |
Value |
| Nesting |
matchLiveWinProbability/liveData/matchDetails/scores/ots/ot |
| Description |
Optional root element of the related fields for overtime score. |
| Attribute |
Required |
Description |
Values |
ordinal |
Yes |
Ordinal number of overtime. |
Integer |
home |
Yes |
Home-team overtime score. |
Integer |
away |
Yes |
Away-team overtime score. |
Integer |
<total>
| Property |
Value |
| Nesting |
matchLiveWinProbability/liveData/matchDetails/scores/total |
| Description |
Required root element of the related fields for total scores. |
| Attribute |
Required |
Description |
Values |
home |
Yes |
Total score of the home team. |
Integer |
away |
Yes |
Total score of the away team. |
Integer |
<predictions>
| Property |
Value |
| Nesting |
matchLiveWinProbability/liveData/predictions |
| Description |
Required root element of the related fields for predictions. |
| Attributes |
None |
`<pre
MatchPredictions>`
| Property |
Value |
| Nesting |
matchLiveWinProbability/liveData/predictions/preMatchPredictions |
| Description |
Optional root element of the related fields for pre-match predictions. |
| Attribute |
Required |
Description |
Values |
lastUpdated |
Yes |
UTC date and time when the match information or record was last updated. |
Date/Time in format YYYY-MM-DDThh:mm:ssZ |
`<win
Prediction>under`
| Property |
Value |
| Nesting |
matchLiveWinProbability/liveData/predictions/preMatchPredictions/winPrediction |
| Description |
Optional root element of the related fields for win predictions. |
| Attributes |
None |
<prediction> under pre-match `<win
Prediction>`
| Property |
Value |
| Nesting |
matchLiveWinProbability/liveData/predictions/preMatchPredictions/winPrediction/prediction |
| Description |
Optional root element of the related fields for predicted types. |
| Attribute |
Required |
Description |
Values |
type |
Yes |
Type of prediction being made. |
String; documented targets include Home, Away, Draw |
value |
Yes |
Percentage value for the prediction type. |
String |
`<score
Prediction>under`
| Property |
Value |
| Nesting |
matchLiveWinProbability/liveData/predictions/preMatchPredictions/scorePrediction |
| Description |
Optional root element of the related fields for score predictions. |
| Attributes |
None |
<prediction> under pre-match `<score
Prediction>`
| Property |
Value |
| Nesting |
matchLiveWinProbability/liveData/predictions/preMatchPredictions/scorePrediction/prediction |
| Description |
Optional root element of the related fields for predicted score types. |
| Attribute |
Required |
Description |
Values |
type |
Yes |
Type of prediction being made. |
String |
value |
Yes |
Percentage value for the prediction type. |
String; documented targets include Home, Away, Draw |
`<live
Predictions>`
| Property |
Value |
| Nesting |
matchLiveWinProbability/liveData/predictions/livePredictions |
| Description |
Required root element of the related fields for live predictions. |
| Availability |
Available only once the game starts. |
| Attribute |
Required |
Description |
Values |
timeMin |
Yes |
Match time in minutes. |
Integer |
timeSec |
Yes |
Match time in seconds. |
Integer |
periodId |
Yes |
Period of the match. |
Integer |
playId |
Yes |
Unique ID of the play. |
Integer |
lastUpdated |
Yes |
UTC date and time when the match information or record was last updated. |
Date/Time in format YYYY-MM-DDThh:mm:ssZ |
`<win
Prediction>under`
| Property |
Value |
| Nesting |
matchLiveWinProbability/liveData/predictions/livePredictions/winPrediction |
| Description |
Required root element of the related fields for live win predictions. |
| Attributes |
None |
<prediction> under live `<win
Prediction>`
| Property |
Value |
| Nesting |
matchLiveWinProbability/liveData/predictions/livePredictions/winPrediction/prediction |
| Description |
Required root element of the related fields for predicted types. |
| Attribute |
Required |
Description |
Values |
type |
Yes |
Type of prediction being made. |
String; documented targets include Home, Away, Draw |
value |
Yes |
Percentage value for the prediction type. |
String |
`<score
Prediction>under`
| Property |
Value |
| Nesting |
matchLiveWinProbability/liveData/predictions/livePredictions/scorePrediction |
| Description |
Required root element of the related fields for score predictions. |
| Attributes |
None |
<prediction> under live `<score
Prediction>`
| Property |
Value |
| Nesting |
matchLiveWinProbability/liveData/predictions/livePredictions/scorePrediction/prediction |
| Description |
Required root element of the related fields for predicted score types. |
| Attribute |
Required |
Description |
Values |
type |
Yes |
Type of prediction being made. |
String |
value |
Yes |
Percentage value for the prediction type. |
String; documented targets include Home, Away, Draw |