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

Overview

The Game Statistics endpoint provides comprehensive in-game statistics for a specific match, including detailed player and team performance metrics organized by categories like Goals, Passing, Duels, and Defending.
This endpoint returns live statistics during matches and final statistics after the game ends.

Parameters

gameId
integer
required
The unique identifier of the game to retrieve statistics for
filterId
integer
Filter statistics by period. Use -1 for full match stats, 6 for 1st half, 8 for 2nd half
onlyIsMajor
boolean
default:"false"
Only return major statistics (Possession, Expected Goals, Total Shots, Shots On Target, etc.)
langId
string
default:"1"
Language ID for localized content. Defaults to English (1)
timezoneName
string
Timezone for date/time values (auto-resolved, or specify e.g., America/New_York).
All startTime fields use ISO 8601 format with a dynamic timezone offset based on the resolved or specified timezone.
userCountryId
string
default:"65"
User’s country ID for region-specific data

Request Examples

curl -X GET "https://v1.football.sportsapipro.com/games/stats?gameId=4452706" \
  -H "x-api-key: YOUR_API_KEY"

Response Example

{
  "statisticsFilters": [
    {
      "filterId": -1,
      "name": "Match"
    }
  ],
  "statistics": [
    {
      "id": 24,
      "name": "Big Chances Created",
      "competitorId": 5102,
      "value": "0",
      "valuePercentage": 0.0,
      "order": 4,
      "isTop": true
    },
    {
      "id": 60,
      "name": "Was Dribbled Past",
      "competitorId": 5102,
      "categoryId": 49,
      "categoryName": "Duels",
      "value": "0",
      "valuePercentage": 0.0,
      "categoryOrder": 4,
      "order": 75
    }
  ],
  "lastUpdateId": 5500217754,
  "requestedUpdateId": -1,
  "ttl": 10,
  "sports": [
    {
      "id": 1,
      "name": "Football",
      "nameForURL": "football",
      "drawSupport": true,
      "imageVersion": 1
    }
  ],
  "countries": [
    {
      "id": 133,
      "name": "Senegal",
      "nameForURL": "senegal",
      "sportTypes": [1],
      "imageVersion": 1,
      "isInternational": false
    }
  ],
  "competitions": [
    {
      "id": 167,
      "countryId": 44,
      "sportId": 1,
      "name": "Africa Cup of Nations",
      "shortName": "AFCON",
      "hasStandings": true,
      "hasStats": true,
      "nameForURL": "africa-cup-of-nations",
      "popularityRank": 20842629,
      "imageVersion": 11
    }
  ],
  "competitors": [
    {
      "id": 5102,
      "countryId": 133,
      "sportId": 1,
      "name": "Senegal",
      "symbolicName": "SEN",
      "nameForURL": "senegal",
      "type": 2,
      "imageVersion": 1
    }
  ],
  "games": [
    {
      "id": 4365022,
      "sportId": 1,
      "competitionId": 167,
      "seasonNum": 38,
      "stageNum": 3,
      "groupNum": 4,
      "roundNum": 1,
      "roundName": "Round",
      "groupName": "Group D",
      "competitionDisplayName": "Africa Cup of Nations - Group D",
      "startTime": "2025-12-23T23:00:00+00:00",
      "statusGroup": 2,
      "statusText": "Scheduled",
      "homeCompetitor": {
        "id": 5102,
        "name": "Senegal",
        "symbolicName": "SEN",
        "score": -1.0,
        "imageVersion": 1,
        "rankings": [
          { "name": "FIFA", "position": 19 }
        ]
      },
      "awayCompetitor": {
        "id": 5406,
        "name": "Botswana",
        "symbolicName": "BOT",
        "score": -1.0,
        "imageVersion": 1,
        "rankings": [
          { "name": "FIFA", "position": 138 }
        ]
      },
      "venue": {
        "id": 11391,
        "name": "Grand Stade de Tanger"
      }
    }
  ]
}

Response Fields

Root Object

FieldTypeDescription
statisticsFiltersarrayAvailable filters for statistics (e.g., Match, 1st Half, 2nd Half)
statisticsarrayArray of statistic objects for both teams
lastUpdateIdintegerTimestamp of the last data update
requestedUpdateIdintegerRequested update ID (-1 if not specified)
ttlintegerTime-to-live in seconds for caching
sportsarraySport information
countriesarrayCountry information for teams involved
competitionsarrayCompetition details
competitorsarrayTeam/competitor information
gamesarrayGame details with home/away teams and venue

Statistics Object

FieldTypeDescription
idintegerUnique statistic identifier
namestringName of the statistic (e.g., “Big Chances Created”)
competitorIdintegerID of the team this stat belongs to
valuestringThe statistic value
valuePercentagenumberPercentage representation (0-100)
categoryIdintegerCategory ID (optional, for grouped stats)
categoryNamestringCategory name (e.g., “Duels”, “Passing”)
categoryOrderintegerOrder within the category
orderintegerDisplay order
isTopbooleanWhether this is a top-level highlighted statistic

Statistics Filter Object

FieldTypeDescription
filterIdintegerFilter ID (-1 for full match)
namestringFilter name (e.g., “Match”, “1st Half”)

Common Statistic Types

IDNameDescription
1GoalsTotal goals scored
2AssistsTotal assists
3ShotsTotal shots taken
4Shots on TargetShots on goal
24Big Chances CreatedKey opportunities created
49Duels WonHead-to-head challenges won
60Was Dribbled PastTimes beaten by dribbling

Caching

  • TTL: 10 seconds (live matches), 600 seconds (finished matches)
  • Data is updated frequently during live matches

Error Responses

StatusDescription
400Bad Request - gameId is required
404Game not found
500Server error fetching statistics

Authorizations

x-api-key
string
header
required

Your SportsAPI Pro API key

Query Parameters

gameId
integer
required

Game ID

Example:

12345

Response

200

Game statistics retrieved successfully