UNPKG

@balldontlie/sdk

Version:

Official TypeScript/JavaScript SDK for the balldontlie API

815 lines (814 loc) 23.3 kB
export declare class APIError extends Error { statusCode: number; response?: any | undefined; constructor(message: string, statusCode: number, response?: any | undefined); } export declare class AuthenticationError extends APIError { } export declare class ValidationError extends APIError { } export declare class NotFoundError extends APIError { } export declare class RateLimitError extends APIError { } export declare class ServerError extends APIError { } export interface Pagination { next_cursor: number; per_page: number; } export interface ApiResponse<T> { data: T; meta?: Pagination; } export interface NBATeam { id: number; conference: "East" | "West"; division: "Atlantic" | "Central" | "Southeast" | "Northwest" | "Pacific" | "Southwest"; city: string; name: string; full_name: string; abbreviation: string; } export interface NBAPlayer { id: number; first_name: string; last_name: string; position: string | null; height: string | null; weight: string | null; jersey_number: string | null; college: string | null; country: string | null; draft_year: number | null; draft_round: number | null; draft_number: number | null; team?: NBATeam; team_id?: number; } export interface NBAGame { id: number; date: string; season: number; status: string; period: number; time: string; postseason: boolean; home_team_score: number; visitor_team_score: number; home_team?: NBATeam; home_team_id?: NBATeam; visitor_team?: NBATeam; visitor_team_id?: number; } export interface NBAStats { id: number; min: string; fgm: number | null; fga: number | null; fg_pct: number | null; fg3m: number | null; fg3a: number | null; fg3_pct: number | null; ftm: number | null; fta: number | null; ft_pct: number | null; oreb: number | null; dreb: number | null; reb: number | null; ast: number | null; stl: number | null; blk: number | null; turnover: number | null; pf: number | null; pts: number | null; player: NBAPlayer; team?: NBATeam; game?: NBAGame; } export interface NBASeasonAverages { games_played: number; pts: number | null; ast: number | null; reb: number | null; stl: number | null; blk: number | null; turnover: number | null; min: string | null; fgm: number | null; fga: number | null; fg_pct: number | null; fg3m: number | null; fg3a: number | null; fg3_pct: number | null; ftm: number | null; fta: number | null; ft_pct: number | null; oreb: number | null; dreb: number | null; player_id: number; season: number; } export interface NBAStandings { team: NBATeam; conference_record: string; conference_rank: number; division_record: string; division_rank: number; wins: number; losses: number; home_record: string; road_record: string; season: number; } export interface NBABoxScoreTeam extends NBATeam { players: NBAStats[]; } export interface NBABoxScore { date: string; season: number; status: string; period: number; time: string; postseason: boolean; home_team_score: number; visitor_team_score: number; home_team: NBABoxScoreTeam; visitor_team: NBABoxScoreTeam; } export interface NBAPlayerInjury { player: NBAPlayer; return_date: string | null; description: string | null; status: string; } export interface NBALeader { player: NBAPlayer; value: number; stat_type: "reb" | "dreb" | "tov" | "ast" | "oreb" | "min" | "pts" | "stl" | "blk"; rank: number; season: number; games_played: number; } export interface NBAOdds { type: "2way" | "spread" | "over/under"; vendor: string; live: boolean; game_id: number; odds_decimal_home: string; odds_decimal_visitor: string; odds_american_home: string; odds_american_visitor: string; away_spread?: string; over_under?: string; } export interface NBAAdvancedStats { id: number; pie: number | null; pace: number | null; assist_percentage: number | null; assist_ratio: number | null; assist_to_turnover: number | null; defensive_rating: number | null; defensive_rebound_percentage: number | null; effective_field_goal_percentage: number | null; net_rating: number | null; offensive_rating: number | null; offensive_rebound_percentage: number | null; rebound_percentage: number | null; true_shooting_percentage: number | null; turnover_ratio: number | null; usage_percentage: number | null; player: NBAPlayer; team: NBATeam; game: NBAGame; } export interface NFLTeam { id: number; conference: "AFC" | "NFC"; division: "NORTH" | "SOUTH" | "EAST" | "WEST"; location: string; name: string; full_name: string; abbreviation: string; } export interface NFLPlayer { id: number; first_name: string; last_name: string; position: string; position_abbreviation: string; height: string; weight: string; jersey_number: string; college: string; experience: string; age: number; team?: NFLTeam; team_id?: number; } export interface NFLGame { id: number; visitor_team: NFLTeam; home_team: NFLTeam; summary?: string; venue?: string; week: number; date: string; season: number; postseason: boolean; status: string; home_team_score: number | null; home_team_q1: number | null; home_team_q2: number | null; home_team_q3: number | null; home_team_q4: number | null; home_team_ot: number | null; visitor_team_score: number | null; visitor_team_q1: number | null; visitor_team_q2: number | null; visitor_team_q3: number | null; visitor_team_q4: number | null; visitor_team_ot: number | null; } export interface NFLStats { player: NFLPlayer; team: NFLTeam; game: NFLGame; passing_completions: number | null; passing_attempts: number | null; passing_yards: number | null; yards_per_pass_attempt: number | null; passing_touchdowns: number | null; passing_interceptions: number | null; sacks: number | null; sacks_loss: number | null; qbr: number | null; qb_rating: number | null; rushing_attempts: number | null; rushing_yards: number | null; yards_per_rush_attempt: number | null; rushing_touchdowns: number | null; long_rushing: number | null; receptions: number | null; receiving_yards: number | null; yards_per_reception: number | null; receiving_touchdowns: number | null; long_reception: number | null; receiving_targets: number | null; fumbles: number | null; fumbles_lost: number | null; fumbles_recovered: number | null; total_tackles: number | null; defensive_sacks: number | null; solo_tackles: number | null; tackles_for_loss: number | null; passes_defended: number | null; qb_hits: number | null; fumbles_touchdowns: number | null; defensive_interceptions: number | null; interception_yards: number | null; interception_touchdowns: number | null; kick_returns: number | null; kick_return_yards: number | null; yards_per_kick_return: number | null; long_kick_return: number | null; kick_return_touchdowns: number | null; punt_returns: number | null; punt_return_yards: number | null; yards_per_punt_return: number | null; long_punt_return: number | null; punt_return_touchdowns: number | null; field_goal_attempts: number | null; field_goals_made: number | null; field_goal_pct: number | null; long_field_goal_made: number | null; extra_points_made: number | null; total_points: number | null; punts: number | null; punt_yards: number | null; gross_avg_punt_yards: number | null; touchbacks: number | null; punts_inside_20: number | null; long_punt: number | null; } export interface NFLStandings { team: NFLTeam; win_streak: number | null; points_for: number | null; points_against: number | null; playoff_seed: number | null; point_differential: number | null; overall_record: string | null; conference_record: string | null; division_record: string | null; wins: number | null; losses: number | null; ties: number | null; home_record: string; road_record: string; season: number; } export interface NFLPlayerInjury { player: NFLPlayer; status: string; comment: string; date: string; } export interface NFLSeasonStats { player: NFLPlayer; games_played: number; season: number; postseason: boolean; passing_completions: number | null; passing_attempts: number | null; passing_yards: number | null; yards_per_pass_attempt: number | null; passing_touchdowns: number | null; passing_interceptions: number | null; passing_yards_per_game: number | null; passing_completion_pct: number | null; qbr: number | null; rushing_attempts: number | null; rushing_yards: number | null; rushing_yards_per_game: number | null; yards_per_rush_attempt: number | null; rushing_touchdowns: number | null; rushing_fumbles: number | null; rushing_fumbles_lost: number | null; rushing_first_downs: number | null; receptions: number | null; receiving_yards: number | null; yards_per_reception: number | null; receiving_touchdowns: number | null; receiving_fumbles: number | null; receiving_fumbles_lost: number | null; receiving_first_downs: number | null; receiving_targets: number | null; receiving_yards_per_game: number | null; fumbles_forced: number | null; fumbles_recovered: number | null; total_tackles: number | null; defensive_sacks: number | null; defensive_sack_yards: number | null; solo_tackles: number | null; assist_tackles: number | null; fumbles_touchdowns: number | null; defensive_interceptions: number | null; interception_touchdowns: number | null; kick_returns: number | null; kick_return_yards: number | null; yards_per_kick_return: number | null; kick_return_touchdowns: number | null; punt_returner_returns: number | null; punt_returner_return_yards: number | null; yards_per_punt_return: number | null; punt_return_touchdowns: number | null; field_goal_attempts: number | null; field_goals_made: number | null; field_goal_pct: number | null; punts: number | null; punt_yards: number | null; field_goals_made_1_19: number | null; field_goals_made_20_29: number | null; field_goals_made_30_39: number | null; field_goals_made_40_49: number | null; field_goals_made_50: number | null; field_goals_attempts_1_19: number | null; field_goals_attempts_20_29: number | null; field_goals_attempts_30_39: number | null; field_goals_attempts_40_49: number | null; field_goals_attempts_50: number | null; } export interface NFLAdvancedRushingStats { player: NFLPlayer; season: number; week: number; avg_time_to_los: number; expected_rush_yards: number; rush_attempts: number; rush_pct_over_expected: number; rush_touchdowns: number; rush_yards: number; rush_yards_over_expected: number; rush_yards_over_expected_per_att: number; efficiency: number; percent_attempts_gte_eight_defenders: number; avg_rush_yards: number; } export interface NFLAdvancedPassingStats { player: NFLPlayer; season: number; week: number; aggressiveness: number; attempts: number; avg_air_distance: number; avg_air_yards_differential: number; avg_air_yards_to_sticks: number; avg_completed_air_yards: number; avg_intended_air_yards: number; avg_time_to_throw: number; completion_percentage: number; completion_percentage_above_expectation: number; completions: number; expected_completion_percentage: number; games_played: number; interceptions: number; max_air_distance: number; max_completed_air_distance: number; pass_touchdowns: number; pass_yards: number; passer_rating: number; } export interface NFLAdvancedReceivingStats { player: NFLPlayer; season: number; week: number; avg_cushion: number; avg_expected_yac: number; avg_intended_air_yards: number; avg_separation: number; avg_yac: number; avg_yac_above_expectation: number; catch_percentage: number; percent_share_of_intended_air_yards: number; rec_touchdowns: number; receptions: number; targets: number; yards: number; } export interface MLBTeam { id: number; slug: string; abbreviation: string; display_name: string; short_display_name: string; name: string; location: string; league: "American" | "National"; division: "East" | "Central" | "West"; } export interface MLBPlayer { id: number; first_name: string; last_name: string; full_name: string; debut_year: number | null; jersey: string | null; college: string | null; position: string; active: boolean; birth_place: string | null; dob: string | null; age: number | null; height: string | null; weight: string | null; draft: string | null; bats_throws: string | null; team: MLBTeam; } export interface MLBGame { id: number; home_team_name: string; away_team_name: string; home_team: MLBTeam; away_team: MLBTeam; season: number; postseason: boolean; date: string; home_team_data: { hits: number; runs: number; errors: number; inning_scores: number[]; }; away_team_data: { hits: number; runs: number; errors: number; inning_scores: number[]; }; venue: string | null; attendance: number | null; status: string; scoring_summary: Array<{ play: string; inning: string; period: string; away_score: number; home_score: number; }>; } export interface MLBStats { player: MLBPlayer; game: MLBGame; team_name: string; at_bats: number | null; runs: number | null; hits: number | null; rbi: number | null; hr: number | null; bb: number | null; k: number | null; avg: number | null; obp: number | null; slg: number | null; ip: number | null; p_hits: number | null; p_runs: number | null; er: number | null; p_bb: number | null; p_k: number | null; p_hr: number | null; pitch_count: number | null; strikes: number | null; era: number | null; } export interface MLBStandings { team: MLBTeam; league_name: string; league_short_name: string; division_name: string; division_short_name: string; ot_losses: number | null; ot_wins: number | null; avg_points_against: number | null; avg_points_for: number | null; clincher: number | null; differential: number | null; division_win_percent: number | null; games_behind: number | null; games_played: number | null; league_win_percent: number | null; losses: number | null; playoff_seed: number | null; point_differential: number | null; game_back_points: number | null; points_against: number | null; points_for: number | null; streak: number | null; ties: number | null; win_percent: number | null; wins: number | null; division_games_behind: number | null; division_percent: number | null; division_tied: number | null; home_losses: number | null; home_ties: number | null; home_wins: number | null; magic_number_division: number | null; magic_number_wildcard: number | null; playoff_percent: number | null; road_losses: number | null; road_ties: number | null; road_wins: number | null; wildcard_percent: number | null; total: string | null; home: string | null; road: string | null; intra_division: string | null; intra_league: string | null; last_ten_games: string | null; } export interface MLBSeasonStats { player: MLBPlayer; team_name: string; season: number; postseason: boolean; batting_gp: number | null; batting_ab: number | null; batting_r: number | null; batting_h: number | null; batting_avg: number | null; batting_2b: number | null; batting_3b: number | null; batting_hr: number | null; batting_rbi: number | null; batting_bb: number | null; batting_so: number | null; batting_sb: number | null; batting_obp: number | null; batting_slg: number | null; batting_ops: number | null; batting_war: number | null; pitching_gp: number | null; pitching_gs: number | null; pitching_w: number | null; pitching_l: number | null; pitching_era: number | null; pitching_sv: number | null; pitching_ip: number | null; pitching_h: number | null; pitching_er: number | null; pitching_hr: number | null; pitching_bb: number | null; pitching_k: number | null; pitching_war: number | null; fielding_gp: number | null; fielding_gs: number | null; fielding_fip: number | null; fielding_tc: number | null; fielding_po: number | null; fielding_a: number | null; fielding_fp: number | null; fielding_e: number | null; fielding_dp: number | null; fielding_rf: number | null; fielding_dwar: number | null; fielding_pb: number | null; fielding_cs: number | null; fielding_cs_percent: number | null; fielding_sba: number | null; } export interface MLBTeamSeasonStats { team: MLBTeam; team_name: string; postseason: boolean; season: number; gp: number | null; batting_ab: number | null; batting_r: number | null; batting_h: number | null; batting_2b: number | null; batting_3b: number | null; batting_hr: number | null; batting_rbi: number | null; batting_tb: number | null; batting_bb: number | null; batting_so: number | null; batting_sb: number | null; batting_avg: number | null; batting_obp: number | null; batting_slg: number | null; batting_ops: number | null; pitching_w: number | null; pitching_l: number | null; pitching_era: number | null; pitching_sv: number | null; pitching_cg: number | null; pitching_sho: number | null; pitching_qs: number | null; pitching_ip: number | null; pitching_h: number | null; pitching_er: number | null; pitching_hr: number | null; pitching_bb: number | null; pitching_k: number | null; pitching_oba: number | null; pitching_whip: number | null; fielding_e: number | null; fielding_fp: number | null; fielding_tc: number | null; fielding_po: number | null; fielding_a: number | null; } export interface MLBPlayerInjury { player: MLBPlayer; date: string; return_date: string | null; type: string; detail: string; side: string; status: string; long_comment: string | null; short_comment: string | null; } export interface ClientConfig { apiKey: string; baseUrl?: string; } export interface EPLTeam { id: number; name: string; short_name: string; abbr: string; city: string; stadium: string; } export interface EPLPlayer { id: number; position: string | null; national_team: string | null; height: number | null; weight: number | null; birth_date: string | null; age: string | null; name?: string; first_name: string | null; last_name: string | null; team_ids?: number[] | null; } export interface EPLTeamSeasonStat { value: number; name: string; rank: number; season: number; } export interface EPLPlayerSeasonStat { value: number; name: string; rank: number; season: number; } export interface EPLGame { id: number; week: number; kickoff: string | null; provisional_kickoff: string | null; home_team_id: number; away_team_id: number; home_score: number | null; away_score: number | null; status: string | null; season: number; ground: string | null; clock: number | null; clock_display: string | null; extra_time: boolean | null; } export interface EPLGameLineup { team_id: number; player: EPLPlayer; substitute: boolean; captain: boolean; position: string | null; shirt_number: number | null; sub_clock: number | null; sub_clock_display: string | null; } export interface EPLGameGoal { game_id: number; scorer: EPLPlayer; assister: EPLPlayer | null; clock: number; clock_display: string | null; phase: string | null; type: string | null; } export interface EPLGameTeamStats { game_id: number; teams: Array<{ team_id: number; stats: Array<{ name: string; value: number; }>; }>; } export interface EPLGamePlayerStats { game_id: number; players: Array<{ team_id: number; player_id: number; stats: Array<{ name: string; value: number; }>; }>; } export interface EPLStanding { team: EPLTeam; season: number; position: number; form: string; home_played: number; home_drawn: number; home_won: number; home_lost: number; home_goals_against: number; home_goals_difference: number; home_goals_for: number; home_points: number; away_played: number; away_drawn: number; away_won: number; away_lost: number; away_goals_against: number; away_goals_difference: number; away_goals_for: number; away_points: number; overall_played: number; overall_drawn: number; overall_won: number; overall_lost: number; overall_goals_against: number; overall_goals_difference: number; overall_goals_for: number; overall_points: number; } export interface EPLPlayerStatLeaders { player: EPLPlayer; season: number; rank: number; value: number; name: EPLPlayerStatType; } export interface EPLTeamStatLeaders { team: EPLTeam; season: number; rank: number; value: number; name: EPLTeamStatType; } export type EPLPlayerStatType = "goals" | "goal_assist" | "clean_sheet" | "appearances" | "mins_played" | "yellow_card" | "red_card" | "total_pass" | "touches" | "total_scoring_att" | "hit_woodwork" | "big_chance_missed" | "total_offside" | "total_tackle" | "fouls" | "dispossessed" | "own_goals" | "total_clearance" | "clearance_off_line" | "saves" | "penalty_save" | "total_high_claim" | "punches"; export type EPLTeamStatType = "wins" | "losses" | "touches" | "own_goals" | "total_yel_card" | "total_red_card" | "goals" | "total_pass" | "total_scoring_att" | "total_offside" | "hit_woodwork" | "big_chance_missed" | "total_tackle" | "total_clearance" | "clearance_off_line" | "dispossessed" | "clean_sheet" | "saves" | "penalty_save" | "total_high_claim" | "punches";