FTN Data manually charts plays and has graciously provided a subset of their charting data to be published via the nflverse. Data is available from the 2022 season onwards and is charted within 48 hours following each game. This data is released under the CC-BY-SA 4.0 Creative Commons license and attribution must be made to FTN Data via nflverse
Usage
load_ftn_charting(
seasons = most_recent_season(),
file_type = getOption("nflreadr.prefer", default = "rds")
)See also
https://ftnfantasy.com/stats/sports-data
vignette("Data Dictionary - FTN Charting")
https://nflreadr.nflverse.com/articles/dictionary_ftn_charting.html for the web data dictionary
Other ftn_charting:
dictionary_ftn_charting
Examples
# \donttest{
try({ # prevents cran errors
load_ftn_charting()
})
#> ── nflverse FTN Charting Data - please attribute to 'ftndata.com via nflverse' ─
#> ℹ Data updated: 2026-09-16 20:51:53 UTC
#> # A tibble: 2,675 × 29
#> ftn_game_id nflverse_game_id season week ftn_play_id nflverse_play_id
#> * <int> <chr> <int> <int> <int> <int>
#> 1 7019 2026_01_NE_SEA 2026 1 1153342 41
#> 2 7019 2026_01_NE_SEA 2026 1 1153343 64
#> 3 7019 2026_01_NE_SEA 2026 1 1153344 86
#> 4 7019 2026_01_NE_SEA 2026 1 1153345 111
#> 5 7019 2026_01_NE_SEA 2026 1 1153346 135
#> 6 7019 2026_01_NE_SEA 2026 1 1153347 157
#> 7 7019 2026_01_NE_SEA 2026 1 1153348 180
#> 8 7019 2026_01_NE_SEA 2026 1 1153349 200
#> 9 7019 2026_01_NE_SEA 2026 1 1153350 227
#> 10 7019 2026_01_NE_SEA 2026 1 1153351 249
#> # ℹ 2,665 more rows
#> # ℹ 23 more variables: starting_hash <chr>, qb_location <chr>,
#> # n_offense_backfield <int>, n_defense_box <int>, is_no_huddle <lgl>,
#> # is_motion <lgl>, is_play_action <lgl>, is_screen_pass <lgl>, is_rpo <lgl>,
#> # is_trick_play <lgl>, is_qb_out_of_pocket <lgl>,
#> # is_interception_worthy <lgl>, is_throw_away <lgl>, read_thrown <chr>,
#> # is_catchable_ball <lgl>, is_contested_ball <lgl>, …
# }