library(fflr)
packageVersion("fflr")
#> [1] '2.2.0'
ffl_id(leagueId = "42654852")
#> Temporarily set `fflr.leagueId` option to 42654852
#> [1] "42654852"
This vignette will demonstrate the fflr functions used to reach equivalency with the ESPN fantasy football website. The website has eight section headers with various subsections:
The My Team page presents an overview of, well, your fantasy team. From this page, a team manager can set their lineup and see statistics and news on the players on their roster.
There are six subsections on the My Team page.
The team_roster()
function returns all rosters
in a league. The output of this function is organized to replicate the
layout of the table found on the website. Players are listed in order of
their “slot” with name and team information followed by projected and
actual scores and ownership statistics.
my_team <- team_roster(scoringPeriodId = 1)[[1]] # select first roster
my_team[, -(1:3)]
#> # A tibble: 16 × 13
#> abbrev lineupSlot playerId firstName lastName proTeam position injuryStatus
#> <fct> <fct> <int> <chr> <chr> <fct> <fct> <chr>
#> 1 AUS QB 3139477 Patrick Mahomes KC QB A
#> 2 AUS RB 3117251 Christian McCaffrey SF RB A
#> 3 AUS RB 4430807 Bijan Robinson Atl RB A
#> 4 AUS WR 2977187 Cooper Kupp LAR WR I
#> 5 AUS WR 4372016 Jaylen Waddle Mia WR A
#> 6 AUS TE 2576925 Darren Waller NYG TE A
#> 7 AUS FLEX 3916148 Tony Pollard Dal RB A
#> 8 AUS D/ST -16018 Saints D/ST NO D/ST A
#> 9 AUS K 15683 Justin Tucker Bal K A
#> 10 AUS BE 4361370 Chris Olave NO WR A
#> 11 AUS BE 4241478 DeVonta Smith Phi WR A
#> 12 AUS BE 4360238 Dameon Pierce Hou RB A
#> 13 AUS BE 3126486 Deebo Samuel SF WR A
#> 14 AUS BE 15795 DeAndre Hopkins Ten WR A
#> 15 AUS BE 3116165 Chris Godwin TB WR A
#> 16 AUS BE 4567048 Kenneth Walker III Sea RB A
#> # ℹ 5 more variables: projectedScore <dbl>, actualScore <dbl>, percentStarted <dbl>,
#> # percentOwned <dbl>, percentChange <dbl>
The player_outlook()
and player_news()
functions return news on your roster. The first returns all
outlooks by player and week and cannot be refined beyond setting a
limit
of players to return (in order of rank).
player_outlook(limit = 1)
#> # A tibble: 3 × 6
#> seasonId scoringPeriodId id firstName lastName outlook
#> <int> <int> <int> <chr> <chr> <chr>
#> 1 2023 0 4262921 Justin Jefferson No wide receiver has scored more f…
#> 2 2023 1 4262921 Justin Jefferson Fresh from posting an epic seven g…
#> 3 2023 2 4262921 Justin Jefferson The Eagles are likely to be down a…
The second fiction takes a single playerId
value and
returns all the recent news on that player, including premium stories in
HTML format.
player_news(playerId = "3139477", parseHTML = FALSE)
#> # A tibble: 7 × 6
#> id published type premium headline body
#> <int> <dttm> <chr> <lgl> <chr> <chr>
#> 1 3139477 2023-09-08 03:41:25 Rotowire FALSE Mahomes completed 21 of 39 passes fo… "Mah…
#> 2 3139477 2023-09-07 12:21:56 Story FALSE Erin Dolan's top betting storylines … "<p>…
#> 3 3139477 2023-08-26 15:22:45 Rotowire FALSE Mahomes isn't in line to see action … "Per…
#> 4 3139477 2023-08-20 03:49:42 Rotowire FALSE Mahomes completed 10 of 15 passes fo… "Mah…
#> 5 3139477 2023-08-17 15:01:00 Rotowire FALSE Coach Andy Reid said Thursday that M… "Mah…
#> 6 3139477 2023-08-14 17:23:30 Story FALSE 2023 NFL betting: Preseason props on… "<p>…
#> 7 3139477 2023-08-13 20:45:55 Rotowire FALSE Mahomes played only the opening driv… "Mah…
ESPN fantasy leagues have their own unique settings and structure. This package has been tested for a very narrow subset of those possible settings.
league_info(leagueId = "42654852")
#> # A tibble: 1 × 6
#> id seasonId name isPublic size finalScoringPeriod
#> <int> <int> <chr> <lgl> <int> <int>
#> 1 42654852 2023 FFLR Test League TRUE 4 17
league_name()
#> [1] "FFLR Test League"
league_size()
#> # A tibble: 1 × 2
#> seasonId size
#> <int> <int>
#> 1 2023 4
str(league_status())
#> tibble [1 × 12] (S3: tbl_df/tbl/data.frame)
#> $ year : int 2023
#> $ isActive : logi TRUE
#> $ activatedDate : POSIXct[1:1], format: "2023-09-04 22:42:21"
#> $ scoringPeriodId : int 2
#> $ firstScoringPeriod : int 1
#> $ finalScoringPeriod : int 17
#> $ previousSeasons :List of 1
#> ..$ : int [1:2] 2021 2022
#> $ standingsUpdateDate : POSIXct[1:1], format: "2023-09-13 04:31:33"
#> $ teamsJoined : int 4
#> $ waiverLastExecutionDate: POSIXct[1:1], format: "2023-09-13 04:31:33"
#> $ waiverNextExecutionDate: POSIXct[1:1], format: NA
#> $ waiverProcessStatus :List of 1
#> ..$ :'data.frame': 0 obs. of 1 variable:
#> .. ..$ date: 'POSIXct' num(0)
#> - attr(*, "tzone")= chr ""
draft_settings()
#> # A tibble: 1 × 13
#> seasonId auctionBudget availableDate date isTradingEnabled
#> <int> <chr> <dttm> <dttm> <lgl>
#> 1 2023 <NA> 2023-09-04 21:45:00 2023-09-04 22:45:00 FALSE
#> # ℹ 8 more variables: keeperCount <int>, keeperCountFuture <int>, keeperOrderType <chr>,
#> # leagueSubType <chr>, orderType <chr>, pickOrder <list>, timePerSelection <int>,
#> # type <chr>
roster_settings()
#> # A tibble: 1 × 8
#> seasonId isBenchUnlimited isUsingUndroppableList lineupLocktimeType lineupSlotCounts
#> <int> <lgl> <lgl> <chr> <list>
#> 1 2023 TRUE TRUE INDIVIDUAL_GAME <df [25 × 2]>
#> # ℹ 3 more variables: moveLimit <int>, positionLimits <list>, rosterLocktimeType <chr>
acquisition_settings()
#> # A tibble: 1 × 10
#> year acquisitionBudget acquisitionLimit acquisitionType isUsingAcquisitionBudget
#> <int> <int> <int> <chr> <lgl>
#> 1 2023 100 -1 WAIVERS_TRADITIONAL FALSE
#> # ℹ 5 more variables: minimumBid <int>, waiverHours <int>, waiverOrderReset <lgl>,
#> # waiverProcessDays <list>, waiverProcessHour <int>
schedule_settings()
#> # A tibble: 1 × 10
#> seasonId divisions matchupPeriodCount matchupPeriodLength matchupPeriods periodTypeId
#> <int> <list> <int> <int> <list> <int>
#> 1 2023 <df [2 × 3]> 17 1 <df [17 × 2]> 1
#> # ℹ 4 more variables: playoffMatchupPeriodLength <int>, playoffSeedingRule <chr>,
#> # playoffSeedingRuleBy <int>, playoffTeamCount <int>
team_roster(scoringPeriodId = 1)
#> $AUS
#> # A tibble: 16 × 16
#> seasonId scoringPeriodId teamId abbrev lineupSlot playerId firstName lastName proTeam
#> <int> <int> <int> <fct> <fct> <int> <chr> <chr> <fct>
#> 1 2023 1 1 AUS QB 3139477 Patrick Mahomes KC
#> 2 2023 1 1 AUS RB 3117251 Christian McCaffrey SF
#> 3 2023 1 1 AUS RB 4430807 Bijan Robinson Atl
#> 4 2023 1 1 AUS WR 2977187 Cooper Kupp LAR
#> 5 2023 1 1 AUS WR 4372016 Jaylen Waddle Mia
#> 6 2023 1 1 AUS TE 2576925 Darren Waller NYG
#> 7 2023 1 1 AUS FLEX 3916148 Tony Pollard Dal
#> 8 2023 1 1 AUS D/ST -16018 Saints D/ST NO
#> 9 2023 1 1 AUS K 15683 Justin Tucker Bal
#> 10 2023 1 1 AUS BE 4361370 Chris Olave NO
#> 11 2023 1 1 AUS BE 4241478 DeVonta Smith Phi
#> 12 2023 1 1 AUS BE 4360238 Dameon Pierce Hou
#> 13 2023 1 1 AUS BE 3126486 Deebo Samuel SF
#> 14 2023 1 1 AUS BE 15795 DeAndre Hopkins Ten
#> 15 2023 1 1 AUS BE 3116165 Chris Godwin TB
#> 16 2023 1 1 AUS BE 4567048 Kenneth Walker III Sea
#> # ℹ 7 more variables: position <fct>, injuryStatus <chr>, projectedScore <dbl>,
#> # actualScore <dbl>, percentStarted <dbl>, percentOwned <dbl>, percentChange <dbl>
#>
#> $BOS
#> # A tibble: 16 × 16
#> seasonId scoringPeriodId teamId abbrev lineupSlot playerId firstName lastName proTeam
#> <int> <int> <int> <fct> <fct> <int> <chr> <chr> <fct>
#> 1 2023 1 2 BOS QB 3916387 Lamar Jackson Bal
#> 2 2023 1 2 BOS RB 3043078 Derrick Henry Ten
#> 3 2023 1 2 BOS RB 4047365 Josh Jacobs LV
#> 4 2023 1 2 BOS WR 4362628 Ja'Marr Chase Cin
#> 5 2023 1 2 BOS WR 3116406 Tyreek Hill Mia
#> 6 2023 1 2 BOS TE 3116365 Mark Andrews Bal
#> 7 2023 1 2 BOS FLEX 4241389 CeeDee Lamb Dal
#> 8 2023 1 2 BOS D/ST -16023 Steelers D/ST Pit
#> 9 2023 1 2 BOS K 4360234 Evan McPherson Cin
#> 10 2023 1 2 BOS BE 3116385 Joe Mixon Cin
#> 11 2023 1 2 BOS BE 4047650 DK Metcalf Sea
#> 12 2023 1 2 BOS BE 15818 Keenan Allen LAC
#> 13 2023 1 2 BOS BE 4248528 Christian Watson GB
#> 14 2023 1 2 BOS BE 4427366 Breece Hall NYJ
#> 15 2023 1 2 BOS BE 4045163 Miles Sanders Car
#> 16 2023 1 2 BOS BE 4379399 James Cook Buf
#> # ℹ 7 more variables: position <fct>, injuryStatus <chr>, projectedScore <dbl>,
#> # actualScore <dbl>, percentStarted <dbl>, percentOwned <dbl>, percentChange <dbl>
#>
#> $CHI
#> # A tibble: 16 × 16
#> seasonId scoringPeriodId teamId abbrev lineupSlot playerId firstName lastName proTeam
#> <int> <int> <int> <fct> <fct> <int> <chr> <chr> <fct>
#> 1 2023 1 3 CHI QB 4040715 Jalen Hurts Phi
#> 2 2023 1 3 CHI RB 3929630 Saquon Barkley NYG
#> 3 2023 1 3 CHI RB 4239996 Travis Etienne J… Jax
#> 4 2023 1 3 CHI WR 4262921 Justin Jefferson Min
#> 5 2023 1 3 CHI WR 4569618 Garrett Wilson NYJ
#> 6 2023 1 3 CHI TE 15847 Travis Kelce KC
#> 7 2023 1 3 CHI FLEX 4374302 Amon-Ra St. Brown Det
#> 8 2023 1 3 CHI D/ST -16025 49ers D/ST SF
#> 9 2023 1 3 CHI K 3055899 Harrison Butker KC
#> 10 2023 1 3 CHI BE 4429795 Jahmyr Gibbs Det
#> 11 2023 1 3 CHI BE 3042519 Aaron Jones GB
#> 12 2023 1 3 CHI BE 3915511 Joe Burrow Cin
#> 13 2023 1 3 CHI BE 2976499 Amari Cooper Cle
#> 14 2023 1 3 CHI BE 4697815 Rachaad White TB
#> 15 2023 1 3 CHI BE 3054850 Alvin Kamara NO
#> 16 2023 1 3 CHI BE 4038941 Justin Herbert LAC
#> # ℹ 7 more variables: position <fct>, injuryStatus <chr>, projectedScore <dbl>,
#> # actualScore <dbl>, percentStarted <dbl>, percentOwned <dbl>, percentChange <dbl>
#>
#> $DEN
#> # A tibble: 16 × 16
#> seasonId scoringPeriodId teamId abbrev lineupSlot playerId firstName lastName proTeam
#> <int> <int> <int> <fct> <fct> <int> <chr> <chr> <fct>
#> 1 2023 1 4 DEN QB 3918298 Josh Allen Buf
#> 2 2023 1 4 DEN RB 3068267 Austin Ekeler LAC
#> 3 2023 1 4 DEN RB 3128720 Nick Chubb Cle
#> 4 2023 1 4 DEN WR 16800 Davante Adams LV
#> 5 2023 1 4 DEN WR 2976212 Stefon Diggs Buf
#> 6 2023 1 4 DEN TE 4036133 T.J. Hockenson Min
#> 7 2023 1 4 DEN FLEX 4047646 A.J. Brown Phi
#> 8 2023 1 4 DEN D/ST -16002 Bills D/ST Buf
#> 9 2023 1 4 DEN K 3051909 Daniel Carlson LV
#> 10 2023 1 4 DEN BE 4239993 Tee Higgins Cin
#> 11 2023 1 4 DEN BE 4241457 Najee Harris Pit
#> 12 2023 1 4 DEN BE 4569173 Rhamondre Stevenson NE
#> 13 2023 1 4 DEN BE 3925357 Calvin Ridley Jax
#> 14 2023 1 4 DEN BE 3932905 Diontae Johnson Pit
#> 15 2023 1 4 DEN BE 3045147 James Conner Ari
#> 16 2023 1 4 DEN BE 4048244 Alexander Mattison Min
#> # ℹ 7 more variables: position <fct>, injuryStatus <chr>, projectedScore <dbl>,
#> # actualScore <dbl>, percentStarted <dbl>, percentOwned <dbl>, percentChange <dbl>
tidy_schedule(scoringPeriodId = 1)
#> # A tibble: 68 × 7
#> seasonId matchupPeriodId matchupId teamId abbrev opponent isHome
#> <int> <int> <int> <int> <fct> <fct> <lgl>
#> 1 2023 1 1 1 AUS CHI TRUE
#> 2 2023 1 1 3 CHI AUS FALSE
#> 3 2023 1 2 2 BOS DEN TRUE
#> 4 2023 1 2 4 DEN BOS FALSE
#> 5 2023 2 3 3 CHI DEN TRUE
#> 6 2023 2 3 4 DEN CHI FALSE
#> 7 2023 2 4 1 AUS BOS TRUE
#> 8 2023 2 4 2 BOS AUS FALSE
#> 9 2023 3 5 4 DEN AUS TRUE
#> 10 2023 3 5 1 AUS DEN FALSE
#> # ℹ 58 more rows
league_messages(scoringPeriodId = 1)
#> # A tibble: 5 × 7
#> id type author date content messages viewableBy
#> <chr> <chr> <chr> <dttm> <chr> <list> <list>
#> 1 13ce5960 CHAT_ALL_MEMBERS LM 2023-09-12 11:09:23 <NA> <NULL> <NULL>
#> 2 6b33926f CHAT_ALL_MEMBERS LM 2023-09-12 11:09:23 <NA> <NULL> <NULL>
#> 3 a605cb51 CHAT_ALL_MEMBERS LM 2023-09-12 11:09:23 <NA> <NULL> <NULL>
#> 4 d02a84db CHAT_ALL_MEMBERS LM 2023-09-12 11:09:23 Here's… <NULL> <NULL>
#> 5 5af42ec9 NOTE {22DFE7FF-9DF… 2021-09-13 19:46:07 This [… <NULL> <NULL>
transaction_counter()
#> # A tibble: 4 × 14
#> seasonId scoringPeriodId teamId abbrev waiverRank acquisitionBudgetSpent acquisitions
#> <int> <int> <int> <fct> <int> <int> <int>
#> 1 2023 2 1 AUS 3 0 0
#> 2 2023 2 2 BOS 1 0 0
#> 3 2023 2 3 CHI 2 0 0
#> 4 2023 2 4 DEN 4 0 0
#> # ℹ 7 more variables: drops <int>, misc <int>, moveToActive <int>, moveToIR <int>,
#> # paid <dbl>, teamCharges <dbl>, trades <int>
draft_recap()
#> # A tibble: 64 × 15
#> seasonId autoDraftTypeId bidAmount pickId keeper lineupSlot nominatingTeamId
#> <int> <int> <int> <int> <lgl> <fct> <fct>
#> 1 2023 3 NA 1 FALSE WR <NA>
#> 2 2023 3 NA 2 FALSE WR <NA>
#> 3 2023 3 NA 3 FALSE RB <NA>
#> 4 2023 3 NA 4 FALSE RB <NA>
#> 5 2023 3 NA 5 FALSE TE <NA>
#> 6 2023 3 NA 6 FALSE WR <NA>
#> 7 2023 3 NA 7 FALSE WR <NA>
#> 8 2023 3 NA 8 FALSE RB <NA>
#> 9 2023 3 NA 9 FALSE RB <NA>
#> 10 2023 3 NA 10 FALSE RB <NA>
#> # ℹ 54 more rows
#> # ℹ 8 more variables: overallPickNumber <int>, playerId <int>, reservedForKeeper <lgl>,
#> # roundId <int>, roundPickNumber <int>, teamId <int>, abbrev <fct>, tradeLocked <lgl>
recent_activity(scoringPeriodId = 1)
#> # A tibble: 64 × 14
#> bidAmount executionType id isActingAsTeamOwner isLeagueManager isPending items
#> <int> <chr> <chr> <lgl> <lgl> <lgl> <lis>
#> 1 0 EXECUTE e37ca451-8… FALSE FALSE FALSE <df>
#> 2 0 EXECUTE 5c34b91b-f… FALSE FALSE FALSE <df>
#> 3 0 EXECUTE 6a76532c-7… FALSE FALSE FALSE <df>
#> 4 0 EXECUTE 0752bae0-b… FALSE FALSE FALSE <df>
#> 5 0 EXECUTE 5a6bb4cd-e… FALSE FALSE FALSE <df>
#> 6 0 EXECUTE 62782a84-3… FALSE FALSE FALSE <df>
#> 7 0 EXECUTE d4687048-4… FALSE FALSE FALSE <df>
#> 8 0 EXECUTE 08785f73-0… FALSE FALSE FALSE <df>
#> 9 0 EXECUTE bb07ac92-7… FALSE FALSE FALSE <df>
#> 10 0 EXECUTE f4a9d451-7… FALSE FALSE FALSE <df>
#> # ℹ 54 more rows
#> # ℹ 7 more variables: proposedDate <dttm>, scoringPeriodId <int>,
#> # skipTransactionCounters <lgl>, status <chr>, teamId <int>, type <chr>,
#> # processDate <dttm>
list_players(limit = 10, proTeam = "Mia", status = "ALL")
#> # A tibble: 10 × 19
#> seasonId scoringPeriodId id firstName lastName proTeam defaultPosition
#> <int> <dbl> <int> <chr> <chr> <fct> <fct>
#> 1 2023 2 3116406 Tyreek Hill Mia WR
#> 2 2023 2 4372016 Jaylen Waddle Mia WR
#> 3 2023 2 4241479 Tua Tagovailoa Mia QB
#> 4 2023 2 2576414 Raheem Mostert Mia RB
#> 5 2023 2 -16015 Dolphins D/ST Mia D/ST
#> 6 2023 2 3122976 Jeff Wilson Jr. Mia RB
#> 7 2023 2 4429160 De'Von Achane Mia RB
#> 8 2023 2 3124679 Jason Sanders Mia K
#> 9 2023 2 3052897 Durham Smythe Mia TE
#> 10 2023 2 4243315 Salvon Ahmed Mia RB
#> # ℹ 12 more variables: injuryStatus <chr>, percentStarted <dbl>, percentOwned <dbl>,
#> # percentChange <dbl>, positionalRanking <int>, totalRating <dbl>,
#> # auctionValueAverage <dbl>, averageDraftPosition <dbl>, projectedScore <dbl>,
#> # lastScore <dbl>, lastSeason <dbl>, currentSeason <dbl>
league_standings()
#> # A tibble: 4 × 17
#> seasonId scoringPeriodId teamId abbrev draftDayProjectedRank currentProjectedRank
#> <int> <int> <int> <fct> <int> <int>
#> 1 2023 2 1 AUS 3 2
#> 2 2023 2 2 BOS 1 3
#> 3 2023 2 3 CHI 2 4
#> 4 2023 2 4 DEN 4 1
#> # ℹ 11 more variables: playoffSeed <int>, rankCalculatedFinal <int>, gamesBack <dbl>,
#> # losses <int>, percentage <dbl>, pointsAgainst <dbl>, pointsFor <dbl>,
#> # streakLength <int>, streakType <chr>, ties <int>, wins <int>