Skip to contents

Returns the index of contract seasons recorded for an NBA athlete from sports.core.api.espn.com/v2/sports/basketball/leagues/nba/athletes/{athlete_id}/contracts. Each row is one contract year — pass the season to espn_nba_player_contract() for the full contract record.

Returns the full contract record for one NBA athlete in one season, including salary, cap-rule flags, option type, Bird status, and trade protections. Backed by sports.core.api.espn.com/v2/sports/basketball/leagues/nba/athletes/{athlete_id}/contracts/{season}.

Usage

espn_nba_player_contracts(athlete_id, ...)

espn_nba_player_contract(athlete_id, season = most_recent_nba_season(), ...)

Arguments

athlete_id

ESPN athlete identifier (character or numeric).

...

Additional arguments; currently unused.

season

Season year (numeric). Defaults to the most recent NBA season.

Value

A tibble with one row per contract year.

col_nametypesdescription
athlete_idcharacterESPN athlete identifier.
seasonintegerContract season year.
refcharacterFull $ref URL for the contract detail.
leaguecharacterLeague slug ("nba").

A single-row tibble.

col_nametypesdescription
athlete_idcharacterESPN athlete identifier.
seasonintegerContract season year.
bird_statusintegerBird-rights tier (0 = Non, 1 = Early, 2 = Full).
salarynumericTotal cap-counting salary for the season ($).
salary_remainingnumericRemaining salary owed.
years_remainingintegerYears left on the contract.
incoming_trade_valuenumericTrade value if receiving this contract ($).
outgoing_trade_valuenumericTrade value if sending out this contract ($).
option_typeintegerOption type code (e.g. team / player option).
minimum_salary_exceptionlogicalSigned under the minimum-salary exception.
trade_restrictionlogicalWhether a trade restriction is active.
unsigned_foreign_picklogicalUnsigned-foreign-pick flag.
activelogicalWhether the contract is currently active.
base_year_compensation_activelogicalBase-year-compensation rule active.
poison_pill_provision_activelogicalPoison-pill provision active.
trade_kicker_activelogicalTrade kicker active.
trade_kicker_percentagenumericTrade kicker percentage of salary.
trade_kicker_valuenumericTrade kicker dollar value.
trade_kicker_trade_valuenumericTrade kicker post-trade dollar value.
season_refcharacter$ref to the season resource.
team_refcharacter$ref to the team-in-season resource.
team_idcharacterESPN team id parsed from team_ref.
leaguecharacterLeague slug ("nba").

See also

Other ESPN NBA Functions: espn_mbb_athletes_index(), espn_mbb_award(), espn_mbb_calendar(), espn_mbb_coach(), espn_mbb_coach_record(), espn_mbb_coach_season(), espn_mbb_coaches(), espn_mbb_conferences(), espn_mbb_franchise(), espn_mbb_franchises(), espn_mbb_futures(), espn_mbb_game_all(), espn_mbb_game_odds(), espn_mbb_game_official_detail(), espn_mbb_game_play(), espn_mbb_game_play_personnel(), espn_mbb_game_player_box(), espn_mbb_game_probabilities(), espn_mbb_game_propbets(), espn_mbb_game_team_linescores(), espn_mbb_game_team_roster_entry(), espn_mbb_injuries(), espn_mbb_leaders(), espn_mbb_news(), espn_mbb_player_awards(), espn_mbb_player_career_stats(), espn_mbb_player_eventlog_v2(), espn_mbb_player_info(), espn_mbb_player_overview(), espn_mbb_player_seasons(), espn_mbb_player_stats(), espn_mbb_position(), espn_mbb_positions(), espn_mbb_powerindex(), espn_mbb_scoreboard(), espn_mbb_season_awards(), espn_mbb_season_group(), espn_mbb_season_groups(), espn_mbb_season_info(), espn_mbb_season_leaders(), espn_mbb_season_ranking(), espn_mbb_season_rankings(), espn_mbb_season_type(), espn_mbb_season_types(), espn_mbb_season_week(), espn_mbb_season_weeks(), espn_mbb_seasons(), espn_mbb_standings(), espn_mbb_team(), espn_mbb_team_current_roster(), espn_mbb_team_injuries(), espn_mbb_team_news(), espn_mbb_team_odds_records(), espn_mbb_team_record(), espn_mbb_team_record_detail(), espn_mbb_team_schedule(), espn_mbb_team_season_roster(), espn_mbb_team_season_statistics(), espn_mbb_team_stats(), espn_mbb_teams(), espn_mbb_tournament(), espn_mbb_tournament_season(), espn_mbb_tournament_seasons(), espn_mbb_tournaments(), espn_mbb_venues(), espn_mbb_week_ranking(), espn_mbb_week_rankings(), espn_mbb_wp(), espn_nba_draft_pick(), espn_nba_freeagents(), espn_nba_team_depthchart(), espn_nba_transactions()

