College Basketball DataCollege Basketball Data
  • CollegeBasketballData.com
  • Get API Key
  • Legacy Swagger UI
  • Getting Started
  • Official libraries
  • API Reference
Helpful links
  • CBBD
  • Get API key
  • Access tiers
Official libraries
  • Python
  • TypeScript
  • R
  • API source
Other resources
  • Rad Sports Analytics
  • Football
  • CBB Starter Pack

A Rad Sports Analytics platform.

xdiscordgithub
Information
Games
    /gamesget/games/mediaget/games/teamsget/games/playersget/scoreboardget
Plays
    /substitutions/game/{gameId}get/substitutions/player/{playerId}get/substitutions/teamget/plays/game/{gameId}get/plays/player/{playerId}get/plays/teamget/plays/dateget/plays/tournamentget/plays/typesget
Teams
    /teamsget/teams/rosterget
Conferences
    /conferencesget/conferences/historyget
Venues
    /venuesget
Stats
    /stats/team/leaderboardget/stats/team/seasonget/stats/team/shooting/seasonget/stats/player/seasonget/stats/player/shooting/seasonget
Rankings
    /rankingsget
Ratings
    /ratings/srsget/ratings/adjustedget/ratings/eloget
Lines
    /linesget/lines/providersget
Lineups
    /lineups/teamget/lineups/game/{gameId}get
Draft
    /draft/teamsget/draft/positionsget/draft/picksget
Recruiting
    /recruiting/playersget/recruiting/teamsget/recruiting/portalget
Schemas
powered by Zudoku
College Basketball Data API
College Basketball Data API

Plays

Download schema

Play-by-play data and substitution events.


GET
https://api.collegebasketballdata.com
/substitutions/game/{gameId}
Bearer

Returns all recorded player substitutions for a game.

path Parameters

gameId
​integer · int32 · required

The game ID.

Responses

200

Ok

​PlayerSubsititution[]
PlayerSubsititution
gameId
​integer · int32 · required
startDate
​string · date-time · required
teamId
​integer · int32 · required
team
​string · required
conference
​string | null · required
athleteId
​integer · int32 · required
athlete
​string · required
position
​string | null · required
opponentId
​integer · int32 · required
opponent
​string · required
opponentConference
​string | null · required
​object · required
​object · required
GET/substitutions/game/{gameId}
curl https://api.collegebasketballdata.com/substitutions/game/:gameId \ --header 'Authorization: Bearer <token>'
Example Responses
[ { "gameId": 0, "startDate": "2024-08-25T15:00:00Z", "teamId": 0, "team": "team", "conference": "conference", "athleteId": 0, "athlete": "athlete", "position": "position", "opponentId": 0, "opponent": "opponent", "opponentConference": "opponentConference", "subIn": { "opponentPoints": 0, "teamPoints": 0, "secondsRemaining": 0, "period": 0 }, "subOut": { "opponentPoints": 0, "teamPoints": 0, "secondsRemaining": 0, "period": 0 } } ]
json
application/json

GET
https://api.collegebasketballdata.com
/substitutions/player/{playerId}
Bearer

Returns all recorded player substitutions for a player and season.

path Parameters

playerId
​integer · int32 · required

The player ID.

query Parameters

season
​integer · int32 · required

The season to return.

Responses

200

Ok

​PlayerSubsititution[]
PlayerSubsititution
gameId
​integer · int32 · required
startDate
​string · date-time · required
teamId
​integer · int32 · required
team
​string · required
conference
​string | null · required
athleteId
​integer · int32 · required
athlete
​string · required
position
​string | null · required
opponentId
​integer · int32 · required
opponent
​string · required
opponentConference
​string | null · required
​object · required
​object · required
GET/substitutions/player/{playerId}
curl 'https://api.collegebasketballdata.com/substitutions/player/:playerId?season=<number>' \ --header 'Authorization: Bearer <token>'
Example Responses
[ { "gameId": 0, "startDate": "2024-08-25T15:00:00Z", "teamId": 0, "team": "team", "conference": "conference", "athleteId": 0, "athlete": "athlete", "position": "position", "opponentId": 0, "opponent": "opponent", "opponentConference": "opponentConference", "subIn": { "opponentPoints": 0, "teamPoints": 0, "secondsRemaining": 0, "period": 0 }, "subOut": { "opponentPoints": 0, "teamPoints": 0, "secondsRemaining": 0, "period": 0 } } ]
json
application/json

