Stats Perform logo

Sports Data API - Basketball - Live Win Probability Feed (MA21)

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