openapi: 3.1.0 info: title: MLB MLB v3 Headshots NHL v3 Play-by-Play API version: '1.0' description: MLB API - OpenAPI 3.1 Specification servers: - url: https://api.sportsdata.io description: Production server security: - apiKeyHeader: [] - apiKeyQuery: [] tags: - name: NHL v3 Play-by-Play paths: /v3/nhl/pbp/{format}/PlayByPlay/{gameid}: get: description: 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. operationId: nhl_v3_pbp_play_by_play__live___final summary: Play By Play [Live & Final] parameters: - name: format in: path description: Desired response format. Valid entries are JSON or XML. required: true schema: type: string enum: - JSON - XML default: JSON - name: gameid in: path description: The GameID of an NHL game. GameIDs can be found in the Games API. Valid entries are 14620 or 16905 required: true schema: type: string responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/PlayByPlay' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/Unauthorized' tags: - NHL v3 Play-by-Play /v3/nhl/pbp/{format}/PlayByPlayDelta/{date}/{minutes}: get: description: This method returns all play-by-plays for a given season and week, but only returns plays that have changed in the last X minutes as specified in your API call. By definition this is a live endpoint, not final. operationId: nhl_v3_pbp_play_by_play_delta summary: Play By Play Delta parameters: - name: format in: path description: Desired response format. Valid entries are JSON or XML. required: true schema: type: string enum: - JSON - XML default: JSON - name: date in: path description: 'The date of the game(s).
Examples: 2018-JAN-31, 2017-OCT-01.' required: true schema: type: string - name: minutes in: path description: 'Only returns plays that have changed in the last X minutes. You specify how many minutes in time to go back. Valid entries are: 1, 2 ... all.' required: true schema: type: string responses: '200': description: Success content: application/json: schema: type: array items: $ref: '#/components/schemas/PlayByPlay' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/Unauthorized' tags: - NHL v3 Play-by-Play /v3/nhl/pbp/{format}/PlayByPlayFinal/{gameid}: get: description: Each invididual play, its type and outcome, complete with player and team stats down to the play level, delivered final (after the game ends), called by game. operationId: nhl_v3_pbp_play_by_play__final summary: Play By Play [Final] parameters: - name: format in: path description: Desired response format. Valid entries are JSON or XML. required: true schema: type: string enum: - JSON - XML default: JSON - name: gameid in: path description: The GameID of an NHL game. GameIDs can be found in the Games API. Valid entries are 14620 or 16905 required: true schema: type: string responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/PlayByPlay' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/Unauthorized' tags: - NHL v3 Play-by-Play components: schemas: ScoringPlay: properties: ScoringPlayID: type: integer description: The unique ID of the scoring play PeriodID: type: integer description: The unique ID associated of this period Sequence: type: - integer - 'null' description: The sequence/order that this scoring play happened TimeRemainingMinutes: type: - integer - 'null' description: 'Number of minutes that have passed in the current period. NOTE: this field name might be misleading as it actually represents the game clock minutes which are the number of minutes that have already passed in the period.' TimeRemainingSeconds: type: - integer - 'null' description: 'Number of seconds that have passed in the current period. NOTE: this field name might be misleading as it actually represents the game clock sconds which are the number of minutes that have already passed in the period.' ScoredByTeamID: type: - integer - 'null' description: The TeamID of the team that scored the goal AllowedByTeamID: type: - integer - 'null' description: The TeamID of the team that allowed the goal ScoredByPlayerID: type: - integer - 'null' description: The PlayerID of the player who scored the goal AssistedByPlayerID1: type: - integer - 'null' description: The PlayerID of the FIRST player who assisted on the goal AssistedByPlayerID2: type: - integer - 'null' description: The PlayerID of the SECOND player who assisted on the goal PowerPlay: type: - boolean - 'null' description: Whether or not the goal was scored on the power play ShortHanded: type: - boolean - 'null' description: Whether the goal was scored shorthanded EmptyNet: type: - boolean - 'null' description: Whether the goal was an empty net goal or not AwayTeamScore: type: - integer - 'null' description: The score of the away team after the conclusion of the scoring play HomeTeamScore: type: - integer - 'null' description: The score of the home team after the conclusion of the scoring play Period: properties: PeriodID: type: integer description: The unique ID associated of this period GameID: type: integer description: The unique ID of this game tied to this period Name: type: - string - 'null' description: 'The name of the period (possible values: 1; 2; 3; SO; OT; OT2; OT3; OT4; etc)' AwayScore: type: - integer - 'null' description: Total goals scored by the away team in a given period HomeScore: type: - integer - 'null' description: Total goals scored by the home team in the period ScoringPlays: type: array items: $ref: '#/components/schemas/ScoringPlay' description: The details of the scoring plays that occurred during this period Penalties: type: array items: $ref: '#/components/schemas/Penalty' description: The details of the penalties that occurred during this period Game: properties: GameID: type: integer description: The unique ID of this game Season: type: integer description: The NHL season of the game SeasonType: type: integer description: The type of season that this record corresponds to (1=Regular Season, 2=Preseason, 3=Postseason, 5=AllStar, 6=Exhibition). Status: type: - string - 'null' description: 'Indicates the game''s status. Possible values include: Scheduled, InProgress, Final, F/SO, F/OT, Suspended, Postponed, Delayed, Canceled, Forfeit, NotNecessary' Day: type: - string - 'null' description: The date of the game DateTime: type: - string - 'null' description: The date and time of the game in US Eastern Time Updated: type: - string - 'null' description: The timestamp of when the record was last updated (in US Eastern Time). IsClosed: type: - boolean - 'null' description: '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' AwayTeam: type: - string - 'null' description: The abbreviation [Key] of the away team HomeTeam: type: - string - 'null' description: The abbreviation [Key] of the home team AwayTeamID: type: integer description: The unique ID of the away team HomeTeamID: type: integer description: The unique ID of the home team StadiumID: type: - integer - 'null' description: The unique ID of the stadium Channel: type: - string - 'null' description: The television station broadcasting the game Attendance: type: - integer - 'null' description: The total number of people who attended the game AwayTeamScore: type: - integer - 'null' description: Total number of goals scored by the away team in the game HomeTeamScore: type: - integer - 'null' description: Total number of goals scored by the home team in the game Period: type: - string - 'null' description: 'Indicates the current period of the game. Possible values include: 1; 2; 3; OT; SO; NULL' TimeRemainingMinutes: type: - integer - 'null' description: Number of minutes remaining in the current period TimeRemainingSeconds: type: - integer - 'null' description: 'Number of seconds that have passed in the current period. NOTE: this field name might be misleading as it actually represents the game clock sconds which are the number of minutes that have already passed in the period.' AwayTeamMoneyLine: type: - integer - 'null' description: Moneyline from the perspective of the away team HomeTeamMoneyLine: type: - integer - 'null' description: Moneyline from the perspective of the home team PointSpread: type: - number - 'null' description: The oddsmaker puck line at game start from the perspective of the HomeTeam (negative numbers indicate the HomeTeam is favored; positive numbers indicate the AwayTeam is favored). OverUnder: type: - number - 'null' description: The sportsbook's total goals scored line (Over/Under) for the game GlobalGameID: type: integer description: A globally unique ID for this game. This value is guaranteed to be unique across all sports/leagues. GlobalAwayTeamID: type: integer description: A globally unique ID for the away team. This value is guaranteed to be unique across all sports/leagues. GlobalHomeTeamID: type: integer description: A globally unique ID for the home team. This value is guaranteed to be unique across all sports/leagues. PointSpreadAwayTeamMoneyLine: type: - integer - 'null' description: The payout odds when betting on the away team with the puck line PointSpreadHomeTeamMoneyLine: type: - integer - 'null' description: The payout odds when betting on the home team with the puck line LastPlay: type: - string - 'null' description: The description of the most recent play/event of the game. This is for display purposes and does not include corresponding data points. Periods: type: array items: $ref: '#/components/schemas/Period' description: The details of the periods (including overtime if applicable) for this game. GameEndDateTime: type: - string - 'null' description: The date and time that the game ended in US Eastern Time HomeRotationNumber: type: - integer - 'null' description: The rotation number of the home team for this game AwayRotationNumber: type: - integer - 'null' description: The rotation number of the away team for a game NeutralVenue: type: - boolean - 'null' description: Indicates whether this game is played in a neutral venue OverPayout: type: - integer - 'null' description: The sportsbook's payout for the over UnderPayout: type: - integer - 'null' description: The sportsbook's payout for the under DateTimeUTC: type: - string - 'null' description: The date and time of the game in UTC SeriesInfo: $ref: '#/components/schemas/Series' description: Contains relevant series data for playoff series only - HomeTeamWins, AwayTeamWins, GameNumber, and MaxLength RescheduledFromGameID: type: - integer - 'null' description: 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: type: - integer - 'null' description: The GameID of the game that was rescheduled from this game. This only pertains to postponed games that require rescheduling. Referee1ID: type: - integer - 'null' description: The unique ID of the main referee of this game Referee2ID: type: - integer - 'null' description: The unique ID of the secondary referee of this game Linesperson1ID: type: - integer - 'null' description: The unique ID of the main linesperson of this game Linesperson2ID: type: - integer - 'null' description: The unique ID of the secondary linesperson of this game PlayByPlay: properties: Game: $ref: '#/components/schemas/Game' description: The details of the game associated with this play-by-play Plays: type: array items: $ref: '#/components/schemas/Play' description: List of Plays in the game Play: properties: PlayID: type: integer description: The unique ID of the play PeriodID: type: integer description: The unique ID of the period during which this play occurred PeriodName: type: - string - 'null' description: The name of the period that this play occurred in Sequence: type: integer description: The order in which this play happened over the course of the game ClockMinutes: type: - integer - 'null' description: The number of minutes passed in the period when this play completed ClockSeconds: type: - integer - 'null' description: The number of seconds passed in the period when this play completed AwayTeamScore: type: - integer - 'null' description: The score of the away team after the play ended HomeTeamScore: type: - integer - 'null' description: The score of the home team after the play ended TeamID: type: - integer - 'null' description: The unique ID of the team Team: type: - string - 'null' description: The abbreviation [Key] of the team associated with this play OpponentID: type: - integer - 'null' description: The unique ID of the team's opponent associated with this play Opponent: type: - string - 'null' description: The abbreviation [Key] of the opponent team Category: type: - string - 'null' description: 'The category of the play. Possible values: Block; Faceoff; Goal; Hit; Penalty; Period; Shootout; Shot; Stoppage; Turnover' Type: type: - string - 'null' description: 'The type of the play. Possible values: AwayTeamTimeout, Block, Boarding, Charging, CheckToTheHead, Clipping, ClosingHandOnThePuck, CrossChecking, DelayOfGame, Elbowing, Faceoff, Fighting, GameMisconduct, Giveaway, Goal, GoalieStopped, HandPass, HighSticking, HighStickOnPuck, Hit, Holding, HoldingTheStick, HomeTeamTimeout, Hooking, Icing, IllegalEquipment, Interference, Kneeing, MinorPenalty, Misconduct, NetOffPost, ObjectsOnIce, Offside, Period, PeriodEnd, PlayerEquipment, PlayerInjury, PowerPlayGoal, PuckFrozen, PuckInBench, PuckInCrowd, PuckInNetting, Referee, RinkRepair, Roughing, ShootoutGoal, ShootoutMiss, ShootoutSave, ShotMissed, ShotOnGoal, Slashing, Stoppage, Takeaway, TooManyMen, Tripping, TvTimeout, Unsportsmanlike, VideoReview' Description: type: - string - 'null' description: 'The description of the play (example: Sidney Crosby won faceoff against Aaron Ekblad)' PlayerID: type: - integer - 'null' description: 'The player''s unique PlayerID as assigned by SportsDataIO. Note: this ID will stay with the player throughout their entire career' Updated: type: - string - 'null' description: The timestamp of when the play was last updated (in US Eastern Time) Created: type: - string - 'null' description: The database generated timestamp of when this play was first created; based on US Eatern Time (EST/EDT) FirstAssistedByPlayerID: type: - integer - 'null' description: The PlayerID of the player who got the first assist on this play (if applicable) SecondAssistedByPlayerID: type: - integer - 'null' description: The PlayerID of the player who got the second assist on this play (if applicable) PowerPlayTeamID: type: - integer - 'null' description: The unique TeamID of the team on the power play this play (if any) PowerPlayTeam: type: - string - 'null' description: The abbreviation [Key] of the team on the power play this play (if any) OpposingPlayerID: type: - integer - 'null' description: The PlayerID of the player involved in the play on the opposing team Series: properties: HomeTeamWins: type: integer description: Total wins in the series by the home team AwayTeamWins: type: integer description: Total wins in the series by the away team GameNumber: type: integer description: The number of the game being played in the series MaxLength: type: integer description: The maximum number of games that can be played in a postseason series Penalty: properties: PenaltyID: type: integer description: The unique ID of this penalty PeriodID: type: integer description: The unique ID of the period during which this penalty occurred Sequence: type: - integer - 'null' description: The sequence/order that this penalty happened TimeRemainingMinutes: type: - integer - 'null' description: 'Number of minutes that have passed in the current period. NOTE: this field name might be misleading as it actually represents the game clock minutes which are the number of minutes that have already passed in the period.' TimeRemainingSeconds: type: - integer - 'null' description: 'Number of seconds that have passed in the current period. NOTE: this field name might be misleading as it actually represents the game clock seconds which are the number of minutes that have already passed in the period.' Description: type: - string - 'null' description: The description of the penalty PenaltyMinutes: type: - integer - 'null' description: Total minutes the penalty lasts PenalizedTeamID: type: - integer - 'null' description: The TeamID of the team who committed the penalty PenalizedPlayerID: type: - integer - 'null' description: The PlayerID of the player who committed the penalty DrawnByTeamID: type: - integer - 'null' description: The TeamID of the player/team that drew the penalty DrawnByPlayerID: type: - integer - 'null' description: The PlayerID of the player who drew the penalty IsBenchPenalty: type: - boolean - 'null' description: Whether or not the penalty is a bench penalty BenchPenaltyServedByPlayerID: type: - integer - 'null' description: The PlayerID of the player who served the bench penalty Unauthorized: properties: HttpStatusCode: type: integer Code: type: integer Description: type: string Help: type: string securitySchemes: apiKeyHeader: type: apiKey name: Ocp-Apim-Subscription-Key in: header apiKeyQuery: type: apiKey name: key in: query