GET
https://api.collegebasketballdata.com
/substitutions/team
Bearer

Returns all recorded player substitutions for a team and season.

query Parameters

season
​integer · int32 · required

The season to return.

team
​string · required

The team name to return.

Responses

200

Ok

​PlayerSubsititution[]
PlayerSubsititution
gameId
​integer · int32 · required
startDate
​string · date-time · required
teamId
​integer · int32 · required
team
​string · required
conference
​string | null · required
athleteId
​integer · int32 · required
athlete
​string · required
position
​string | null · required
opponentId
​integer · int32 · required
opponent
​string · required
opponentConference
​string | null · required
​object · required
​object · required
GET/substitutions/team
curl 'https://api.collegebasketballdata.com/substitutions/team?season=<number>&team=<string>' \ --header 'Authorization: Bearer <token>'
Example Responses
[ { "gameId": 0, "startDate": "2024-08-25T15:00:00Z", "teamId": 0, "team": "team", "conference": "conference", "athleteId": 0, "athlete": "athlete", "position": "position", "opponentId": 0, "opponent": "opponent", "opponentConference": "opponentConference", "subIn": { "opponentPoints": 0, "teamPoints": 0, "secondsRemaining": 0, "period": 0 }, "subOut": { "opponentPoints": 0, "teamPoints": 0, "secondsRemaining": 0, "period": 0 } } ]
json
application/json

GET
https://api.collegebasketballdata.com
/plays/game/{gameId}
Bearer

Returns all recorded plays for a game.

path Parameters

gameId
​integer · int32 · required

The game ID.

query Parameters

shootingPlaysOnly
​boolean

When true, returns only shooting plays.

Responses

200

Ok

​PlayInfo[]
PlayInfo
id
​integer · int32 · required
sourceId
​string · required
gameId
​integer · int32 · required
gameSourceId
​string · required
gameStartDate
​string · date-time · required
season
​number · double · required
seasonType
​SeasonType · enum · required
Enum values:
postseason
preseason
regular
gameType
​string · required
tournament
​string | null · required
playType
​string · required
isHomeTeam
​boolean | null · required
teamId
​integer | null · int32 · required
team
​string | null · required
conference
​string | null · required
teamSeed
​number | null · double · required
opponentId
​integer | null · int32 · required
opponent
​string | null · required
opponentConference
​string | null · required
opponentSeed
​number | null · double · required
period
​integer · int32 · required
clock
​string · required
secondsRemaining
​integer · int32 · required
homeScore
​integer · int32 · required
awayScore
​integer · int32 · required
homeWinProbability
​number | null · double · required
scoringPlay
​boolean | null · required
shootingPlay
​boolean | null · required
scoreValue
​number | null · double · required
wallclock
​string | null · date-time · required
playText
​string | null · required
​object[] · required
​object[] · required
​object · required
GET/plays/game/{gameId}
curl https://api.collegebasketballdata.com/plays/game/:gameId \ --header 'Authorization: Bearer <token>'
Example Responses
[ { "id": 0, "sourceId": "sourceId", "gameId": 0, "gameSourceId": "gameSourceId", "gameStartDate": "2024-08-25T15:00:00Z", "season": 0, "seasonType": "postseason", "gameType": "gameType", "tournament": "tournament", "playType": "playType", "isHomeTeam": true, "teamId": 0, "team": "team", "conference": "conference", "teamSeed": 0, "opponentId": 0, "opponent": "opponent", "opponentConference": "opponentConference", "opponentSeed": 0, "period": 0, "clock": "clock", "secondsRemaining": 0, "homeScore": 0, "awayScore": 0, "homeWinProbability": 0, "scoringPlay": true, "shootingPlay": true, "scoreValue": 0, "wallclock": "2024-08-25T15:00:00Z", "playText": "playText", "participants": [ { "name": "name", "id": 0 } ], "onFloor": [ { "team": "team", "name": "name", "id": 0 } ], "shotInfo": { "shooter": { "name": "name", "id": 0 }, "made": true, "range": "rim", "assisted": true, "assistedBy": { "name": "name", "id": 0 }, "location": { "y": 0, "x": 0 } } } ]
json
application/json

