Docs
Coverage MatrixDocumentationRelease LogLog InContact Us

Extended FAQs

Frequently asked questions for Soccer Extended v4

Click on the categories below or browse questions on the right panel.

Categories

.


Coverage


What leagues or tournaments do you cover for soccer?

You can find all the leagues we cover, as well as a breakdown of data offered, via our Coverage Matrix.


Which competitions include extended coverage in Soccer v4?

  • FIFA World Cup
  • UEFA Champions League (Group Stage onwards)
  • EPL (England)
  • La Liga (Spain)
  • Bundesliga (Germany)
  • Serie A (Italy)
  • MLS (USA)
  • UEFA European Championship

When is coverage information added to the endpoints?

On the first day of the season.


How do I find out the coverage for a particular match?

Find the node for coverage within the Summaries, Lineups, and Timeline endpoints.

Coverage nodes have three types: season level, group level, and sport_event level.

  • The season level describes data coverage you can expect for matches involved in that given season.
  • The group level is similar because there exists competitions where coverage levels differ at different stages or in different groups - mostly cup competitions.
  • The sport_event level describes the data depth of a specific match within the group and season.

Note: There are occasions when the sport_event coverage can vary from the anticipated season coverage. This node exists to highlight that instance and assist in handling any discrepancies.

<coverage type="sport_event">
    <sport_event_properties lineups="true" venue="true" extended_player_stats="true" extended_team_stats="true" basic_play_by_play="true" basic_player_stats="true" basic_team_stats="true"/>
</coverage>

How is coverage for a particular match defined?

The coverage nodes contain classifications of data types which are expressed as Boolean values or denoted as live or post.

<coverage type="sport_event">
    <sport_event_properties lineups="false" venue="false" extended_player_stats="false" extended_team_stats="false" 
      ballspotting="false" commentary="false" fun_facts="false" goal_scorers="false" scores="post" game_clock="false" 
      deeper_play_by_play="false" deeper_player_stats="false" deeper_team_stats="false" basic_play_by_play="false" 
      basic_player_stats="false" basic_team_stats="false"/>
</coverage>

How do you define basic and deeper play-by-play in terms of coverage?

  • basic_play_by_play includes score_change, cards, and substitutions.
  • deeper_play_by_play includes all other event types.

How will a sport event behave when it is not covered with live scores?

When a sport_event is not covered live, the status and match_status will remain as not_started until results are entered post-match.

<sport_event_status status="not_started" match_status="not_started"/>

How are “Live” endpoints handled in the API?

Sport Events appear in the feed 10 minutes before the scheduled start time and are removed 10 minutes after the Sport Event is ended. Live endpoints include: Live Summaries, Live Timelines, and Live Timelines Delta.


How are friendlies handled in the Summary endpoints?

The Summary endpoints return all Friendlies played in the last 2 weeks and scheduled for the next 4 weeks.


What level of coverage is offered for friendly competitions?

Friendly competitions are handled uniquely, with coverage being set on a case-by-case basis. Selected matches will be scouted and will therefore have live coverage. We would suggest checking sport_event_properties within each sport_event to understand the coverage set for a particular match.


How do you define Team Statistics and Player Statistics as sport_event_properties in terms of coverage?

Team Statistics:

  • basic_team_stats: yellow_cards, yellow_red_cards, and red_cards.
  • deeper_team_stats: corner_kicks, shots_total, shots_on_target, shots_off_target, shots_blocked, ball_possession, free_kicks, offsides, goal_kicks, throw_ins, shots_saved, fouls, and injuries.

Player Statistics:

  • basic_player_stats: goals_scored, yellow_cards, yellow_red_cards, red_cards, own_goals, assists, substituted_in, and substituted_out.
  • deeper_player_stats: offsides, corner_kicks, shots_on_target, shots_off_target, and shots_blocked.
  • extended_player_stats: goals_by_head, goals_by_penalty, clearances, interceptions, chances_created, crosses_successful, crosses_total, passes_total, passes_successful, passes_unsuccessful, long_passes_total , long_passes_successful, long_passes_unsuccessful, tackles_total, tackles_successful, goals_conceded, shots_faced_saved, shots_faced_total, penalties_faced, penalties_saved, performance_score, dribbles_completed, loss_of_possession, diving_saves, fouls_committed, was_fouled, minutes_played, and defensive_blocks

