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