GET
https://api.collegebasketballdata.com
/plays/player/{playerId}
Bearer

Returns all recorded plays for a player and season.

path Parameters

playerId
​integer · int32 · required

The player ID.

query Parameters

season
​integer · int32 · required

The season to return.

shootingPlaysOnly
​boolean

When true, returns only shooting plays.

Responses

200

Ok

​PlayInfo[]
PlayInfo
id
​integer · int32 · required
sourceId
​string · required
gameId
​integer · int32 · required
gameSourceId
​string · required
gameStartDate
​string · date-time · required
season
​number · double · required
seasonType
​SeasonType · enum · required
Enum values:
postseason
preseason
regular
gameType
​string · required
tournament
​string | null · required
playType
​string · required
isHomeTeam
​boolean | null · required
teamId
​integer | null · int32 · required
team
​string | null · required
conference
​string | null · required
teamSeed
​number | null · double · required
opponentId
​integer | null · int32 · required
opponent
​string | null · required
opponentConference
​string | null · required
opponentSeed
​number | null · double · required
period
​integer · int32 · required
clock
​string · required
secondsRemaining
​integer · int32 · required
homeScore
​integer · int32 · required
awayScore
​integer · int32 · required
homeWinProbability
​number | null · double · required
scoringPlay
​boolean | null · required
shootingPlay
​boolean | null · required
scoreValue
​number | null · double · required
wallclock
​string | null · date-time · required
playText
​string | null · required
​object[] · required
​object[] · required
​object · required
GET/plays/player/{playerId}
curl 'https://api.collegebasketballdata.com/plays/player/:playerId?season=<number>' \ --header 'Authorization: Bearer <token>'
Example Responses
[ { "id": 0, "sourceId": "sourceId", "gameId": 0, "gameSourceId": "gameSourceId", "gameStartDate": "2024-08-25T15:00:00Z", "season": 0, "seasonType": "postseason", "gameType": "gameType", "tournament": "tournament", "playType": "playType", "isHomeTeam": true, "teamId": 0, "team": "team", "conference": "conference", "teamSeed": 0, "opponentId": 0, "opponent": "opponent", "opponentConference": "opponentConference", "opponentSeed": 0, "period": 0, "clock": "clock", "secondsRemaining": 0, "homeScore": 0, "awayScore": 0, "homeWinProbability": 0, "scoringPlay": true, "shootingPlay": true, "scoreValue": 0, "wallclock": "2024-08-25T15:00:00Z", "playText": "playText", "participants": [ { "name": "name", "id": 0 } ], "onFloor": [ { "team": "team", "name": "name", "id": 0 } ], "shotInfo": { "shooter": { "name": "name", "id": 0 }, "made": true, "range": "rim", "assisted": true, "assistedBy": { "name": "name", "id": 0 }, "location": { "y": 0, "x": 0 } } } ]
json
application/json

GET
https://api.collegebasketballdata.com
/plays/team
Bearer

Returns all recorded plays for a team and season.

query Parameters

season
​integer · int32 · required

The season to return.

team
​string · required

The team name to return.

shootingPlaysOnly
​boolean

When true, returns only shooting plays.

Responses

200

Ok