Author

Saiem Gilani

Examples

# \donttest{
  # LeBron James — athlete id 1966
  espn_nba_player_contracts(athlete_id = 1966)
#> ── ESPN NBA Athlete Contracts Index ───────────────────────────── hoopR 3.1.0 ──
#>  Data updated: 2026-08-27 17:47:47 UTC
#> # A tibble: 20 × 4
#>    athlete_id season ref                                                  league
#>    <chr>       <int> <chr>                                                <chr> 
#>  1 1966         2026 http://sports.core.api.espn.com/v2/sports/basketbal… nba   
#>  2 1966         2025 http://sports.core.api.espn.com/v2/sports/basketbal… nba   
#>  3 1966         2024 http://sports.core.api.espn.com/v2/sports/basketbal… nba   
#>  4 1966         2023 http://sports.core.api.espn.com/v2/sports/basketbal… nba   
#>  5 1966         2022 http://sports.core.api.espn.com/v2/sports/basketbal… nba   
#>  6 1966         2021 http://sports.core.api.espn.com/v2/sports/basketbal… nba   
#>  7 1966         2020 http://sports.core.api.espn.com/v2/sports/basketbal… nba   
#>  8 1966         2019 http://sports.core.api.espn.com/v2/sports/basketbal… nba   
#>  9 1966         2017 http://sports.core.api.espn.com/v2/sports/basketbal… nba   
#> 10 1966         2016 http://sports.core.api.espn.com/v2/sports/basketbal… nba   
#> 11 1966         2015 http://sports.core.api.espn.com/v2/sports/basketbal… nba   
#> 12 1966         2014 http://sports.core.api.espn.com/v2/sports/basketbal… nba   
#> 13 1966         2013 http://sports.core.api.espn.com/v2/sports/basketbal… nba   
#> 14 1966         2012 http://sports.core.api.espn.com/v2/sports/basketbal… nba   
#> 15 1966         2011 http://sports.core.api.espn.com/v2/sports/basketbal… nba   
#> 16 1966         2010 http://sports.core.api.espn.com/v2/sports/basketbal… nba   
#> 17 1966         2009 http://sports.core.api.espn.com/v2/sports/basketbal… nba   
#> 18 1966         2008 http://sports.core.api.espn.com/v2/sports/basketbal… nba   
#> 19 1966         2007 http://sports.core.api.espn.com/v2/sports/basketbal… nba   
#> 20 1966         2006 http://sports.core.api.espn.com/v2/sports/basketbal… nba   
# }
# \donttest{
  # LeBron James 2025 contract
  espn_nba_player_contract(athlete_id = 1966, season = 2025)
#> ── ESPN NBA Athlete Contract from ESPN.com ────────────────────── hoopR 3.1.0 ──
#>  Data updated: 2026-08-27 17:47:47 UTC
#> # A tibble: 1 × 23
#>   athlete_id season bird_status   salary salary_remaining years_remaining
#>   <chr>       <int>       <int>    <int>            <int>           <int>
#> 1 1966         2025           0 48728845                0               2
#> # ℹ 17 more variables: incoming_trade_value <int>, outgoing_trade_value <int>,
#> #   option_type <int>, minimum_salary_exception <lgl>, trade_restriction <lgl>,
#> #   unsigned_foreign_pick <lgl>, active <lgl>,
#> #   base_year_compensation_active <lgl>, poison_pill_provision_active <lgl>,
#> #   trade_kicker_active <lgl>, trade_kicker_percentage <dbl>,
#> #   trade_kicker_value <int>, trade_kicker_trade_value <int>, season_ref <chr>,
#> #   team_ref <chr>, team_id <chr>, league <chr>
# }