Skip to main content
GET
/
stats
Competition Statistics
curl --request GET \
  --url https://v1.basketball.sportsapipro.com/stats \
  --header 'x-api-key: <api-key>'

Overview

The Competition Statistics endpoint provides comprehensive statistical data for a competition including:
  • Athlete Statistics: Goals, assists, expected goals, ratings, cards, clean sheets, saves, and more
  • Team Statistics: Goals per game, possession, corners, clean sheets, and disciplinary records
All statistics are organized by category with leaderboard-style rankings.

Parameters

competitions
string
required
Competition ID to retrieve statistics for (e.g., 7685 for UEFA Conference League).
competitors
string
Optional filter by team ID to get statistics for a specific team’s players.
phaseNum
integer
default:"-1"
Competition phase number. Use -1 for overall/total statistics.
withSeasons
boolean
default:"true"
Include season and stage information in the response.
lastUpdateId
integer
For incremental updates. Pass the lastUpdateId from a previous response to get only changed data.
Parameters like appTypeId, langId, timezoneName, and userCountryId are automatically resolved by the upstream service. You can override timezoneName with a specific timezone (e.g., America/New_York).

Request

curl -X GET "https://v1.football.sportsapipro.com/stats?competitions=7685&withSeasons=true" \
  -H "x-api-key: YOUR_API_KEY"

Response

{
  "lastUpdateId": 5494811901,
  "requestedUpdateId": -1,
  "ttl": 60,
  "stats": {
    "athletesStats": [
      {
        "id": 1,
        "name": "Goals",
        "competitionId": 7685,
        "rows": [
          {
            "position": 0,
            "secondaryStatName": "Penalties Scored: 0",
            "entity": {
              "id": 83722,
              "name": "Franko Kovačević",
              "shortName": "F. Kovačević",
              "nameForURL": "franko-kovacevic",
              "countryId": 38,
              "competitorId": 2345,
              "positionName": "Centre Forward",
              "positionShortName": "Centre Forward",
              "imageVersion": 7
            },
            "stats": [
              {
                "typeId": 1,
                "value": "5"
              },
              {
                "typeId": 10,
                "value": "0"
              }
            ]
          }
        ],
        "statsTypes": [
          {
            "typeId": 1,
            "name": "Goals"
          },
          {
            "typeId": 10,
            "name": "Goal In Penalties"
          }
        ]
      }
    ],
    "competitorsStats": [
      {
        "id": 1,
        "name": "Goals Per Game",
        "competitionId": 7685,
        "averageStat": {
          "text": "Average Per Team",
          "value": "1.30"
        },
        "rows": [
          {
            "position": 1,
            "secondaryStatName": "Total Goals: 11",
            "entity": {
              "id": 1024,
              "name": "AEK Athens",
              "countryId": 13,
              "countryName": "Greece",
              "competitorId": 1024
            },
            "stats": [
              {
                "typeId": 3,
                "value": "2.2"
              },
              {
                "typeId": 2,
                "value": "11"
              }
            ]
          }
        ],
        "statsTypes": [
          {
            "typeId": 3,
            "name": "Goals Per Game"
          },
          {
            "typeId": 2,
            "name": "Total Goals"
          }
        ]
      }
    ]
  },
  "sports": [...],
  "countries": [...],
  "competitions": [...]
}

Response Fields

Root Level

FieldTypeDescription
lastUpdateIdintegerVersion ID for incremental updates
requestedUpdateIdintegerRequested update ID (-1 for latest)
ttlintegerCache TTL in seconds (typically 60)
statsobjectContainer for all statistics
sportsarrayRelated sports metadata
countriesarrayRelated countries metadata
competitionsarrayCompetition details with seasons

Stats Object

FieldTypeDescription
athletesStatsarrayPlayer statistics categories
competitorsStatsarrayTeam statistics categories

Athlete Stats Category