​PlayInfo[]
PlayInfo
id
​integer · int32 · required
sourceId
​string · required
gameId
​integer · int32 · required
gameSourceId
​string · required
gameStartDate
​string · date-time · required
season
​number · double · required
seasonType
​SeasonType · enum · required
Enum values:
postseason
preseason
regular
gameType
​string · required
tournament
​string | null · required
playType
​string · required
isHomeTeam
​boolean | null · required
teamId
​integer | null · int32 · required
team
​string | null · required
conference
​string | null · required
teamSeed
​number | null · double · required
opponentId
​integer | null · int32 · required
opponent
​string | null · required
opponentConference
​string | null · required
opponentSeed
​number | null · double · required
period
​integer · int32 · required
clock
​string · required
secondsRemaining
​integer · int32 · required
homeScore
​integer · int32 · required
awayScore
​integer · int32 · required
homeWinProbability
​number | null · double · required
scoringPlay
​boolean | null · required
shootingPlay
​boolean | null · required
scoreValue
​number | null · double · required
wallclock
​string | null · date-time · required
playText
​string | null · required
​object[] · required
​object[] · required
​object · required
GET/plays/team
curl 'https://api.collegebasketballdata.com/plays/team?season=<number>&team=<string>' \ --header 'Authorization: Bearer <token>'
Example Responses
[ { "id": 0, "sourceId": "sourceId", "gameId": 0, "gameSourceId": "gameSourceId", "gameStartDate": "2024-08-25T15:00:00Z", "season": 0, "seasonType": "postseason", "gameType": "gameType", "tournament": "tournament", "playType": "playType", "isHomeTeam": true, "teamId": 0, "team": "team", "conference": "conference", "teamSeed": 0, "opponentId": 0, "opponent": "opponent", "opponentConference": "opponentConference", "opponentSeed": 0, "period": 0, "clock": "clock", "secondsRemaining": 0, "homeScore": 0, "awayScore": 0, "homeWinProbability": 0, "scoringPlay": true, "shootingPlay": true, "scoreValue": 0, "wallclock": "2024-08-25T15:00:00Z", "playText": "playText", "participants": [ { "name": "name", "id": 0 } ], "onFloor": [ { "team": "team", "name": "name", "id": 0 } ], "shotInfo": { "shooter": { "name": "name", "id": 0 }, "made": true, "range": "rim", "assisted": true, "assistedBy": { "name": "name", "id": 0 }, "location": { "y": 0, "x": 0 } } } ]
json
application/json

GET
https://api.collegebasketballdata.com
/plays/date
Bearer

Returns all recorded plays for a UTC date.

query Parameters

date
​string · date-time · required

The date to return in ISO 8601 format (YYYY-MM-DD).

shootingPlaysOnly
​boolean

When true, returns only shooting plays.

utcOffset
​number · double

Shifts the date range by this number of hours from UTC.

Responses

200

Ok

​PlayInfo[]
PlayInfo
id
​integer · int32 · required
sourceId
​string · required
gameId
​integer · int32 · required
gameSourceId
​string · required
gameStartDate
​string · date-time · required
season
​number · double · required
seasonType
​SeasonType · enum · required
Enum values:
postseason
preseason
regular
gameType
​string · required
tournament
​string | null · required
playType
​string · required
isHomeTeam
​boolean | null · required
teamId
​integer | null · int32 · required
team
​string | null · required
conference
​string | null · required
teamSeed
​number | null · double · required
opponentId
​integer | null · int32 · required
opponent
​string | null · required
opponentConference
​string | null · required
opponentSeed
​number | null · double · required
period
​integer · int32 · required
clock
​string · required
secondsRemaining
​integer · int32 · required
homeScore
​integer · int32 · required
awayScore
​integer · int32 · required
homeWinProbability
​number | null · double · required
scoringPlay
​boolean | null · required
shootingPlay
​boolean | null · required
scoreValue
​number | null · double · required
wallclock
​string | null · date-time · required
playText
​string | null · required
​object[] · required
​object[] · required
​object · required
GET/plays/date
curl 'https://api.collegebasketballdata.com/plays/date?date=<string>' \ --header 'Authorization: Bearer <token>'
Example Responses
[ { "id": 0, "sourceId": "sourceId", "gameId": 0, "gameSourceId": "gameSourceId", "gameStartDate": "2024-08-25T15:00:00Z", "season": 0, "seasonType": "postseason", "gameType": "gameType", "tournament": "tournament", "playType": "playType", "isHomeTeam": true, "teamId": 0, "team": "team", "conference": "conference", "teamSeed": 0, "opponentId": 0, "opponent": "opponent", "opponentConference": "opponentConference", "opponentSeed": 0, "period": 0, "clock": "clock", "secondsRemaining": 0, "homeScore": 0, "awayScore": 0, "homeWinProbability": 0, "scoringPlay": true, "shootingPlay": true, "scoreValue": 0, "wallclock": "2024-08-25T15:00:00Z", "playText": "playText", "participants": [ { "name": "name", "id": 0 } ], "onFloor": [ { "team": "team", "name": "name", "id": 0 } ], "shotInfo": { "shooter": { "name": "name", "id": 0 }, "made": true, "range": "rim", "assisted": true, "assistedBy": { "name": "name", "id": 0 }, "location": { "y": 0, "x": 0 } } } ]
json
application/json

