Skip to contents

This function allows you to scrape all leaderboard statistics (basic and advanced) from FanGraphs.com.

Usage

fg_fielder_leaders(
  age = "",
  pos = "all",
  stats = "fld",
  lg = "all",
  qual = "0",
  startseason = "2023",
  endseason = "2023",
  startdate = "",
  enddate = "",
  month = "0",
  hand = "",
  team = "0",
  pageitems = "10000",
  pagenum = "1",
  ind = "0",
  rost = "0",
  players = "",
  type = "1",
  postseason = "",
  sortdir = "default",
  sortstat = "Defense"
)

Arguments

age

(integer) Age of players

pos

(character) Position of players, defaults to "all". To exclude pitchers, use "np".

stats

(character) Statistic to return. Defaults to "bat".

lg

(character) League to return. Defaults to "all". Options are "al", "nl", or "all".

qual

(character) Whether you want only batters/pitchers that qualified in a given season, or the minimum number of plate appearances for inclusion. If you only want qualified hitters, use qual. If a minimum number of plate appearaces/innings pitched, use the number desired. Defaults to "y".

startseason

(character) Season for which you want to scrape the data.

endseason

(character) Last season for which you want data.

startdate

(character) Start date for which you want data.

enddate

(character) End date for which you want data.

month

(character) Month for which you want data.

hand

(character) Handedness of batter. Options are "L", "R", or "B". Empty string returns all.

team

(character) Teams for which you want data, comma separated.

pageitems

(character) Number of items per page.

pagenum

(character) Page number.

ind

(character) Whether or not to break the seasons out individual, or roll them up together. 1 = split seasons, 0 = aggregate seasons.

rost

(character) Whether or not to include players on the roster. 1 = include, 0 = exclude.

players

(character) Whether or not to include players on the roster. 1 = include only active roster players, 0 = exclude.

type

(character) Defaults to 8, which is the standard leaderboard. The values for the leaderboards appear to go to from type = 0 to 48+, which correspond to links on the leaderboard page.

postseason

(logical) Whether or not to include postseason data. TRUE = include postseason, FALSE = exclude postseason.

sortdir

(character) Sort direction. Options are "asc" or "desc" or "default".

sortstat

(character) Sort by stat. Default is "Defense".

Value

A data frame of fielder data.

col_nametypesdescription
SeasonintegerSeason (YYYY).
team_namecharacterTeam name.
xMLBAMIDintegerMLBAM player ID.
PlayerNameRoutecharacterPlayer name URL slug used by FanGraphs.
PlayerNamecharacterPlayer name.
playeridintegerFanGraphs player ID.
SeasonMinintegerFirst season in the queried span.
SeasonMaxintegerLast season in the queried span.
PoscharacterPrimary position.
PositioncharacterPosition played.
GintegerGames played.
GSintegerGames started.
InnnumericInnings played in the field.
POintegerPutouts.
AintegerAssists.
EintegerErrors.
FEintegerFielding errors.
TEintegerThrowing errors.
DPintegerDouble plays.
DPSintegerDouble plays started.
DPTintegerDouble plays turned.
DPFintegerDouble plays finished.
SBintegerStolen bases.
CSintegerCaught stealing.
PBintegerPassed balls.
WPintegerWild pitches.
FPnumericFielding percentage.
rSBintegerStolen-base runs (catcher arm).
rGFPintegerGood-fielding-play runs.
rSZnumericStrike-zone (framing) runs.
rCERAintegerCatcher-ERA runs.
DRSintegerDefensive Runs Saved.
DefensenumericTotal defensive value (runs above average).
CStrikesnumericCatcher framing called strikes above average.
CFramingnumericCatcher framing runs.
dFRPintegerDouble-play component of Fielding Run Prevention.
bFRPintegerBunt component of Fielding Run Prevention.
tFRPintegerThrowing component of Fielding Run Prevention.
fFRPintegerFraming component of Fielding Run Prevention.
FRPintegerTotal Fielding Run Prevention.
QnumericQuality of contact / quality score.
TInnnumericTotal innings played in the field.
positionDBcharacterPosition code from the database.
teamidintegerFanGraphs team ID.
team_name_abbcharacterTeam name abbreviation.
playerTeamIdintegerFanGraphs player-team ID.
rGDPintegerDouble-play runs.
rPMintegerPlus/minus range runs.
BIZintegerBalls hit in defensive zone.
PlaysintegerPlays made in zone.
RZRnumericRevised Zone Rating.
OOZintegerPlays made out of zone.
DPRnumericDouble-play runs (UZR component).
RngRnumericRange runs (UZR component).
ErrRnumericError runs (UZR component).
UZRnumericUltimate Zone Rating.
UZR_150numericUltimate Zone Rating per 150 defensive games.
OAAintegerOuts Above Average (Statcast).
rFRPintegerRange component of Fielding Run Prevention.
aFRPintegerArm component of Fielding Run Prevention.
rARMintegerOutfield-arm runs.
ARMnumericOutfield-arm runs (UZR component).
ScpintegerScoops (first-base picks).

Examples

# \donttest{
  try(fg_fielder_leaders(startseason = 2023, endseason = 2023))
#> ── MLB Player Fielding Leaders data from FanGraphs.com ─────────────────
#>  Data updated: 2026-06-12 14:08:51 UTC
#> # A tibble: 2,293 × 63
#>    Season team_name xMLBAMID PlayerNameRoute   PlayerName       playerid
#>     <int> <chr>        <int> <chr>             <chr>               <int>
#>  1   2023 SFG         672275 Patrick Bailey    Patrick Bailey      27478
#>  2   2023 - - -       595978 Austin Hedges     Austin Hedges       12976
#>  3   2023 MIL         661388 William Contreras William Contrer…    20503
#>  4   2023 NYM         682626 Francisco Alvarez Francisco Alvar…    26121
#>  5   2023 CHC         621020 Dansby Swanson    Dansby Swanson      18314
#>  6   2023 TEX         641680 Jonah Heim        Jonah Heim          16930
#>  7   2023 ATL         669221 Sean Murphy       Sean Murphy         19352
#>  8   2023 TOR         672386 Alejandro Kirk    Alejandro Kirk      22581
#>  9   2023 SEA         663728 Cal Raleigh       Cal Raleigh         21534
#> 10   2023 COL         678662 Ezequiel Tovar    Ezequiel Tovar      24064
#> # ℹ 2,283 more rows
#> # ℹ 57 more variables: SeasonMin <int>, SeasonMax <int>, Pos <chr>,
#> #   Position <chr>, G <int>, GS <int>, Inn <dbl>, PO <int>, A <int>,
#> #   E <int>, FE <int>, TE <int>, DP <int>, DPS <int>, DPT <int>,
#> #   DPF <int>, SB <int>, CS <int>, PB <int>, WP <int>, FP <dbl>,
#> #   rSB <int>, rGFP <int>, rSZ <dbl>, rCERA <int>, DRS <int>,
#> #   Defense <dbl>, CStrikes <dbl>, CFraming <dbl>, dFRP <int>, …
# }