SportsDataIO NHL v3 Play-by-Play API

The NHL v3 Play-by-Play API from SportsDataIO — 3 operation(s) for nhl v3 play-by-play.

OpenAPI Specification

sportsdataio-nhl-v3-play-by-play-api-openapi.yml Raw ↑
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 <code>JSON</code> or <code>XML</code>.
        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 <code>14620</code> or <code>16905</code>
        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 <code>JSON</code> or <code>XML</code>.
        required: true
        schema:
          type: string
          enum:
          - JSON
          - XML
          default: JSON
      - name: date
        in: path
        description: 'The date of the game(s).

          <br>Examples: <code>2018-JAN-31</code>, <code>2017-OCT-01</code>.'
        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:

          <code>1</code>, <code>2</code> ... <code>all</code>.'
        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 <code>JSON</code> or <code>XML</code>.
        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 <code>14620</code> or <code>16905</code>
        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