GET
https://api.collegebasketballdata.com
/plays/tournament
Bearer

Returns all recorded plays for a tournament and season.

query Parameters

tournament
​string · required

The tournament to return, such as NCAA or NIT.

season
​number · double · required

The season to return.

shootingPlaysOnly
​boolean

When true, returns only shooting plays.

Responses

200

Ok

​PlayInfo[]
PlayInfo
id
​integer · int32 · required
sourceId
​string · required
gameId
​integer · int32 · required
gameSourceId
​string · required
gameStartDate
​string · date-time · required
season
​number · double · required
seasonType
​SeasonType · enum · required
Enum values:
postseason
preseason
regular
gameType
​string · required
tournament
​string | null · required
playType
​string · required
isHomeTeam
​boolean | null · required
teamId
​integer | null · int32 · required
team
​string | null · required
conference
​string | null · required
teamSeed
​number | null · double · required
opponentId
​integer | null · int32 · required
opponent
​string | null · required
opponentConference
​string | null · required
opponentSeed
​number | null · double · required
period
​integer · int32 · required
clock
​string · required
secondsRemaining
​integer · int32 · required
homeScore
​integer · int32 · required
awayScore
​integer · int32 · required
homeWinProbability
​number | null · double · required
scoringPlay
​boolean | null · required
shootingPlay
​boolean | null · required
scoreValue
​number | null · double · required
wallclock
​string | null · date-time · required
playText
​string | null · required
​object[] · required
​object[] · required
​object · required
GET/plays/tournament
curl 'https://api.collegebasketballdata.com/plays/tournament?tournament=<string>&season=<number>' \ --header 'Authorization: Bearer <token>'
Example Responses
[ { "id": 0, "sourceId": "sourceId", "gameId": 0, "gameSourceId": "gameSourceId", "gameStartDate": "2024-08-25T15:00:00Z", "season": 0, "seasonType": "postseason", "gameType": "gameType", "tournament": "tournament", "playType": "playType", "isHomeTeam": true, "teamId": 0, "team": "team", "conference": "conference", "teamSeed": 0, "opponentId": 0, "opponent": "opponent", "opponentConference": "opponentConference", "opponentSeed": 0, "period": 0, "clock": "clock", "secondsRemaining": 0, "homeScore": 0, "awayScore": 0, "homeWinProbability": 0, "scoringPlay": true, "shootingPlay": true, "scoreValue": 0, "wallclock": "2024-08-25T15:00:00Z", "playText": "playText", "participants": [ { "name": "name", "id": 0 } ], "onFloor": [ { "team": "team", "name": "name", "id": 0 } ], "shotInfo": { "shooter": { "name": "name", "id": 0 }, "made": true, "range": "rim", "assisted": true, "assistedBy": { "name": "name", "id": 0 }, "location": { "y": 0, "x": 0 } } } ]
json
application/json

GET
https://api.collegebasketballdata.com
/plays/types
Bearer

Returns available play types and their identifiers.

Responses

200

Ok

​PlayTypeInfo[]
PlayTypeInfo
id
​integer · int32 · required
name
​string · required
GET/plays/types
curl https://api.collegebasketballdata.com/plays/types \ --header 'Authorization: Bearer <token>'
Example Responses
[ { "id": 0, "name": "name" } ]
json
application/json

GamesTeams