Overview
The Soccer Team Player Predictions feed returns predictive statistics for teams and players in a specified soccer fixture.
The feed provides predictions for key events such as goals, cards, and penalties; predicted team-statistic totals such as shots, saves, red cards, yellow cards, and corners; and statistics and predictions for individual lineup players.
The feed also returns season averages for the supported statistics at team and player level. Team and fixture predictions are available across the season and are recalculated once per day. Player-related predictions are available for the next upcoming match of a team and are recalculated once per minute after kick-off while the match is being played.
| Included Data Category |
Description |
| Match metadata |
Fixture ID, date, time, coverage level, local date/time, period configuration, and last update timestamp. |
| Competition metadata |
Sport, ruleset, competition, country, tournament calendar, stage, contestants, and venue details. |
| Live match details |
Match status, period, winner, aggregate references, match length, team/player of the match, scores, and period timing. |
| Key events |
Goals, cards, substitutions, and VAR events with player, contestant, period, timing, and Opta event identifiers. |
| Lineups |
Contestant lineup details, team officials, formations, and player metadata. |
| Pre-match predictions |
Team and player prediction targets with season averages before the fixture. |
| Live predictions |
Minute-by-minute prediction snapshots for players and teams during the match. |
| Match extras |
Attendance and match-official details when available. |
Problem Statement & Use Cases
This API solves the business problem of projecting expected team and player outcomes for a soccer fixture before and during play. Instead of relying only on final box-score data, downstream systems can ingest structured predictions and season averages for specific statistics and update those predictions as match context changes.
| Use Case |
Description |
| Pre-match prediction dashboards |
Display projected team and player outcomes for goals, cards, shots, saves, passes, fouls, and other supported statistics before kick-off. |
| Live player-stat widgets |
Update player and team prediction values during a live match using minute-specific prediction snapshots. |
| Lineup-based analytics |
Combine starting lineup, substitute, team-official, and prediction data to analyze expected player contributions. |
| Model feature engineering |
Use prediction targets and season averages as features for downstream forecasting, simulation, editorial, or personalization models. |
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.
Limited Availability
This feed launches with limited availability. Ask your Stats Perform Account Manager for competition availability and commercial/legal availability before integration.
| Constraint |
Detail |
| Competition availability |
Limited at launch and dependent on Stats Perform availability. |
| Commercial/legal review |
Confirm commercial legalities with the account team before using this feed in production. |
Prediction Availability and Refresh Cadence
| Prediction Type |
Availability |
Recalculation Cadence |
| Team and fixture predictions |
Available for the entire season. |
Recalculated once per day. |
| Player predictions |
Available for the team's next upcoming match. |
Recalculated once per minute after kick-off while the match is being played. |
Polling Frequency
Do not exceed the polling rate confirmed by Stats Perform. Contact a Stats Perform representative if higher limits or clarification are required.
| Tier |
Polling Frequency |
| Tier 15 |
Once per day up until fixture start date/time, then once every minute after kick-off. |
| Tier 13 |
Once per day up until fixture start date/time, then once every minute after kick-off. |
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 parameters 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, _clbk, and _rt. |
| 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. |
Fixture Requirement
The /teamplayerpredictions feed must be queried by fixture or match UUID.
| Requirement |
Detail |
| Path parameter method |
Pass the fixture UUID directly in the request path. |
| Query parameter method |
Pass the fixture UUID to the fx query parameter. |
| Minute-specific predictions |
Use min to retrieve prediction values at a specified minute or range of minutes. |
| Statistic filtering |
Use stat to limit the response to one or more supported statistics. |
Endpoints
Base URLs
https://api.statsperform.com
https://api.performfeeds.com
Primary Feed Resource
/sdapi/v1/soccerdata/teamplayerpredictions
Get Team Player Predictions by Fixture UUID Path Parameter
GET /sdapi/v1/soccerdata/teamplayerpredictions/{fixtureUUID}?{queryParameters}
| Usage |
Feed |
| Get team player predictions for a specific fixture using the fixture UUID path parameter. |
/sdapi/v1/soccerdata/teamplayerpredictions/{fixtureUUID}?{queryParameters} |
Get Team Player Predictions by Fixture UUID Query Parameter
GET /sdapi/v1/soccerdata/teamplayerpredictions?fx={fixtureUUID}&{queryParameters}
| Usage |
Feed |
Get team player predictions for a specific fixture using the fx query parameter. |
/sdapi/v1/soccerdata/teamplayerpredictions?fx={fixtureUUID}&{queryParameters} |
Get Detailed Team Player Predictions
GET /soccerdata/teamplayerpredictions/{outletAuthKey}?fx={fixtureUUID}&detailed={yes|no}&_rt={mode}&_fmt={dataFormat}
| Usage |
Feed |
| Get detailed team player predictions using the outlet-authentication feed path. |
/soccerdata/teamplayerpredictions/{outletAuthKey}?fx={fixtureUUID}&detailed={yes|no}&_rt={mode}&_fmt={dataFormat} |
Example Request Patterns
GET https://api.statsperform.com/sdapi/v1/soccerdata/teamplayerpredictions/{fixtureUUID}?_fmt={dataFormat}
GET https://api.statsperform.com/sdapi/v1/soccerdata/teamplayerpredictions?fx={fixtureUUID}&_fmt={dataFormat}
GET https://api.statsperform.com/sdapi/v1/soccerdata/teamplayerpredictions?fx={fixtureUUID}&min={mm}&_fmt={dataFormat}
GET https://api.statsperform.com/sdapi/v1/soccerdata/teamplayerpredictions?fx={fixtureUUID}&min={mm}&stat={statvalue}&_fmt={dataFormat}
GET https://api.performfeeds.com/soccerdata/teamplayerpredictions/{outletAuthKey}?fx={fixtureUUID}&detailed={yes|no}&_rt={mode}&_fmt={dataFormat}
Query Parameters
This feed uses Global query parameters and the feed-specific query parameters listed below.
Query the /teamplayerpredictions feed by fixture UUID using either the path parameter method or the fx query parameter method.
Feed-Specific Query Parameters
| Parameter |
Location |
Description |
Accepted Values / Format |
Example Request |
{fixtureUUID} |
Path |
Get team player predictions for a specific fixture UUID. |
Fixture UUID |
GET https://api.statsperform.com/sdapi/v1/soccerdata/teamplayerpredictions/{fixtureUUID}?_fmt={dataFormat} |
fx |
Query |
Get team player predictions for the specified fixture UUID. |
Fixture UUID |
GET https://api.statsperform.com/sdapi/v1/soccerdata/teamplayerpredictions?fx={fixtureUUID}&_fmt={dataFormat} |
detailed |
Query |
Get the detailed team player prediction for the specified fixture UUID. |
yes, no |
GET https://api.performfeeds.com/soccerdata/teamplayerpredictions/{outletAuthKey}?fx={fixtureUUID}&detailed={yes\|no}&_rt={mode}&_fmt={dataFormat} |
min |
Query |
Get predictive values at a specified point in match time. With min={mm}, the response contains prediction values valid at minute {mm}. With min={mm},{mm}, the response contains all prediction values grouped by minute within the requested range. With min=-1, the response returns all available data for the match. |
Match minute, comma-separated minute range, or -1 |
GET https://api.statsperform.com/sdapi/v1/soccerdata/teamplayerpredictions?fx={fixtureUUID}&min={mm}&_fmt={dataFormat} |
stat |
Query |
Limit the response to a dedicated statistic or an array of statistics. |
yellow_cards, fouls, saves, red_cards, assists, minutes, shots, goals, passes |
GET https://api.statsperform.com/sdapi/v1/soccerdata/teamplayerpredictions?fx={fixtureUUID}&min={mm}&stat={statvalue}&_fmt={dataFormat} |
Global Query Parameters Referenced by This Feed
| Parameter |
Description |
Requirement / Notes |
_fmt |
Response data format. |
Use a supported Stats Perform data format such as XML, JSON, or JSONP. |
_clbk |
JSONP callback function name. |
Required when _fmt=jsonp. Use a fixed callback name. |
_rt |
Runtime or mode parameter used in the detailed endpoint example. |
Used with the api.performfeeds.com detailed request pattern. |
min Parameter Behavior
min Value Pattern |
Response Behavior |
min={mm} |
Returns prediction values valid at the specified match minute. |
min={mm},{mm} |
Returns all prediction values grouped by minute within the specified range. |
min=-1 |
Returns all available data for the match. |
Supported stat Values
| Statistic Value |
Description |
yellow_cards |
Yellow-card predictions or statistics. |
fouls |
Foul predictions or statistics. |
saves |
Save predictions or statistics. |
red_cards |
Red-card predictions or statistics. |
assists |
Assist predictions or statistics. |
minutes |
Minutes-played predictions or statistics. |
shots |
Shot predictions or statistics. |
goals |
Goal predictions or statistics. |
passes |
Pass predictions or statistics. |
Output Schema
The feed response fields are documented using XML element names. JSON responses contain similar fields, but XML-only wrapper elements may be omitted or represented differently.
<match>
| Property |
Value |
| Format |
XML only wrapper or XML-specific behavior |
| Nesting |
match |
| Description |
Root element of the fields related to the match (XML only) |
| Note |
Not present in JSON feed response, where the root element is matchInfo |
| Attribute |
Required |
Description |
Values |
xmlns:soccerdata (XML only) |
Yes |
Schema reference - returned for XML only |
http://www.performgroup.com/schema/soccerdata |
`<match
Info>`
| Property |
Value |
| Nesting |
match/matchInfo |
| Description |
Root element of the fields related to the match |
| Attribute |
Required |
Description |
Values |
id |
Yes |
Unique ID (UUID) of the match |
String (Alphanumeric - UUID) |
coverageLevel |
Yes |
The match coverage level |
String |
date |
Yes |
The date (UTC) of the fixture/match |
Date - in the format: YYYY-MM-DDZ |
time |
No |
The start time (UTC) of the fixture/match |
Time - in the format: hh:mm:ssZ |
localDate |
Yes |
The local date of the fixture/match |
Date - in the format: YYYY-MM-DD |
localTime |
No |
The local time of the fixture/match |
Time - in the format: hh:mm:ss |
week |
No |
The week in which the match is taking place |
String |
numberOfPeriods |
No |
The number of periods that will be played. For example, a regular soccer match will have two periods |
Integer |
periodLength |
No |
The duration of a period. For example, the duration of a period in a regular soccer match is 45 minutes |
Integer |
lastUpdated |
Yes |
The UTC date and time (timestamp) of when the match information/record was last updated |
Date/Time - in the format: YYYY-MM-DDThh:mm:ssZ |
<description>
| Property |
Value |
| Nesting |
match/matchInfo/description |
| Description |
Description of the match. Value: string giving the description - for example, the contestant names |
| Attribute |
Required |
Description |
Values |
| None |
No |
This element has no documented attributes. |
N/A |
<sport>
| Property |
Value |
| Nesting |
match/matchInfo/sport |
| Description |
Root element of the fields related to the sport |
| Attribute |
Required |
Description |
Values |
id |
Yes |
Unique ID (UUID) of the sport |
String (Alphanumeric - UUID) |
name (JSON only) |
Yes |
Name of the sport |
String |
<ruleset>
| Property |
Value |
| Nesting |
match/matchInfo/ruleset |
| Description |
Root element of the fields related to the ruleset |
| Attribute |
Required |
Description |
Values |
id |
Yes |
Unique ID (UUID) of the ruleset |
String (Alphanumeric - UUID) |
name (JSON only) |
Yes |
Name of the ruleset |
String |
<competition>
| Property |
Value |
| Nesting |
match/matchInfo/competition |
| Description |
Root element of the fields related to the competition |
| Attribute |
Required |
Description |
Values |
id |
Yes |
Unique ID (UUID) of the competition |
String (Alphanumeric - UUID) |
name |
Yes |
The name of the competition |
String |
knownName |
No |
The known name of the competition |
String |
competitionCode |
Yes |
The short three-digit competition code |
String |
competitionFormat |
Yes |
The format of the competition - one of the following values: Domestic league | Domestic cup | Domestic super cup | International cup | International super cup |
String |
<country> under <competition>
| Property |
Value |
| Format |
XML only |
| Nesting |
match/matchInfo/competition/country |
| Description |
Root element of the fields related to the country that the competition is based in. Value (XML only): String giving the country name |
| Attribute |
Required |
Description |
Values |
id |
Yes |
Unique ID (UUID) of the country that the competition is based in |
String (Alphanumeric - UUID) |
name (JSON only) |
Yes |
Name of the country |
String |
`<tournament
Calendar>`
| Property |
Value |
| Format |
XML only |
| Nesting |
match/matchInfo/tournamentCalendar |
| Description |
Root element of the fields related to a tournament calendar. Value (XML only): String giving the tournament calendar name |
| Attribute |
Required |
Description |
Values |
id |
Yes |
Unique ID (UUID) of the tournament calendar |
String (Alphanumeric - UUID) |
startDate |
Yes |
The start date (UTC) of the tournament calendar |
Date - in the format: YYYY-MM-DDZ |
endDate |
Yes |
The end date (UTC) of the tournament calendar |
Date - in the format: YYYY-MM-DDZ |
name (JSON only) |
Yes |
Name of the tournament calendar |
String |
<stage>
| Property |
Value |
| Nesting |
match/matchInfo/stage |
| Description |
Root element of the fields related to the stage |
| Attribute |
Required |
Description |
Values |
id |
Yes |
Unique ID (UUID) of the stage |
String (Alphanumeric - UUID) |
formatId |
Yes |
Unique ID (UUID) of the stage format. This is an identifier for a specific type of stage - despite being played in different seasons, a team (contestant) can have the same format ID but a different stage ID (the stage ID is linked with stage and season). |
String (Alphanumeric - UUID) |
startDate |
Yes |
The start date (UTC) of the stage |
Date - in the format: YYYY-MM-DDZ |
endDate |
Yes |
The end date (UTC) of the stage |
Date - in the format: YYYY-MM-DDZ |
name (JSON only) |
Yes |
Name of the stage |
String |
<contestants>
| Property |
Value |
| Format |
XML only |
| Nesting |
match/matchInfo/contestants |
| Description |
Root element of the fields related to contestants (XML only). |
| Attribute |
Required |
Description |
Values |
| None |
No |
This element has no documented attributes. |
N/A |
<contestant>
| Property |
Value |
| Nesting |
match/matchInfo/contestants/contestant |
| Description |
Root element of the fields related to a contestant. This element is optional (it may not always be returned in the feed - for example if the match is scheduled but contestants are not yet known, in which case the record will be updated once known) |
| Attribute |
Required |
Description |
Values |
id |
Yes |
Unique ID (UUID) of the contestant |
String (Alphanumeric - UUID) |
name |
Yes |
The name of the contestant |
String |
shortName |
No |
The short name commonly used to refer to the contestant |
String |
officialName |
Yes |
The official name of the contestant |
String |
code |
No |
The 3-character code used for the name of the contestant - it is often used on TV scoreboards |
String |
position |
Yes |
Indicates the position of the contestant as either the home or away side, in the list of contestants |
String - one of the following: home | away |
<country> under <contestant>
| Property |
Value |
| Format |
XML only |
| Nesting |
match/matchInfo/contestants/contestant/country |
| Description |
Root element of the fields related to a contestant - this element is optional (it may not always be returned in the feed). Value (XML only): String giving the country name |
| Attribute |
Required |
Description |
Values |
id |
Yes |
Unique ID (UUID) of the country the contestant is from |
String (Alphanumeric - UUID) |
name (JSON only) |
Yes |
Name of the country |
String |
<venue>
| Property |
Value |
| Format |
XML only wrapper or XML-specific behavior |
| Nesting |
match/matchInfo/venue |
| Description |
Root element of the fields related to a venue - this element is optional (it may not always be returned in the feed). Value (XML only): String giving the venue name; in JSON/JSONP it is returned under shortName instead |
| Attribute |
Required |
Description |
Values |
id |
Yes |
Unique ID (UUID) of the venue |
String (Alphanumeric - UUID) |
neutral |
Yes |
Whether or not the venue is neutral: yes (is neutral - the venue is associated with one of the contestants) no (not neutral - the venue is associated with one of the contestants) |
String - one of the following: no | yes |
longName |
Yes |
The long/extended name of the venue |
String |
latitude |
No |
The latitude coordinates for the location of the venue |
String |
longitude |
No |
The longitude coordinates for the location of the venue |
String |
shortName (JSON only) |
Yes |
The short name of the venue |
String |
`<live
Data>`
| Property |
Value |
| Nesting |
match/liveData |
| Description |
Root element of the fields related to live data |
| Note |
If no live data is available (for example, if the fixture is scheduled but is not playing or has not been played) then an empty liveData element is returned and some sub-elements will not be returned. However, when new information is available the feed will be updated - see our polling frequency recommendations for more information. |
| Attribute |
Required |
Description |
Values |
| None |
No |
This element has no documented attributes. |
N/A |
`<match
Details>`
| Property |
Value |
| Nesting |
match/liveData/matchDetails |
| Description |
Root element of the fields related to the match details |
| Attribute |
Required |
Description |
Values |
periodId |
Yes |
The current match period - one of the following: • 1 (First half) • 2 (Second half) • 3 (Extra time - first half) • 4 (Extra time - second half) • 5 (Penalty shootout) • 10 (Half time) • 11 (End of second half - before extra time) • 12 (Extra time half time) • 13 (End of extra time - before penalties) • 14 (Full time) • 16 (Pre-match) |
Integer |
matchStatus |
Yes |
The status of the match - one of the following: Fixture | Playing | Played | Cancelled | Postponed | Suspended | Awarded Note - New value of Awarded available - it is used for matches that do not take place or when one of the contestants involved gets 'awarded' the match with an associated result. |
String |
winner |
No |
The outcome of the match. Note: This attribute is only shown when the match is completed (when matchStatus="Played") |
String - one of the following: home | away | draw |
leg |
No |
The leg of the competition a match is being played in. |
Integer |
aggregateId |
No |
A unique identifier used to group and link both legs of a paired soccer match (e.g., home and away games in a two-legged tie). |
String (Alphanumeric - UUID) |
previousAggregateIds |
No |
It contain aggregated IDs for previous rounds of the fixture. (e.g., previousRoundAggregateId1, previousRoundAggregateId2) |
String |
previousMatchIds |
No |
UUID of ‘Previous Match’ |
String (Alphanumeric - UUID) |
advancementAggregateId |
No |
A reference to the aggregateId indicating which aggregate winner will advance to the next round or stage in a paired soccer match series. |
String (Alphanumeric - UUID) |
matchLengthMin |
No |
The total number of full minutes played in the match (includes stoppage time). Note: This attribute is only shown when the match is completed (when matchStatus="Played") |
Integer |
matchLengthSec |
No |
The number of seconds in addition to the full minutes played in the match (includes stoppage time). Note: This attribute is only shown when the match is completed (when matchStatus="Played") |
Integer |
contestantOfTheMatchId |
No |
UUID of ‘Team of the Match’ |
String (Alphanumeric - UUID) |
playerOfTheMatch |
No |
Name of ‘Player of the Match’ |
String |
playerOfTheMatchId |
No |
UUID of ‘Player of the Match’ |
String (Alphanumeric - UUID) |
goalkeeperOfTheMatch |
No |
Name of ‘Goal Keeper of the Match |
String |
goalkeeperOfTheMatchId |
No |
UUID of ‘Goal Keeper of the Match’ |
String (Alphanumeric - UUID) |
<periods>
| Property |
Value |
| Format |
XML only wrapper or XML-specific behavior |
| Nesting |
match/liveData/matchDetails/periods |
| Description |
Root element of the fields related to periods in a match (XML only) - this element is optional (it may not always be returned in the feed). |
| Note |
JSON/JSONP: Not present in JSON/JSONP feed response, where the individual period elements are returned instead All formats: The periods and/or period elements are only returned if data is available and if the status (matchStatus) is 'Playing', 'Played', 'Suspended', 'Cancelled', or 'Postponed'. If no data is available (for example, if the fixture is scheduled but is not playing or has not been played) then the liveData element may be empty or some sub-elements will not be returned. However, when new information is available the feed will be updated - see our polling frequency recommendations for more information. |
| Attribute |
Required |
Description |
Values |
| None |
No |
This element has no documented attributes. |
N/A |
<period>
| Property |
Value |
| Nesting |
match/liveData/matchDetails/periods/period |
| Description |
Root element of the fields related to a period in the match - this element is optional (it may not always be returned in the feed). |
| Note |
Only visible if the status (matchStatus) is 'Playing', 'Played', 'Suspended', 'Cancelled', or 'Postponed'. If no data is available (for example, if the fixture is scheduled but is not playing or has not been played) then the liveData element may be empty or some sub-elements will not be returned. However, when new information is available the feed will be updated - see our polling frequency recommendations for more information. |
| Attribute |
Required |
Description |
Values |
id |
Yes |
The match period ID - one of the following: 1 | 2 | 3 | 4 |
Integer |
start |
Yes |
The start date and time of the period (UTC) |
Date/Time - in the format: YYYY-MM-DDThh:mm:ssZ |
end |
Yes |
The end date and time of the period (UTC) |
Date/Time - in the format: YYYY-MM-DDThh:mm:ssZ |
lengthMin |
Yes |
The number of total minutes in the period (includes stoppage time) |
Integer |
lengthSec |
Yes |
The number of seconds in addition to the total minutes in the period (includes stoppage time) |
Integer |
announcedInjuryTime |
No |
Time when injury was announced. |
Integer |
<scores>
| Property |
Value |
| Nesting |
match/liveData/matchDetails/scores |
| Description |
Root element of the fields related to scores - this element is optional (it may not always be returned in the feed). |
| Note |
Only visible if the status (matchStatus) is 'Playing', 'Played', 'Suspended', 'Cancelled', or 'Postponed'. |
| Attribute |
Required |
Description |
Values |
| None |
No |
This element has no documented attributes. |
N/A |
<ht>
| Property |
Value |
| Nesting |
match/liveData/matchDetails/scores/ht |
| Description |
Root element of the fields related to first half scores - this element is optional (it may not always be returned in the feed). |
| Note |
Only visible if the status (matchStatus) is 'Playing', 'Played', 'Suspended', 'Cancelled', or 'Postponed'. |
| Attribute |
Required |
Description |
Values |
home |
Yes |
The half-time score of the home team |
Integer |
away |
Yes |
The half-time score of the away team |
Integer |
<ft>
| Property |
Value |
| Nesting |
match/liveData/matchDetails/scores/ft |
| Description |
Root element of the fields related to the full-time (second half) scores - this element is optional (it may not always be returned in the feed). |
| Attribute |
Required |
Description |
Values |
home |
Yes |
The full-time score of the home team |
Integer |
away |
Yes |
The full-time score of the away team |
Integer |
<total>
| Property |
Value |
| Nesting |
match/liveData/matchDetails/scores/total |
| Description |
Root element of the fields related to the total scores - this element is optional (it may not always be returned in the feed). |
| Note |
Only visible if the status (matchStatus) is 'Playing', 'Played', 'Suspended', 'Cancelled', or 'Postponed'. |
| Attribute |
Required |
Description |
Values |
home |
Yes |
The total score of the home team |
Integer |
away |
Yes |
The total score of the away team |
Integer |
<goal>
| Property |
Value |
| Nesting |
match/liveData/goal |
| Description |
Root element of the fields related to the goal. |
| Attribute |
Required |
Description |
Values |
type |
Yes |
The type of prediction that describes the goal |
String |
scorerId |
Yes |
Unique ID (UUID) of the scorer |
String (Alphanumeric-UUID) |
scorerName |
Yes |
The name of the player who scored the goal |
String |
assistPlayerId |
No |
Unique ID (UUID) of the player who assisted the goal. Attribute not present if there was no assist. |
String (Alphanumeric-UUID) |
assistPlayerName |
No |
The name of the player who assisted the goal. Attribute not present if there was no assist. |
String |
optaEventId |
Yes |
The Opta ID of the event |
String |
homeScore |
Yes |
The score scored by the home team. |
Integer |
awayScore |
Yes |
The score scored by the away team. |
Integer |
contestantId |
Yes |
Unique ID (UUID) of the scorer's team |
String (Alphanumeric - UUID) |
periodId |
Conditional |
The ID of the match period in which the goal was scored - one of the following: 1 | 2 | 3 | 4 |
Integer |
timeMin |
Yes |
The minute of the match in which the goal was scored |
Integer |
timeMinSec |
Yes |
The second attributed to the minute in the match in which the goal was scored |
String |
lastUpdated |
Yes |
The UTC date and time (timestamp) of when the event information/record was last updated |
Date/Time - in the format: YYYY-MM-DDThh:mm:ssZ |
timestamp |
No |
The UTC date and time (timestamp) of when the event updated. |
Date/Time - in the format: YYYY-MM-DDThh:mm:ssZ |
<card>
| Property |
Value |
| Nesting |
match/liveData/card |
| Description |
Root element of the fields relating to card in the given match. |
| Attribute |
Required |
Description |
Values |
type |
Yes |
The type of the card - one of the following:YC(yellow) |Y2C(second yellow) |RC(red) |
String |
playerId |
Yes |
Unique (UUID) of the player who received the card |
String (Alphanumeric - UUID) |
playerName |
Yes |
The name of the player who received the card |
String |
optaEventId |
Yes |
The Opta ID of the event |
Integer |
cardReason |
Conditional |
The reason that the card was awarded - this depends on the type/colour of the card: Yellow Card type="YC" reasons (possible values): Foul | Persistent infringement | Hand Ball | Dangerous play | Time wasting | Argument | Dissent | Simulation | Excessive celebration | Encroachment | Leaving field of play | Entering field of play | Off the ball foul | Not Retreating | Entering referee review area | Excessive usage of review signal | Other Reason Red Card type="RC" reasons (possible values): Violent conduct | Spitting | Professional Foul Last Player | Professional Foul Handball | Serious Foul | Foul and abusive language | Entering video operations room |
String |
contestantId |
Yes |
Unique ID (UUID) of the player's team |
String (Alphanumeric - UUID) |
periodId |
Conditional |
Match period in which the player received the card |
Integer - one of the following: 1 | 2 | 3 | 4 |
timeMin |
Yes |
Minute of the match associated with the card event. |
Integer |
timeMinSec |
Yes |
Second attributed to the minute of the match associated with the card event. |
String |
lastUpdated |
Yes |
The UTC date and time (timestamp) of when the card event information/record was last updated |
Date/Time - in the format: YYYY-MM-DDThh:mm:ssZ |
timestamp |
No |
The UTC date and time (timestamp) of when the card event information/record was updated |
Date/Time - in the format: YYYY-MM-DDThh:mm:ssZ |
<substitute>
| Property |
Value |
| Nesting |
match/liveData/substitute |
| Description |
Root element of the fields relating to substitute, in the given match. |
| Attribute |
Required |
Description |
Values |
playerOnId |
Yes |
Unique ID (UUID) of the player being substituted on |
String (Alphanumeric - UUID) |
playerOnName |
Yes |
The match name of player being substituted on |
String |
playerOffId |
Yes |
Unique ID (UUID) of the player being substituted off |
String (Alphanumeric - UUID) |
playerOffName |
Yes |
The match name of player being substituted off |
String |
subReason |
Yes |
The reason that the substitution was made - one of the following:Tactical | Injury |
String |
contestantId |
Yes |
Unique ID (UUID) of the contestant. |
String (Alphanumeric - UUID) |
periodId |
Conditional |
The period ID of the match in which the substitution was made |
Integer - one of the following: 1 | 2 | 3 | 4 |
timeMin |
Yes |
Minute of the match when the substitute player enters. |
Integer |
timeMinSec |
Yes |
Second attributed to the minute when the substitute player enters. |
String |
lastUpdated |
Yes |
The UTC date and time (timestamp) of when the substitution event information/record was last updated |
Date/Time - in the format: YYYY-MM-DDThh:mm:ssZ |
timestamp |
No |
The UTC date and time (timestamp) of when the substitution was made |
Date/Time - in the format: YYYY-MM-DDThh:mm:ssZ |
<VAR>
| Property |
Value |
| Nesting |
match/liveData/VAR |
| Description |
Added in June 2019 update: Root element of the fields relating to all VAR (Video Assistant Referee) events/reviews. |
| Note |
Only returned if the call includes the parameter-value live=yes and data is available. It will only appear in a game where there has been a VAR review and will list all VAR events in a game, the player and team involved, the type of event reviewed, whether the original decision was upheld, and the outcome of the review. This list will update during a game as more events are reviewed. If no data is available (for example, if the fixture is scheduled but is not playing or has not been played) then the liveData element may be empty or some sub-elements will not be returned. However, when new information is available the feed will be updated - see our polling frequency recommendations for more information. |
| Attribute |
Required |
Description |
Values |
type |
Conditional |
The type of event/decision that requires a VAR review - one of the following: Goal awarded | Goal not awarded | Penalty awarded | Penalty not awarded | Red card given | Card upgrade | Mistaken Identity | Other • Appears in the feed, alongside other attributes related to a VAR review. • To see a full explanation of the possible combination of VAR events, Referee decisions, and Outcomes, see: How are VAR events reported? |
String |
decision |
Yes |
The decision that the referee has made about the event, following the VAR review. |
String - one of the following: Confirmed | Cancelled |
outcome |
Conditional |
The outcome of the event, in relation to the original decision and following the VAR review and decision - one of the following: Goal | No goal | Penalty | No penalty | Red card awarded | No red card | Ref cautions/sends off different player | Player originally cautioned confirmed |
String |
playerId |
Yes |
Unique ID (UUID) of the player involved in an event that requires a Video Assistant Referee (VAR) review. |
String (Alphanumeric - UUID) |
playerName |
Yes |
Name of the player involved in an event that requires a Video Assistant Referee (VAR) review. |
String |
optaEventId |
Yes |
The Opta ID of the event |
Integer |
contestantId |
Yes |
Unique ID (UUID) of a contestant associated with a player involved in an event that requires a Video Assistant Referee (VAR) review. |
String (Alphanumeric - UUID) |
periodId |
Conditional |
The ID of the match period in which the event was subject to the VAR review |
Integer - one of the following: 1 | 2 | 3 | 4 | 5 |
timeMin |
Yes |
The minute of the match in which the event was subject to the VAR review |
Integer |
timeMinSec |
Yes |
The second attributed to the minute in the match in which the event was subject to the VAR review |
String |
lastUpdated |
Yes |
The UTC date and time (timestamp) of when the event information/record was last updated |
Date/Time - in the format: YYYY-MM-DDThh:mm:ssZ |
timestamp |
No |
The UTC date and time (timestamp) of when the event information/record updated. |
Date/Time - in the format: YYYY-MM-DDThh:mm:ssZ |
`<line
Up>`
| Property |
Value |
| Nesting |
match/liveData/lineUp |
| Description |
Root element of the fields related to the lineUp of the players in the given team. |
| Attribute |
Required |
Description |
Values |
contestantId |
Yes |
Unique ID (UUID) of the contestant |
String (Alphanumeric - UUID) |
formationUsed |
No |
The formation type used by that team |
String |
`<team
Official>`
| Property |
Value |
| Nesting |
match/liveData/lineUp/teamOfficial |
| Description |
Root element of the fields related to the teamOfficial. Includes multiple team officials in a team's lineup. |
| Attribute |
Required |
Description |
Values |
id |
Yes |
Unique ID (UUID) of the team official |
String (Alphanumeric - UUID) |
firstName |
Yes |
The first name of the team official |
String |
lastName |
Yes |
The last name (second name) of the team official. Note: This replaced secondName |
String |
shortFirstName |
No |
The short first name of the team official |
String |
shortLastName |
No |
The short last name of the team official |
String |
knownName |
No |
The known name of the team official |
String |
type |
Yes |
The type of the team official - eg 'manager' |
String |
`<pre
MatchPredictions>`
| Property |
Value |
| Nesting |
match/liveData/lineUp/preMatchPredictions |
| Description |
Root element of the fields related to the pre match predictions. |
| Attribute |
Required |
Description |
Values |
| None |
No |
This element has no documented attributes. |
N/A |
<players> under `<pre
MatchPredictions>`
| Property |
Value |
| Nesting |
match/liveData/lineUp/preMatchPredictions/players |
| Description |
Root element of the fields related to the players. |
| Attribute |
Required |
Description |
Values |
| None |
No |
This element has no documented attributes. |
N/A |
<player> under `<pre
MatchPredictions>`
| Property |
Value |
| Nesting |
match/liveData/lineUp/preMatchPredictions/players/player |
| Description |
Root element of the fields related to the player. |
| Attribute |
Required |
Description |
Values |
playerId |
Yes |
Unique ID (UUID) of the player |
String (Alphanumeric - UUID) |
firstName |
Yes |
The first name of the player |
String |
lastName |
Yes |
The last name of the player |
String |
birthName |
No |
The birth name of the person/player |
String |
matchName |
No |
Match name of the player. Note: This node may not be returned for every player. If it does exist, you may wish to use it instead, and ignore the firstName and lastName nodes. For example, 'Neymar' will have a known name. |
String |
shirtNumber |
Yes |
The shirt number of the player |
Integer |
position |
Yes |
The position of the player in the starting lineup - one of the following: Goalkeeper | Wing Back | Defender | Defensive Midfielder | Attacking Midfielder | Midfielder | Striker | Substitute |
String |
positionSide |
No |
Player position side on the pitch - one of the following: Left, Right, Centre, Left/Centre, Centre/Right |
String |
formationPlace |
Yes |
The formation place of the player. |
Integer |
isInjured |
Yes |
The injury status of the player. Possible values: 0 | 1 |
Integer |
<team> under `<pre
MatchPredictions>`
| Property |
Value |
| Nesting |
match/liveData/lineUp/preMatchPredictions/team |
| Description |
Root element of the fields related to the team. |
| Attribute |
Required |
Description |
Values |
| None |
No |
This element has no documented attributes. |
N/A |
<stat> under pre-match <team>
| Property |
Value |
| Nesting |
match/liveData/lineUp/preMatchPredictions/team/stat |
| Description |
Root element of the fields related to the statistics of the team. |
| Attribute |
Required |
Description |
Values |
target |
Yes |
The target score of the team |
String |
seasonAvg |
Yes |
The season average of the team. |
Integer |
type |
Yes |
The type of the statistics. |
String |
`<live
Predictions>`
| Property |
Value |
| Nesting |
match/liveData/lineUp/livePredictions |
| Description |
Root element of the fields related to live predictions. |
| Attribute |
Required |
Description |
Values |
| None |
No |
This element has no documented attributes. |
N/A |
`<live
Prediction>`
| Property |
Value |
| Nesting |
match/liveData/lineUp/livePredictions/livePrediction |
| Description |
Root element of the fields related to live prediction. |
| Note |
Only returned if data is available. If no data is currently available then the liveData element may be empty or some sub-elements will not be returned. However, when new information is available the feed will be updated - see our polling frequency recommendations for more information. |
| Attribute |
Required |
Description |
Values |
timeMin |
Yes |
The minute taken. |
Integer |
timeSec |
Yes |
The minute taken in seconds. |
Integer |
periodId |
Yes |
The current match period. |
Integer |
<players> under `<live
Prediction>`
| Property |
Value |
| Nesting |
match/liveData/lineUp/livePredictions/livePrediction/players |
| Description |
Root element of the fields related to the players. |
| Attribute |
Required |
Description |
Values |
| None |
No |
This element has no documented attributes. |
N/A |
<player> under `<live
Prediction>`
| Property |
Value |
| Nesting |
match/liveData/lineUp/livePredictions/livePrediction/players/player |
| Description |
Root element of the fields related to the player. |
| Attribute |
Required |
Description |
Values |
playerId |
Yes |
Unique ID (UUID) of the player |
String (Alphanumeric - UUID) |
firstName |
Yes |
First name of the player. |
String |
lastName |
Yes |
Last name of the player. |
String |
birthName |
No |
The birth name of the person/player |
String |
matchName |
No |
Match name of the player. This node may not be returned for every player; when present, it can be used instead of firstName and lastName. |
String |
shirtNumber |
Yes |
The shirt number of the player |
Integer |
position |
Yes |
The position of the player in the starting lineup - one of the following: Goalkeeper | Wing Back | Defender | Defensive Midfielder | Attacking Midfielder | Midfielder | Striker | Substitute |
String |
positionSide |
No |
Player position side on the pitch - one of the following: Left, Right, Centre, Left/Centre, Centre/Right |
String |
formationPlace |
Yes |
The formation place of the player. |
Integer |
<stat> under live-prediction <player>
| Property |
Value |
| Nesting |
match/liveData/lineUp/livePredictions/livePrediction/players/player/stat |
| Description |
Root element of the fields related to the player statistics. |
| Attribute |
Required |
Description |
Values |
type |
Yes |
The type of the statistics. |
String |
target |
Yes |
The target score of the player. |
String |
seasonAvg |
Yes |
The season average of the player. |
String |
<team> under `<live
Prediction>`
| Property |
Value |
| Nesting |
match/liveData/lineUp/livePredictions/livePrediction/team |
| Description |
Root element of the fields related to the team. |
| Attribute |
Required |
Description |
Values |
| None |
No |
This element has no documented attributes. |
N/A |
<stat> under live-prediction <team>
| Property |
Value |
| Nesting |
match/liveData/lineUp/livePredictions/livePrediction/team/stat |
| Description |
Root element of the fields related to the team statistics. |
| Attribute |
Required |
Description |
Values |
type |
Yes |
The type of the statistics |
String |
target |
Yes |
Target score of the team. |
String |
seasonAvg |
Yes |
Season average of the team. |
String |
`<match
DetailsExtra>`
| Property |
Value |
| Nesting |
match/liveData/matchDetailsExtra |
| Description |
Root element of the fields related to the match details. |
| Attribute |
Required |
Description |
Values |
| None |
No |
This element has no documented attributes. |
N/A |
<attendance>
| Property |
Value |
| Nesting |
match/liveData/matchDetailsExtra/attendance |
| Description |
Root element of the fields related to attendance. Value: Integer, the attendance of the match |
| Attribute |
Required |
Description |
Values |
| None |
No |
This element has no documented attributes. |
N/A |
`<match
Officials>`
| Property |
Value |
| Nesting |
match/liveData/matchDetailsExtra/matchOfficials |
| Description |
Root element of the fields related to the match officials. |
| Attribute |
Required |
Description |
Values |
| None |
No |
This element has no documented attributes. |
N/A |
`<match
Official>`
| Property |
Value |
| Nesting |
match/liveData/matchDetailsExtra/matchOfficials/matchOfficial |
| Description |
This element is optional (it may not always be returned in the feed - for example if the fixture is scheduled but is not playing or has not been played) then the liveData element may be empty or some sub-elements will not be returned. |
| Attribute |
Required |
Description |
Values |
id |
Yes |
Unique ID (UUID) of the match official. |
String (Alphanumeric - UUID) |
type |
Yes |
The type of match official - example: Main | Assistant referee 1 | Assistant referee 2 | Fourth official | Video Assistant Referee |Assistant VAR Official | |
String |
firstName |
Yes |
The first name of the match official. |
String |
lastName |
Yes |
The last name of the match official. |
String |