Note

Extended player statistics are only available in the soccer extended package. If our coverage cannot guarantee extended stats, deeper stats or basic stats for a competition, they will not be available on match or season level.


Why does the coverage of a cup competition not match the data?

For cup competitions, coverage levels may vary from the early rounds to latter stages. Coverage properties are set at a competition level and display the best coverage we offer for a sport event in this competition.


Why is goals_scored the only statistic available in Season Leaders and Season Competitor Statistics for some competitions?

This is determined by the assists="false" property in the Season Info feed which indicates that stats below goals_scored are not guaranteed for the competition in question.

<sport_event_properties basic_play_by_play="false" basic_player_stats="false" basic_team_stats="false" 
extended_player_stats="false" extended_team_stats="false" deeper_play_by_play="false" deeper_team_stats="false" 
deeper_player_stats="false" lineups="false" goal_scorers="false" scores="live" assists="false"/>


Integration


How can I find the values for various enum data points within the API?

Many enum values are listed in the FAQ below. For the most up-to-date values, please see the Schema section of the OpenAPI specification here


What format are date fields presented in?

When we present date only values we present these in the ISO 8601 standard format.

ex: 2013-04-03

We use these for attributes that have date and no time (such as birthdate). For more information: https://en.wikipedia.org/wiki/ISO_8601


What format are the date/time fields presented in?

All of our Date/Time attributes are in UTC, presented in the ISO 8601 standard format.

ex: 2013-04-03T18:15:00+00:00

For more information: https://en.wikipedia.org/wiki/ISO_8601


How do I locate the TTL (Time to Live)/cache on an API endpoint?

The cache (in seconds) can be accessed in the returned header information on each RESTful API call, under cache-control.

ex. cache-control: max-age=1, public, s-maxage=1 or
cache-control: public, must-revalidate, max-age=120



Sport Event Statuses


What are the valid sport_event_statusstatus values?

  • not_started – The match is scheduled to be played
  • started - The match has begun
  • live – The match is currently in progress
  • postponed – The match has been postponed to a future date
  • suspended - The match has been suspended
  • match_about_to_start - The match is about to begin
  • delayed – The match has been temporarily delayed and will be continued. Typically appears prior to match start
  • interrupted - The match began, but coverage has stopped for a short time. Note that match scores may not be updated during this period, the last recorded match score will be displayed instead
  • cancelled – The match has been cancelled and will not be played
  • ended – The match is over
  • closed – The match results have been confirmed

What are the valid sport_event_statusmatch_status values?

  • not_started – The match is scheduled to be played
  • started - The match has begun
  • 1st_half – The match is in the first half
  • 2nd_half – The match is in the second half
  • overtime – The match is in overtime
  • 1st_extra – The match is in the first extra period
  • 2nd_extra – The match is in the second extra period
  • awaiting_penalties – Waiting for announcement of penalties
  • penalties – Penalties are ongoing
  • awaiting_extra_time – Waiting on referee to announce extra time
  • interrupted – The match has been interrupted
  • abandoned – The match has been abandoned
  • postponed – The match has been postponed to a future date
  • start_delayed – The match has been temporarily delayed and will be continued
  • cancelled – The match has been cancelled and will not be played
  • halftime – The match is in halftime
  • extra_time_halftime – The match is in extra time halftime
  • ended – The match has ended
  • aet – The match has ended after extra time
  • ap – The match has ended after penalties


Event & Period Types


What are the possible event types?

  • break_start
  • canceled_decision_to_var
  • corner_kick
  • decision_to_var
  • decision_to_var_over
  • free_kick
  • goal_kick
  • injury
  • injury_return
  • injury_time_shown
  • match_ended
  • match_started
  • offside
  • penalty_awarded
  • penalty_kick
  • penalty_missed
  • penalty_shootout
  • period_score
  • period_start
  • player_back_from_injury
  • possible_decision_to_var
  • red_card
  • save
  • score_change
  • shot_off_target
  • shot_on_target
  • shot_saved
  • substitution
  • throw_in
  • video_assistant_referee
  • video_assistant_referee_over
  • yellow_card
  • yellow_red_card

* Availability of Video Assistant Referee is subject to the VAR capabilities of the league.


