---
title: "Play By Play [Live & Final]"
method: GET
path: "/v3/nba/pbp/{format}/PlayByPlay/{gameid}"
tags: ["NBA v3 Play-by-Play"]
---

# Play By Play \[Live & Final\]

`GET /v3/nba/pbp/{format}/PlayByPlay/{gameid}`

## Request

- Base URL: `https://api.sportsdata.io`
- URL: `https://api.sportsdata.io/v3/nba/pbp/{format}/PlayByPlay/{gameid}`
- Auth: one of:
  - API key in header `Ocp-Apim-Subscription-Key`
  - API key in query parameter `key`
- TypeScript: <https://skmtc.dev/sportsdata/apis/nba-api/docs/v3/nba/pbp/:format/PlayByPlay/:gameid/get.ts> (a function with typed inputs; its response is checked against the schema)

Each invididual play, its type and outcome, complete with player and team stats down to the play level, delivered live in real-time, called by game.

## Path parameters

- `format` 'JSON' | 'XML', required
- `gameid` string, required

## Response `200`

Success

- PlayByPlay
  - `Game` Game
    - `GameID` integer: The unique ID of this game
    - `Season` integer: The NBA season of the game
    - `SeasonType` integer: The type of season that this record corresponds to (1=Regular Season; 2=Preseason; 3=Postseason; 4=Offseason; 5=AllStar; 6=Exhibition)
    - `Status` string, nullable: Indicates the game's status. Possible values include: Scheduled, InProgress, Final, F/OT, Suspended, Postponed, Delayed, Canceled, Forfeit, NotNecessary
    - `Day` string, nullable: The date of the game
    - `DateTime` string, nullable: The date and time of the game
    - `AwayTeam` string, nullable: The abbreviation [Key] of the away team
    - `HomeTeam` string, nullable: The abbreviation [Key] of the home team
    - `AwayTeamID` integer: The unique ID of the away team
    - `HomeTeamID` integer: The unique ID of the home team
    - `StadiumID` integer, nullable: The unique ID of the stadium
    - `Channel` string, nullable: The television station broadcasting the game
    - `Attendance` integer, nullable: The total number of people in attendance at the game
    - `AwayTeamScore` integer, nullable: Total number of points the away team scored in the game
    - `HomeTeamScore` integer, nullable: Total number of points the home team scored in this game
    - `Updated` string, nullable: The timestamp of when this game was last updated (in US Eastern Time)
    - `Quarter` string, nullable: The current quarter in the game. Possible values include: 1, 2, 3, 4, Half, OT, NULL
    - `TimeRemainingMinutes` integer, nullable: The number of minutes remaining in the quarter
    - `TimeRemainingSeconds` integer, nullable: The number of seconds remaining in the quarter
    - `PointSpread` number, nullable: The oddsmaker Point Spread at game start from the perspective of the HomeTeam (negative numbers indicate the HomeTeam is favored; positive numbers indicate the AwayTeam is favored)
    - `OverUnder` number, nullable: The sportsbook's total points scored over under for the game
    - `AwayTeamMoneyLine` integer, nullable: Money line from the perspective of the away team
    - `HomeTeamMoneyLine` integer, nullable: Money line from the perspective of the home team
    - `GlobalGameID` integer: A globally unique ID for this game. This value is guaranteed to be unique across all sports/leagues.
    - `GlobalAwayTeamID` integer: A globally unique ID for the away team. This value is guaranteed to be unique across all sports/leagues.
    - `GlobalHomeTeamID` integer: A globally unique ID for the home team. This value is guaranteed to be unique across all sports/leagues.
    - `PointSpreadAwayTeamMoneyLine` integer, nullable: The money line payout odds when betting on the away team with the point spread.
    - `PointSpreadHomeTeamMoneyLine` integer, nullable: The money line payout odds when betting on the away team with the point spread.
    - `LastPlay` string, nullable: The description of the most recent play/event of the game. This is for display purposes and does not include corresponding data points.
    - `IsClosed` boolean: Indicates whether the game is over and the final score has been verified and closed out. Note: it is recommend for bet resulting to use IsClosed = True rather than simply Final game status
    - `Quarters` Quarter[]: The details of the quarters (including overtime periods) for this game.
      - `QuarterID` integer: Unique identifier for each Quarter.
      - `GameID` integer: The unique ID of the game associated with this quarter
      - `Number` integer: The Number (Order) of the Quarter in the scope of the Game.
      - `Name` string, nullable: The Name of the Quarter (possible values: 1, 2, 3, 4, OT, OT2, OT3, etc)
      - `AwayScore` integer, nullable: The total points scored by the away team in the given period only
      - `HomeScore` integer, nullable: The total points scored by the home team in the given period only
    - `GameEndDateTime` string, nullable: The date and time that the game ended (in US Eastern Time)
    - `HomeRotationNumber` integer, nullable: The rotation number of the home team for this game
    - `AwayRotationNumber` integer, nullable: The rotation number of the away team for this game
    - `NeutralVenue` boolean, nullable: Indicates whether this game is played in a neutral venue
    - `OverPayout` integer, nullable: The sportsbook's payout for the over on the total points line
    - `UnderPayout` integer, nullable: The sportsbook's payout for the under on the total points line
    - `CrewChiefID` integer, nullable: Unique ID of officiating Crew Chief
    - `UmpireID` integer, nullable: Unique ID of officiating Umpire referee
    - `RefereeID` integer, nullable: Unique ID of officiating referee
    - `AlternateID` integer, nullable: Unique ID of officiating Alternate referee
    - `DateTimeUTC` string, nullable: The date and time of the game in UTC
    - `SeriesInfo` Series
      - `HomeTeamWins` integer: Total number of wins by the home team in the series
      - `AwayTeamWins` integer: Total wins in the series by the away team
      - `GameNumber` integer: The game number in the series
      - `MaxLength` integer: The maximum number of games that can be played in a series
    - `InseasonTournament` boolean, nullable: A flag to indicate this game is part of the inseason NBA tournament (can be considered a part of regular season still) - a null would also indicate false
    - `RescheduledFromGameID` integer, nullable: The GameID of the originally scheduled, postponed game, that this game was rescheduled from. This only pertains to games that are scheduled as "make up" games.
    - `RescheduledGameID` integer, nullable: The GameID of the game that was rescheduled from this game. This only pertains to postponed games that require rescheduling.
    - `Deleted` boolean: Indicates whether the game or event has been soft deleted and never existed on the real-life schedule. Deleted records have their Status set to Canceled and are retained for reference only.
  - `Quarters` Quarter[]: The details of the quarters associated with this play-by-play
    - `QuarterID` integer: Unique identifier for each Quarter.
    - `GameID` integer: The unique ID of the game associated with this quarter
    - `Number` integer: The Number (Order) of the Quarter in the scope of the Game.
    - `Name` string, nullable: The Name of the Quarter (possible values: 1, 2, 3, 4, OT, OT2, OT3, etc)
    - `AwayScore` integer, nullable: The total points scored by the away team in the given period only
    - `HomeScore` integer, nullable: The total points scored by the home team in the given period only
  - `Plays` Play[]: The details of the plays associated with this play-by-play
    - `PlayID` integer: The unique identifier of the play.
    - `QuarterID` integer: The unique identifier of the Quarter that this play occurred in.
    - `QuarterName` string, nullable: The name of the quarter that this play occurred in
    - `Sequence` integer: The order in which this play happened over the course of the game.
    - `TimeRemainingMinutes` integer, nullable: The number of minutes remaining in the quarter when this play occurred
    - `TimeRemainingSeconds` integer, nullable: The number of seconds remaining in the quarter when the play occurred
    - `AwayTeamScore` integer, nullable: Total number of points the away team scored after this play completed
    - `HomeTeamScore` integer, nullable: Total points scored by the home team after the completion of this play
    - `PotentialPoints` integer, nullable: The points that would have been potentially scored by the shot attempt (if any).
    - `Points` integer, nullable: The points scores by the shot attempt (if any).
    - `ShotMade` boolean, nullable: Whether the shot was made (if any).
    - `Category` string, nullable: The category the play. Possible values: Period, Timeout, JumpBall, Shot, Rebound, Foul, Substitution, Turnover, Challenge.
    - `Type` string, nullable: The type of the play. Possible values: None, Period, Timeout, JumpBall, FieldGoalMade, FieldGoalMissed, FreeThrowMade, FreeThrowMissed, Rebound, Steal, Turnover, Foul, PersonalFoul, ShootingFoul, OffensiveFoul, LooseBallFoul, TechnicalFoul, FlagrantFoul, Traveling, Palming, Goaltending, KickedBall, LaneViolation, DelayOfGame, Substitution, Ejection, and Challenge.
    - `TeamID` integer, nullable: The unique ID of the team associated with this play
    - `Team` string, nullable: The abbreviation [Key] of the team associated with this play
    - `OpponentID` integer, nullable: The unique ID of the opponent team associated with this play
    - `Opponent` string, nullable: Abbreviation [Key] of the opponent team (e.g. LAL; PHI; BOS; CHI; etc.)
    - `ReceivingTeamID` integer, nullable: The TeamID of the team that won the jump ball.
    - `ReceivingTeam` string, nullable: The team abbreviation [Key] of the team that won the jump ball
    - `Description` string, nullable: The description of the play.
    - `PlayerID` integer, nullable: The player's unique PlayerID as assigned by SportsDataIO. Note: this ID will stay with the player throughout their entire career
    - `AssistedByPlayerID` integer, nullable: The PlayerID of the player who recorded an assist on a made field goal by another player (if applicable)
    - `BlockedByPlayerID` integer, nullable: The PlayerID of the player who blocked the field goal attempt on this play (if any).
    - `FastBreak` boolean, nullable: Indicates whether this play happened on a fast break.
    - `SideOfBasket` string, nullable: The side of the basket that the field goal was attempted from (if any). Possible values: L, R
    - `Updated` string, nullable: The timestamp of when this play was last updated (in US Eastern Time)
    - `Created` string, nullable: The database generated timestamp of when this play was first created (in US Eastern Time)
    - `SubstituteInPlayerID` integer, nullable: The PlayerID of the player who substituted into the game.
    - `SubstituteOutPlayerID` integer, nullable: The PlayerID of the player who substituted out of the game.
    - `AwayPlayerID` integer, nullable: The PlayerID of the player who is involved in the play from the away team (if applicable)
    - `HomePlayerID` integer, nullable: The PlayerID of the player who is involved in the play from the home team
    - `ReceivingPlayerID` integer, nullable: The PlayerID of the player who received the ball
    - `BaselineOffsetPercentage` number, nullable: The baseline offset percentage of where the ball was shot/passed
    - `SidelineOffsetPercentage` number, nullable: The sideline offset percentage of where the ball was shot/passed
    - `Coordinates` string, nullable: The x/y coordinates of where the ball was shot/passed
    - `StolenByPlayerID` integer, nullable: The PlayerID of the player who stole the ball (if applicable)

## Other responses

- `401`: Unauthorized

## Changes

- **2026-11-07** `30672152476c`: 1 info
  - added the optional property `Game/Deleted` to the response with the `200` status

[Operation history](https://skmtc.dev/sportsdata/apis/nba-api/changes/v3/nba/pbp/:format/PlayByPlay/:gameid/get.md)

---

[API](https://skmtc.dev/sportsdata/apis/nba-api.md) - [All operations](https://skmtc.dev/sportsdata/apis/nba-api/llms.txt) - [OpenAPI document](https://skmtc.dev/sportsdata/apis/nba-api/revisions/30672152476c?raw)