FieldTypeDescription
idintegerCategory identifier
namestringCategory name (e.g., “Goals”, “Assists”)
competitionIdintegerAssociated competition ID
rowsarrayLeaderboard entries for this category
statsTypesarrayStat type definitions for the columns

Athlete Stats Row

FieldTypeDescription
positionintegerRank position (0-indexed)
secondaryStatNamestringAdditional context stat
entityobjectPlayer information
statsarrayStatistical values for this player

Player Entity

FieldTypeDescription
idintegerPlayer unique identifier
namestringFull player name
shortNamestringAbbreviated name
nameForURLstringURL-safe name slug
countryIdintegerPlayer nationality country ID
competitorIdintegerCurrent team ID
positionNamestringPlaying position
positionShortNamestringAbbreviated position
imageVersionintegerPlayer image version

Competitor Stats Category

FieldTypeDescription
idintegerCategory identifier
namestringCategory name (e.g., “Goals Per Game”)
competitionIdintegerAssociated competition ID
averageStatobjectLeague average for this stat
rowsarrayLeaderboard entries for teams
statsTypesarrayStat type definitions

Team Entity

FieldTypeDescription
idintegerTeam unique identifier
namestringTeam name
shortNamestringAbbreviated team name
countryIdintegerTeam country ID
countryNamestringTeam country name
competitorIdintegerCompetitor ID

Available Athlete Statistics

IDCategory NameDescription
1GoalsTop scorers with penalty breakdown
2Expected GoalsxG rankings
3AssistsAssist leaders with xA
4Expected AssistsxA rankings
5Goals and AssistsCombined G+A
6Expected Goals + AssistsCombined xG+xA
7365 RatingsPlayer ratings
8Penalties ScoredPenalty conversion
9Tackles Won Per GameDefensive tackles
10Interceptions Per GameInterception leaders
11Red CardsRed card count
12Yellow CardsYellow card count
13Clean SheetsGoalkeeper clean sheets
14Goals Conceded Per GameGoalkeeper stats
15Saves Per GameGoalkeeper saves
16Penalties SavedPenalty saves

Available Team Statistics

IDCategory NameDescription
1Goals Per GameScoring rate
2Conceded Per GameDefensive record
3Clean SheetsMatches without conceding
4PossessionAverage possession %
5Corners Per GameCorner frequency
6Penalties ScoredTeam penalty record
7Red CardsTeam red cards
8Yellow CardsTeam yellow cards

Stat Type IDs

Type IDNameDescription
1GoalsTotal goals scored
2AssistsTotal assists
3Yellow CardsYellow card count
4Red CardsRed card count
10Goal In PenaltiesPenalties scored
12Clean SheetsMatches without conceding
14Penalties SavedPenalties stopped
36RatingPlayer rating
38TacklesTackles won
42Expected GoalsxG value
44Expected AssistsxA value
61Goals And AssistsCombined G+A
63Interceptions Per GameInterceptions
66Goals Conceded Per GameGoals against
67Saves Per GameGoalkeeper saves
68Expected Goals And AssistsCombined xG+xA

Notes

  • Statistics are updated periodically; use lastUpdateId for efficient polling
  • The ttl value indicates recommended cache duration (60 seconds)
  • Position values in rows may be 0-indexed or 1-indexed depending on the category
  • Player images can be fetched using: /images/athletes/{athleteId}
  • Team images can be fetched using: /images/competitors/{competitorId}
When using the competitors parameter to fetch team-specific data, the competitors array in the response may include additional related teams. Always filter by the specific ID you need:
const targetCompetitor = data.competitors?.find(c => c.id === parseInt(competitorId));

Authorizations

x-api-key
string
header
required

Your SportsAPI Pro API key

Query Parameters

competitions
integer
required

Competition ID (e.g., 132 for NBA)

Example:

132

competitors
integer

Filter by team ID

withSeasons
boolean
default:false

Include season information

Response

200

Statistics retrieved successfully