What are the possible period_type values?

  • regular_period
  • overtime
  • penalties
  • pause
  • awaiting_extra
  • extra_time_halftime
  • interrupted
<event id="1721757571" type="match_started" time="2024-04-16T19:01:48+00:00"/>
  <event id="1721757569" type="period_start" time="2024-04-16T19:01:48+00:00" period="1" period_type="regular_period" period_name="regular_period"/>
    <event id="1721758935" type="free_kick" time="2024-04-16T19:03:37+00:00" match_time="2" match_clock="1:49" competitor="away" x="49" y="18" period="1" period_type="regular_period">
      <players>
      <player id="sr:player:138156" name="Can, Emre"/>
        </players>
<commentaries>
        <commentary text="Free kick Atletico."/>
          </commentaries>
</event>
<event id="1721759321" type="throw_in" time="2024-04-16T19:04:08+00:00" match_time="3" match_clock="2:20" competitor="home" x="26" y="0" period="1" period_type="regular_period">
  <commentaries>
  <commentary text="Slavko Vincic awards the home team a throw-in."/>
    </commentaries>
</event>
"timeline": [
  {
    "id": 1721757571,
    "type": "match_started",
    "time": "2024-04-16T19:01:48+00:00"
  },
  {
    "id": 1721757569,
    "type": "period_start",
    "time": "2024-04-16T19:01:48+00:00",
    "period": 1,
    "period_type": "regular_period",
    "period_name": "regular_period"
  },
  {
    "id": 1721758935,
    "type": "free_kick",
    "time": "2024-04-16T19:03:37+00:00",
    "match_time": 2,
    "match_clock": "1:49",
    "competitor": "away",
    "players": [
      {
        "id": "sr:player:138156",
        "name": "Can, Emre"
      }
    ],
    "x": 49,
    "y": 18,
    "period": 1,
    "period_type": "regular_period",
    "commentaries": [
      {
        "text": "Free kick Atletico."
      }
    ]
  },
  {
    "id": 1721759321,
    "type": "throw_in",
    "time": "2024-04-16T19:04:08+00:00",
    "match_time": 3,
    "match_clock": "2:20",
    "competitor": "home",
    "x": 26,
    "y": 0,
    "period": 1,
    "period_type": "regular_period",
    "commentaries": [
      {
        "text": "Slavko Vincic awards the home team a throw-in."
      }
    ]
  },
  {
    "id": 1721760077,
    "type": "shot_on_target",
    "time": "2024-04-16T19:05:15+00:00",
    "match_time": 4,
    "match_clock": "3:26",
    "competitor": "home",
    "players": [
      {
        "id": "sr:player:862396",
        "name": "Ryerson, Julian"
      }
    ],
    "x": 95,
    "y": 76,
    "period": 1,
    "period_type": "regular_period",
    "commentaries": [
      {
        "text": "Julian Ryerson of Dortmund smashes in a shot on target. The keeper saves, though."
      }
    ]
  },
  {
    "id": 1721760083,
    "type": "shot_saved",
    "time": "2024-04-16T19:05:15+00:00",
    "match_time": 4,
    "match_clock": "3:26",
    "competitor": "away",
    "period": 1,
    "period_type": "regular_period"
  },


Which Timeline event types can be associated with a player?

  • corner_kick
  • injury
  • injury_return
  • offside
  • penalty_awarded
  • penalty_kick
  • penalty_missed
  • penalty_shootout
  • player_back_from_injury
  • red_card
  • score_change
  • shot_off_target
  • shot_on_target
  • substitution
  • yellow_card
  • yellow_red_card
<event id="1721787551" type="yellow_card" time="2024-04-16T19:47:26+00:00" match_time="45" match_clock="45:00" 
       competitor="away" stoppage_time="1" stoppage_time_clock="0:37" period="1" period_type="regular_period">
  <players>
    <player id="sr:player:353130" name="Hermoso, Mario"/>
  </players>
  <commentaries>
    <commentary text="Mario Hermoso (Atletico) has received a yellow card from Slavko Vincic."/>
  </commentaries>
</event>
{
  "id": 1721787305,
  "type": "injury_time_shown",
  "time": "2024-04-16T19:46:54+00:00",
  "match_time": 45,
  "match_clock": "45:00",
  "stoppage_time": 1,
  "stoppage_time_clock": "0:05",
  "period": 1,
  "period_type": "regular_period",
  "injury_time_announced": 2
},
{
  "id": 1721787551,
  "type": "yellow_card",
  "time": "2024-04-16T19:47:26+00:00",
  "match_time": 45,
  "match_clock": "45:00",
  "competitor": "away",
  "players": [
    {
      "id": "sr:player:353130",
      "name": "Hermoso, Mario"
    }
  ],
  "stoppage_time": 1,
  "stoppage_time_clock": "0:37",
  "period": 1,
  "period_type": "regular_period",
  "commentaries": [
    {
      "text": "Mario Hermoso (Atletico) has received a yellow card from Slavko Vincic."
    }
  ]
},

How does the possible_goal event type work?

This event will occur immediately if one team scores a goal or if they are in a very clear scoring opportunity (1on1 with the goalkeeper, clear shot at an empty net, etc).



Pagination


Why can't I find a particular match in the Daily Summaries, Season Summaries or Sport Events Updated endpoints?

These endpoints support pagination and return 200 entries by default. To return more matches, an additional query string parameter must be used after your API key. For example, appending &start=200 will return the next 200 entries per page, &start=400 will return the next 200, and so on.



Probabilities


What is the Probabilities package?

The Probabilities package is an add-on set of feeds that are an extension of the Season Probabilities feed in the main package (which already provides pre-match probabilities for the sport event winner market).

The main features of the Probabilities extension are: Live Probabilities that update throughout game, Season Outright Probabilities for the Tournament Winner market, and Live Probabilities Coverage indicator for the next 24 hours.


Is there Live Probability coverage for every game you cover in the Soccer API?

Live Probability coverage depends on a number of factors and we can’t guarantee that every game will be covered for any given league. However, Sportradar covers tens of thousands of sport events across hundreds of leagues.

For individual competition coverage, contact [email protected]


What are markets and what are the different markets?

Markets is something you can bet on that we provide probabilities for. Over time we intend to provide more and more markets in the API. Currently the only market we provide is 3-way (will the home team win? Or the away team? Or will it be a draw?).


What are the valid outcomes for probabilities?

  • home_team_winner
  • away_team_winner
  • draw


Lineups / Rosters


When does the Lineups Availability update?

The lineups_availability data is updated 30 days before the sport event is scheduled to begin.


When will lineups confirmed show as true?

Lineups information displays as it is entered. Once complete, we confirm lineups and the lineups_confirmed attribute updates to true. This only appears for matches with lineups_availability="pre".


What are the possible values for sport_event_propertieslineups_availability in the Summary and Timeline endpoints?

  • pre
  • post

What are the valid lineup types (player position) values?

  • goalkeeper
  • defender
  • midfielder
  • forward

What are the valid lineups descriptions (player tactical position) values?

  • goalkeeper
  • right back
  • central defender
  • left back
  • right winger
  • central midfielder
  • left winger
  • striker

How is the order value in the Lineups endpoint organized?

Order number 1 is always the goalie (star marking) and formations as well as numbering should start with the goalkeeper.

In the example diagram the formation 4-2-3-1 is used.

4 is the number of players in the line in front of the goalkeeper, then comes the line with 2 players and so on.

Numbering in every line starts at the right-hand side of the goalkeeper – this causes the numbering to be mirrored for the home and away team.


Do you have player transfer data available?

We use roles from player profiles to create a Season Transfers endpoint. This displays any player recently assigned to a team in a season covered with player_transfer_history="true".

Transfers can include youth players recently added to a matchday squad. If there is no previous club within 10 days, then this will be understood to be a free agent and therefore no from_competitor will display.

For transfer_date, we use multiple sources and cannot guarantee the accuracy.


What are the possible reasons for a player to appear in the Missing Players endpoint?

  • injured
  • ill
  • other
  • suspension


Ball Location


How does the ball location attribute work?

Our scouts mark down the x (lateral) and y (longitudinal) coordinates as observed on the pitch. The data can come in sporadically as events on the field play out, but new ball_location data is potentially available every 1 sec. This is only available for matches with ballspotting="true".

The element ball_locations stores the last four known ball locations, after which the data is not available unless it corresponds with another event in the timeline such as throw_in or shot_on_goal. The ball_location order illustrates the most recent location as 4 and the oldest location as 1.


What is the scale of the X Y coordinates?

The pitch we use is 100 by 100. Here is a layout of the pitch:

X = Horizontal position on the pitch. X is a number between 0 and 100. The reference point 0 is at the home team’s goal.

Y = Vertical position on the pitch. Y is a number between 0 and 100. The reference point 0 is on the top of the pitch where the home team’s goal is on the left hand side.


What are the possible values for match situation status (match_situation.status)?

Listed below are the values and definitions for match_situation - status. These can be leveraged to determine the status of a ball in play.

  • safe - Team in possession of the ball is inside their defensive half
  • dangerous - Team in possession is in the opponent’s half but not near the penalty box
  • attack - Team in possession is in the opponent’s half, near the penalty box


Past Season Data


Why does the coverage of past seasons not match the data?

Coverage properties are set at a competition level and only reflect the current or last season of that competition. Previous seasons may have greater or lesser coverage.


How long is full match data available in the API?

Match data is archived after one year and you will only be able to service basic score information from the API.

A historical statistics API for Soccer is on the roadmap, but no ETA is available at this time.


How are seasonal competitor statistics handled?

Statistics from any qualification rounds will not be displayed. The feed will only display data from the main competition.



Standings / Tournaments


What are the valid standings types in the Standings endpoint?

  • total
  • home
  • away
  • first_half_total
  • first_half_home
  • first_half_away
  • second_half_total
  • second_half_home
  • second_half_away

What are the possible values for stagephase?

  • 1st_part_of_season_1st_leg
  • 2nd_part_of_season_2nd_leg
  • 3rd_round
  • champions_round
  • conference
  • division
  • final_eight
  • final_four
  • final_phase
  • final_round
  • final_stage
  • grand_final
  • grand_finals
  • group_phase_1
  • group_phase_2
  • knockout_stage
  • main_round_1
  • main_round_2
  • none
  • placement_matches
  • placement_matches_13_to_16
  • placement_matches_5_to_8
  • placement_matches_9_to_12
  • placement_matches_9_to_16
  • playoffs
  • playout
  • pre-season
  • preliminary_round
  • president_cup
  • promotion_playoffs
  • promotion_round
  • qualification
  • qualification_playoffs
  • qualification_to_allsvenskan
  • regular season
  • relegation_playoffs
  • relegation_promotion
  • relegation_promotion_round
  • relegation_round
  • stage_1
  • stage_1 no_stats
  • stage_2
  • stage_2 no_stats
  • stage_3
  • uefa_europa_league_playoffs

What are the possible values for cup_roundstate in the Season Links endpoint?

Listed below are the values and definitions for cup_round - state. These can be leveraged to determine the status of a cup round.

  • empty - A matchup has been created but neither the match details nor the competitors are known.
  • unseeded_fixture - Match details are known but competitors are unknown.
  • partial_seeded - One competitor is known.
  • partial_seeded_fixture - Match details and one competitor are known.
  • seeded - Both competitors are known.
  • seeded_fixture - Match details and both competitors are known.
  • unstarted - Match(es) have been added.
  • on_going - The first match has started.
  • decided - The last match has ended.
  • winner - The winner is known.
  • cancelled – The matchup has been cancelled.

Are Live Standings available?

Live standings are delivered by default in the Season Standings endpoint. Live standings use an automatic set of tiebreaker rules that are calculated based on the scores while matches are in progress.

We recommend adding the parameter live=false to a Season Standings request to retrieve standings when matches are not in progress. This will consider any additional tie-break criteria that a competition may use if competitors are level.


Why does the change attribute not update for live standings?

The change attribute is only available post-match and will display movement from the previous gameweek/round.

<standing rank="5" played="16" win="8" loss="4" draw="4" goals_for="23" goals_against="24" goals_diff="-1" 
points="28" current_outcome="Promotion Playoffs" change="1" points_per_game="1.75">
    <competitor id="sr:competitor:21" name="Preston North End" country="England" country_code="ENG" abbreviation="PNE" gender="male" form="DDLWW"/>
</standing>
<standing rank="6" played="16" win="8" loss="6" draw="2" goals_for="27" goals_against="17" goals_diff="10" 
points="26" current_outcome="Promotion Playoffs" change="2" points_per_game="1.63">
    <competitor id="sr:competitor:41" name="Sunderland AFC" country="England" country_code="ENG" abbreviation="SUN" gender="male" form="LLWDW"/>
</standing>
<standing rank="7" played="16" win="7" loss="4" draw="5" goals_for="26" goals_against="17" goals_diff="9" 
points="26" change="-2" points_per_game="1.63">
    <competitor id="sr:competitor:8" name="West Bromwich Albion" country="England" country_code="ENG" abbreviation="WBA" gender="male" form="DWWWL"/>
</standing>

How are group IDs delivered in the stage array with the various types?

With the type of "league" they will have a sr:league prefix.
With the type of "cup" they will have a sr:cup prefix.


What are the valid current outcome values?

  • AFC Champions League
  • AFC Cup
  • CAF Confederation Cup
  • Champions League
  • Champions League Qualification
  • Champions Round
  • Championship Round
  • Club Championship
  • Conference League Qualification
  • Copa Libertadores
  • Copa Libertadores Qualification
  • Copa Sudamericana
  • Cup Winners
  • Eliminated
  • European Cup
  • Final Four
  • Final Round
  • Finals
  • Group Matches
  • International Competition
  • Main Round
  • Next Group Phase
  • Placement Matches
  • Playoffs
  • Preliminary Round
  • Promotion
  • Promotion Playoff
  • Promotion Playoffs
  • Promotion Round
  • Qualification Playoffs
  • Qualified
  • Qualifying Round
  • Relegation
  • Relegation Playoff
  • Relegation Playoffs
  • Relegation Round
  • Semifinal
  • Top Six
  • UEFA Conference League
  • UEFA Conference League Qualification
  • UEFA Cup
  • UEFA Cup Qualification
  • UEFA Europa League
  • UEFA Europa League Qualification
  • UEFA Intertoto Cup


Video Assistant Referee (VAR)


Do you cover VAR events?

VAR events are supported with events video_assistant_referee & video_assistant_referee_over. However, we cannot guarantee the accuracy or frequency of these events.


What are the possible values for video assistant referee?

  • goal
  • penalty
  • red_card
  • no_red_card
  • no_penalty
  • no_goal

What are the possible values for video assistant referee over?

  • call_stands
  • call_overturned

What are the possible values for referee_assistant type?

  • first_assistant_referee
  • second_assistant_referee
  • fourth_official
  • video_assistant_referee
  • first_additional_assistant
  • second_additional_assistant
  • third_additional_assistant


Extended Statistics


How do you define the key data points?

Data PointsType of Data PointDefinition
Goalregular

A goal is assigned to a player of the attacking team if his shot taken by foot, head or any other part of the body leads to a score. All attempts are counted.

Uncontrolled deflections resulting in a goal will be attributed to the player who kicked the ball, not the player who deflects the ball.

own goal

When a defender kicks or heads the ball into the defender’s goal with the intent of making a pass to a teammate or of clearing the ball and it is obvious that no other player of the attacking team tried a shot on target, a goal is recorded as an "own goal". An "own goal" counts towards the offensive team's season statistics. No assist shall be given to the attacking team.

If an attacking player shots on goal and the defender deflects the ball into the net, in a controlled action it will be deemed an own goal.

If two players of the defending team touched the ball, the player who last touched it is the own goal scorer.

Assist  

in general

An assist considered to be a contribution by a player which directly helps a teammate to score a goal. In order to be considered for an assist a player needs to have given the last successful pass. However, the last successful pass does not necessarily automatically constitute an assist.
counted
  • Includes corners and throw ins

  • A cross by a team member is converted into a goal

  • Passes/crosses, which are slightly deflected and then lead to a team member score a goal 

not counted
  • Where goals resulting from penalties are concerned, the player who is fouled in the area receives no assist point

  • shot hits the post/bar and then leads to a goal by a team member

  • The goal scorer made considerable self-effort in order to score

Throw-In If the ball crosses any of the side lines by its diameter, the game will continue with a throw-in.
Free kicksteam statisticsIn accordance with the rules, a free kick stat counted for the team who executes a free kick. Direct or indirect free kicks are all counted as free kicks.
Goal kickteam statisticsTotal number of kicks awarded to the team as a result of the ball traveling out of bounds over the goal line of the defending team
Throw insteam statisticsTotal number of thrown in events for a team
Offsidesteam statisticsTotal number of offside infringements awarded against a team.
Foulsteam statisticsTotal number of fouls awarded against a team (including those which draw cards)
Corner Kicksteam statisticsTotal number of corner kicks taken by a team.
Shots Savedteam statisticsTotal number of goal keeper saves attributed to a team.
Ball Possessionteam statisticsBall possession is the amount of time a team has possession of the ball. It is calculated in percentage, and the total amount of time the match is being played is considered 100%.
ShotsOn TargetThis is an intentional shot on target by a player, trying to score a goal by foot, head or any other part of the body. The result of a shot on goal is either a goalkeeper save, a clearance by any player of the defending team, a blocked shot by a player of the attacking team (which happens very rarely) or a goal. A shot on goal is slightly deflected by a player of the attacking team into the net, a goal will be awarded to the player who initially shot the ball. The corresponding team stat for this is “shots_on_target”.
Off TargetA shot which was aimed towards the goal but missed. These shots do not necessarily have to cross the goal line. A ball which hits the post or the bar without touching anyone and is still in play, is considered a shot off goal. The corresponding team statistic for this data point is “shots_off_target”.
BlockedA shot which was directed on target but was blocked by a player of the opposing team.
GoalsBy HeadIf a player of the attacking team scores a goal from a shot taken by their head.
By PenaltyIf a player of the attacking team is fouled in the penalty area, a penalty will be awarded by the referee and marked for the statistics. If the attacking team scores, a goal will be awarded. These goals count as penalties and are denoted as “goals_by_penalty”. Any goals or saves in penalty shootouts are not counted for the statistics.
ClearancesA clearance is a defensive action where a player clears the ball away from his own goal area with no intended recipient of the ball.
Interceptions

A player from the defensive team intentionally intercepts a pass by moving into the line of the intended pass.

A change of possession must occur to be considered a valid interception.

Chances CreatedA chance created as a result of a pass that directly led to a shot. This will count as a chance created regardless of the result of the shot.
CrossesGeneralIn contrast to a shot on goal a cross is not targeting the goal. A cross is a pass kicked low, medium high or high with the foot, from the area close to both side lines, which enters the penalty area. It can also be given from corners and free kicks. Cross lengths correspond with pass lengths in that they are subjective
SuccessfulA pass/cross is successful when the ball is received by a teammate.
Total

Including unsuccessful attempts:

The pass/cross is blocked (results in a throw-in, corner or the opposing team possession).

The ball is deflected back to the passing player, then the pass/cross is unsuccessful.

PassesGeneralAn intentional movement of the ball from a player to his teammate. A pass has to have a clear intention of one player to find a teammate. A pass can be made with any part of the body if the pass is intended as long as it is legal according to rules of the game. Pass length determination is approximate in nature and varies according to the pitch size.
SuccessfulPass is successful when the ball is received by a teammate.
Unsuccessful

Pass is blocked (resulted in a throw-in, corner or the opposing team possession).

The ball is deflected back to or away from to the passing player by an opposition player.

TotalAll passes attempted. Successful and unsuccessful passes combined.
Long PassesGeneralA pass that is attempted over a long distance. This can either be directly to a player or into space for a player to run on to.
SuccessfulPass is successful when the ball is received by a teammate.
Unsuccessful

Pass is blocked (resulted in a throw-in, corner or the opposing team possession).

The ball is deflected back to or away from to the passing player by an opposition player.

TotalAll long passes attempted. Successful and unsuccessful passes combined.
TacklesGeneralDefensive or offensive tactic where a player tries to make contact with the ball by a ground challenge. Tackling is an intention to stop an attack or make the opposition lose possession.
Successful

The ball is taken by the challenger.

The ball is collected by a teammate after a tackle.

The defender tackles a player without gaining possession but stopping/interfering with an attack.

Goals ConcededThe amount of goals conceded by the team when a player was on the pitch.
Shots FacedAn action by the goalkeeper which prevents a goal event. Generally this means saving a shot on goal or a deflected shot by either the attacking or the defending team. Goalkeeper save can also be set without a shot on goal occurring, in case the goalkeeper punches away or catches a cross which otherwise would have gone to a striker and therefore caused a dangerous threat on goal. Crosses from the flanks where the goalkeeper catches the ball comfortably are not considered saves. In the case of a deemed save, Shots_faced_saved and shots_faced_total will be incremented.
Dribbles CompletedAn action to beat an opponent where the player with the ball advances into opposition territory.
Loss of possessionA loss of possession is where the possession switches to the opposition team. This can be as a result of a failed dribble, a tackle received or loss of ball control.
Diving SavesA more advanced save that requires skill from the goalkeeper to dive.
Fouls Committed / Was FouledIf a player uses means which are regulated by the Laws of the game, a foul will be called by the referee. The referee has to recognize this action as a foul and blow the whistle. Game is interrupted, and for the team which committed the foul this will be added to the number of fouls committed. Play will continue with a free kick or a penalty. A player who has the above inflicted upon him will received a was fouled increment whereas the player who committed the foul will have the fouls_committed stat incremented.
Minutes PlayedThe total number of minutes in which a player has appeared on the pitch during regular time or overtime. This is capped at 90mins (or 120mins in the case of extra time). The value doesn’t take into account injury time, however, if a player is substituted in injury time, any minutes accumulated in that time will be counted. If a player substituted in within 0-59 secs of the final whistle, that player will be attributed 1 minute of playing time. Red cards are treated like substitution_out wherein the calculation is: minutes_played = game time (minute) of the substitution_out minus the substitution_in (where substitution_in could be “0” for starting lineup players).
Defensive BlocksA player interrupting the kick trajectory.

Why are some extended statistics values different from previous seasons?

We are always looking at ways to improve our data and as such we are collecting data for even more events per match. Beginning with 23/24 MLS season you may see an increase in some values for extended statistics.



Red / Yellow Cards


What are the possible values for eventcard_description in the Timeline feeds?

  • pre_match
  • half_time
  • post_match
  • player_on_bench
  • first_half
  • second_half
  • during_penalty_shootout


Leaders


What are the possible values for listtype in the Season Leaders endpoint?

  • points
  • goals
  • assists
  • red_cards
  • yellow_cards
  • yellow_red_cards
  • own_goals
  • shots_on_target
  • shots_off_target
  • goals_by_head
  • goals_by_penalty
  • clearances
  • interceptions
  • chances_created
  • crosses_successful
  • passes_successful
  • long_passes_successful
  • tackles_successful
  • clean_sheets
  • penalties_saved
  • dribbles_completed
  • loss_of_possession
  • minutes_played

Note: Not all values may be available for each season, based on the coverage available for that season.



Weather


What are the possible weather conditions?

  • indoor
  • good
  • medium
  • bad
  • extreme

What are the possible pitch values?

  • good
  • medium
  • bad


Simulations


Are simulations available for Soccer v4?

Simulations for Soccer v4 are not currently available.



Replay Matches


How are replay cup matches handled?

Within the Summary, Timeline, or Lineups endpoints you can locate the round data for a given match. In that round data you can find the number of matches in the cup round (cup_round_number_of_sport_events) and the number of the given match in the cup round (cup_round_sport_event_number).

The values for cup_round_sport_event_number are detailed below:

  • 1 = Replay
  • 2 = 1st Replay
  • 3 = 2nd Replay


TV Coverage


Which regions are covered with TV channel data?

We offer network TV data for the United States.

This will be available for:

  • MLS
  • World Cup
  • EPL
  • UEFA Champions League
  • Bundesliga
  • Liga MX
  • Gold Cup.


Sport Events Updated


What prompts a match to appear in Sport Events Updated?

Changes to score, match status, or schedule in last 24 hours cause a match to display in this endpoint.



Commentary


Why don’t I see commentary in Sport Event Timeline when the coverage has commentary="true" under sport_event_property?

Commentary is only available for a fixed amount of time (14 days typically). The attribute, which denotes that commentary is or was available, remains even after the commentary is removed.


When are fun facts added to the Sport Event Fun Facts endpoint?

Fun facts appear in Sport Event Fun Facts 7 days before a match and are available for a fixed amount of time (14 days typically).



Minutes Played


How is the minutes_played statistic calculated?

Minutes played is calculated based on 90 minutes in the match. We do not include stoppage_time.




🙋

More questions?

Reach out to [email protected] for further assistance.