| Title: | Easily Accessible College Softball Data |
|---|---|
| Description: | A tool for accessing the data hidden on ESPN<https://www.espn.com>, NCAA<https://www.ncaa.com>, and a few others. Scrapes player boxes, team boxes, play-by-play, rankings, team stats, individual stats, and whatever else I can find online. |
| Authors: | Tyson King [aut, cre] |
| Maintainer: | Tyson King <[email protected]> |
| License: | MIT + file LICENSE |
| Version: | 1.4.0 |
| Built: | 2026-10-12 15:50:58 UTC |
| Source: | https://github.com/sportsdataverse/softballR |
Gets full ESPN JSON file (Helper Function)
espn_json(gameID)espn_json(gameID)
gameID |
ESPN Game ID |
The entire json file for a given gameID on ESPN's website
Tyson King
ID = 401444869 try(espn_json(ID))ID = 401444869 try(espn_json(ID))
Get ESPN Play-by-Play data
espn_softball_pbp(gameID)espn_softball_pbp(gameID)
gameID |
ESPN Game ID |
A data frame of every pitch of the given game
Tyson King
ID = 401444869 try(espn_softball_pbp(ID))ID = 401444869 try(espn_softball_pbp(ID))
Get ESPN Player Box Score for given game
espn_softball_playerbox(gameID)espn_softball_playerbox(gameID)
gameID |
ESPN Game ID |
A named list of dataframes, hitting and pitching
Tyson King
ID = 401444869 try(espn_softball_playerbox(ID))ID = 401444869 try(espn_softball_playerbox(ID))
Get ESPN Softball Scoreboard
espn_softball_scoreboard(date)espn_softball_scoreboard(date)
date |
YYYY-MM-DD |
data frame with 21 columns of relevant game information
Tyson King
try(espn_softball_scoreboard("2022-03-05"))try(espn_softball_scoreboard("2022-03-05"))
Get ESPN Team Box Score for given game
espn_softball_teambox(gameID)espn_softball_teambox(gameID)
gameID |
ESPN Game ID |
A named list of dataframes, Batting, Pitching, and Fielding
Tyson King
ID = 401444869 try(espn_softball_teambox(ID))ID = 401444869 try(espn_softball_teambox(ID))
Get the current season
get_cur_season()get_cur_season()
integer of current season
try(get_cur_season())try(get_cur_season())
Disclaimer: Can take a while to run
get_espn_softball_season_scoreboard(season)get_espn_softball_season_scoreboard(season)
season |
YYYY (2015 - 2022) |
data frame with data from every game in the given season
Tyson King
try(get_espn_softball_season_scoreboard(2021))try(get_espn_softball_season_scoreboard(2021))
Load ESPN Scoreboard
load_espn_softball_scoreboard(seasons)load_espn_softball_scoreboard(seasons)
seasons |
vector of seasons (YYYY:YYYY) |
dataframe of all games on ESPN website from selected seasons
try(load_espn_softball_scoreboard(2020:2023))try(load_espn_softball_scoreboard(2020:2023))
Only supports 2023 season for now
load_naia_softball_pbp(season)load_naia_softball_pbp(season)
season |
YYYY |
dataframe of all play by play data for an NAIA season
try(load_naia_softball_pbp(2023))try(load_naia_softball_pbp(2023))
Only supports 2023 season for now
load_naia_softball_scoreboard(season)load_naia_softball_scoreboard(season)
season |
YYYY |
dataframe of all games from NAIA website from selected season
try(load_naia_softball_scoreboard(2023))try(load_naia_softball_scoreboard(2023))
Every name and id a source uses for an NCAA softball division
or conference, with the seasons it is valid for – the crosswalk from
stats.ncaa.org conference ids and names to SportsDataverse group ids.
Published to the ncaa_softball_groups release tag on the
sportsdataverse-data releases.
load_ncaa_softball_group_aliases()load_ncaa_softball_group_aliases()
A tibble with the following columns:
| col_name | types | description |
| league | character | League key. |
| group_id | character | SportsDataverse group id, {league}:{slug}. |
| source | character | Source that uses the alias (e.g. ncaa, sdv). |
| source_id | character | The source's own id for the group (e.g. the NCAA conference id), when it has one. |
| name_kind | character | Alias kind: name, short_name, abbreviation, slug or code. |
| value | character | The alias. |
| valid_from | integer | First season the alias is valid (inclusive); NA = unbounded. |
| valid_to | integer | Last season the alias is valid (inclusive); NA = unbounded.
|
try(load_ncaa_softball_group_aliases())try(load_ncaa_softball_group_aliases())
One row per NCAA softball group per season it existed, with
the name, abbreviation and parent group as of that season (not
today's). Published to the ncaa_softball_groups release tag on the
sportsdataverse-data releases. Seasons are keyed by the spring year.
load_ncaa_softball_group_seasons()load_ncaa_softball_group_seasons()
A tibble with the following columns:
| col_name | types | description |
| league | character | League key. |
| group_id | character | SportsDataverse group id, {league}:{slug}. |
| season | integer | Season (spring year). |
| level | character | Group level: league, subdivision or conference. |
| name | character | Group name as of that season. |
| short_name | character | Short name as of that season. |
| abbreviation | character | Abbreviation as of that season. |
| parent_group_id | character | Parent group id as of that season (conference, subdivision, league). |
| n_teams | integer | Member teams that season. |
try(load_ncaa_softball_group_seasons())try(load_ncaa_softball_group_seasons())
One row per NCAA softball group lineage (divisions I-III and
their conferences), keyed by the SportsDataverse group id (e.g.
ncaa_softball:sec). Published to the ncaa_softball_groups release tag
on the sportsdataverse-data releases
by sdv-reference-data.
Seasons are keyed by the spring year (2025 = the spring 2025 season).
load_ncaa_softball_groups()load_ncaa_softball_groups()
A tibble with the following columns:
| col_name | types | description |
| league | character | League key. |
| group_id | character | SportsDataverse group id, {league}:{slug}; one id per lineage across renames. |
| level | character | Group level: league, subdivision or conference. |
| first_season | integer | First season with at least one member. |
| last_season | integer | Last season with at least one member. |
| notes | character | Lineage decisions and source caveats. |
try(load_ncaa_softball_groups())try(load_ncaa_softball_groups())
Play-by-play for every game of an NCAA season. The
softballR-data release starts in 2021 (D1, D2 and D3); any season up to the
current calendar year is accepted and a season that has not been published
yet returns a try-error from the download.
load_ncaa_softball_pbp(season, division = "D1")load_ncaa_softball_pbp(season, division = "D1")
season |
YYYY |
division |
D1, D2, or D3 |
dataframe of all play by play data for an NCAA season
try(load_ncaa_softball_pbp(2024))try(load_ncaa_softball_pbp(2024))
Hitting: D1 from 2012, D2 and D3 from 2016. Pitching: D1 from 2015, D2 and D3 from 2016. Fielding: D1 2023 only. Any season up to the current calendar year is accepted; one the release has not published yet fails at the download.
load_ncaa_softball_playerbox(season = 2024, category, division = "D1")load_ncaa_softball_playerbox(season = 2024, category, division = "D1")
season |
YYYY can also use vector of years |
category |
Hitting, Pitching, or Fielding |
division |
D1, D2, or D3 |
dataframe of all box scores from NCAA website from selected season
try(load_ncaa_softball_playerbox(2021:2024, category = "Hitting"))try(load_ncaa_softball_playerbox(2021:2024, category = "Hitting"))
Supports 2016-2023 for all divisions
load_ncaa_softball_rosters(season, division = "D1")load_ncaa_softball_rosters(season, division = "D1")
season |
YYYY format, pass season or vector of seasons 2021-2023 |
division |
"D1", "D2", or "D3" |
dataframe of all rosters from given season(s) and division
try(load_ncaa_softball_rosters(2022:2023))try(load_ncaa_softball_rosters(2022:2023))
Supports 2016-2023 for all divisions
load_ncaa_softball_scoreboard(season, division = "D1")load_ncaa_softball_scoreboard(season, division = "D1")
season |
YYYY format, pass season or vector of seasons |
division |
"D1", "D2", or "D3" |
dataframe of all games from NCAA website from selected season
try(load_ncaa_softball_scoreboard(2022:2024))try(load_ncaa_softball_scoreboard(2022:2024))
One row per NCAA softball team per season, with the division
(subdivision_id) and conference it played in that season, e.g. Texas
and Oklahoma moving from ncaa_softball:big-12 (2024) to
ncaa_softball:sec (2025). team_id is the stats.ncaa.org org id.
Published to the ncaa_softball_groups release tag on the
sportsdataverse-data releases, one file per season.
load_ncaa_softball_team_group_seasons(seasons)load_ncaa_softball_team_group_seasons(seasons)
seasons |
A vector of 4-digit seasons (the spring year), or |
A tibble with the following columns:
| col_name | types | description |
| league | character | League key. |
| season | integer | Season (spring year). |
| team_id | character | stats.ncaa.org org id. |
| team_id_source | character | Id system of team_id (ncaa_org). |
| team_name | character | Team name as of that season. |
| subdivision_id | character | SportsDataverse division group id (e.g. ncaa_softball:d1). |
| conference_id | character | SportsDataverse conference group id; NA where the level does not apply. |
| division_id | character | SportsDataverse division-within-conference group id; NA when not used. |
| source | character | Source the membership came from. |
| sources_agree | logical | Whether a second source agrees; NA when only one source covers the season. |
| notes | character | Notes. |
try(load_ncaa_softball_team_group_seasons(seasons = 2025))try(load_ncaa_softball_team_group_seasons(seasons = 2025))
Load all-time info for all NCAA softball teams (all divisions)
load_ncaa_softball_team_info()load_ncaa_softball_team_info()
df with 9 columns of info on each season of each team
try(load_ncaa_softball_team_info())try(load_ncaa_softball_team_info())
only has D1 data for now
naia_softball_pbp(game_id, game_date)naia_softball_pbp(game_id, game_date)
game_id |
NAIA Game ID |
game_date |
YYYY-MM-DD format |
dataframe of every play from a given game
try(naia_softball_pbp("r7z2", "2023-02-05"))try(naia_softball_pbp("r7z2", "2023-02-05"))
Get all box scores for a given game id and date
naia_softball_playerbox(game_id, game_date)naia_softball_playerbox(game_id, game_date)
game_id |
NAIA Game ID |
game_date |
YYYY-MM-DD format |
named list with two elements, "Hitting" and "Pitching" Each contains a dataframe of the box scores for that game
try(naia_softball_playerbox("r7z2", "2023-02-05"))try(naia_softball_playerbox("r7z2", "2023-02-05"))
Get all NAIA softball scores for a given day
naia_softball_scoreboard(date)naia_softball_scoreboard(date)
date |
"YYYY-MM-DD" |
data frame of date, team names and their scores
Tyson King
date = "2022-03-05" try(naia_softball_scoreboard(date))date = "2022-03-05" try(naia_softball_scoreboard(date))
Get all NAIA softball scores for a given season
naia_softball_season_scoreboard(season)naia_softball_season_scoreboard(season)
season |
YYYY Only 2023 for now |
data frame of date, team names and their scores
season = "2023" try(naia_softball_season_scoreboard(season))season = "2023" try(naia_softball_season_scoreboard(season))
only has D1 data for now
ncaa_softball_pbp(game_id)ncaa_softball_pbp(game_id)
game_id |
NCAA Game ID |
dataframe of every play from team's season
try(ncaa_softball_pbp(2377327))try(ncaa_softball_pbp(2377327))
Get all box scores for a given game id
ncaa_softball_playerbox(game_id)ncaa_softball_playerbox(game_id)
game_id |
NCAA Game ID |
named list with three elements, "Hitting", "Pitching" and "Fielding". Each contains a dataframe of the box scores for that game
try(ncaa_softball_playerbox(2377042))try(ncaa_softball_playerbox(2377042))
Get NCAA Softball Team Rankings
ncaa_softball_rankings(source)ncaa_softball_rankings(source)
source |
Source options: RPI, D1Softball, USA Today, or Massey |
data frame of rankings, format changes based on source
Tyson King
try(ncaa_softball_rankings("RPI"))try(ncaa_softball_rankings("RPI"))
Get all NCAA Softball rosters for a given seaosn and division
ncaa_softball_rosters(season, division)ncaa_softball_rosters(season, division)
season |
2012 onward (every season with a stats.ncaa.org roster id, see
|
division |
"D1", "D2", or "D3 |
dataframe of every player on every team in a given season/division
try(ncaa_softball_rosters(2023, "D1"))try(ncaa_softball_rosters(2023, "D1"))
Supports 2017-2024 for D1 and only 2023 for D2 and D3
ncaa_softball_scoreboard(date, division = "D1")ncaa_softball_scoreboard(date, division = "D1")
date |
"YYYY-MM-DD" |
division |
"D1", "D2", or "D3" |
data frame of date, team names and their scores
Tyson King
date = "2022-03-05" try(ncaa_softball_scoreboard(date))date = "2022-03-05" try(ncaa_softball_scoreboard(date))
only has D1 data for now
ncaa_softball_season_pbp(team_id)ncaa_softball_season_pbp(team_id)
team_id |
get this from ncaa_teams function |
dataframe of every play from team's season
try(ncaa_softball_season_pbp(549186))try(ncaa_softball_season_pbp(549186))
only has data for 2021, 2022, and 2023 and only has D1 for now
ncaa_softball_season_playerbox(team_id)ncaa_softball_season_playerbox(team_id)
team_id |
get team ids from get_ncaa_teams function |
named list with three elements, "Hitting", "Pitching" and "Fielding". Each contains a dataframe of every box score for that team's season
try(ncaa_softball_season_playerbox(549186))try(ncaa_softball_season_playerbox(549186))
Provides the score and some other info for all D1, D2, and D3 games from 2016-2023 (for now)
ncaa_softball_season_scoreboard(season, division = "D1")ncaa_softball_season_scoreboard(season, division = "D1")
season |
YYYY 2016-2023 |
division |
"D1", "D2", or "D3" |
data frame of date, team names and their scores
season = "2024" try(ncaa_softball_season_scoreboard(season))season = "2024" try(ncaa_softball_season_scoreboard(season))
2021-2023 for D1, only 2023 for D2 and D3
ncaa_softball_teams(season, division = "D1")ncaa_softball_teams(season, division = "D1")
season |
2021, 2022 2023, or 2024 |
division |
"D1", "D2", or "D3 |
data frame of date, team names and their scores
Tyson King
try(ncaa_softball_teams(2024))try(ncaa_softball_teams(2024))