| Title: | Extract Data from US Women's Professional Volleyball Websites |
|---|---|
| Description: | Tools for scraping match statistics and player data from the Athletes Unlimited (UA) volleyball website <https://auprosports.com/volleyball/>, the League One Volleyball website <https://lovb.com>, and the Major League Volleyball (MLV) website <https://provolleyball.com>. |
| Authors: | Jeffrey R. Stevens [aut, cre, cph] (ORCID: <https://orcid.org/0000-0003-2375-1360>) |
| Maintainer: | Jeffrey R. Stevens <[email protected]> |
| License: | MIT + file LICENSE |
| Version: | 0.1.0 |
| Built: | 2026-07-21 14:55:33 UTC |
| Source: | https://github.com/jeffreyrstevens/provolleyballr |
A dataset containing individual player season statistics for Athletes Unlimited (UA) players for the 2021-2025 seasons.
au_player_dataau_player_data
A data frame with 220 rows and 25 variables:
Season year
Player rank
Player name
Total points achieved
Sets played
Kills - successful attacks
Kills per set
Attack Errors
Total attack attempts
Kill percentage
Assists - sets that lead directly to a kill
Assists per set
Setting errors
Service Aces - serves that result directly in a point
Service errors
Service aces per set
Total reception attempts
Reception errors
Percentage of reception attempts that are either positive or perfect
Digs - successful defensive plays
Digs per set
Blocks - successful defensive plays at the net
Blocks per set
Block assists - two- or three-person blocks
Number of positive receptions
https://auprosports.com/volleyball/
Other datasets:
lovb_player_data,
lovb_team_data,
lovb_teams,
mlv_player_data,
mlv_team_data,
mlv_teams
head(au_player_data)head(au_player_data)
This function scrapes player season statistics for Athletes Unlimited Volleyball (AU) players from the official AU website https://auprosports.com/volleyball/.
au_stats(year = NULL, stored = TRUE)au_stats(year = NULL, stored = TRUE)
year |
A numeric value specifying the year for which to retrieve statistics. Must be 2024 or later for LOVB or MLV and 2021 or later for AU. |
stored |
A logical specifying whether to use stored data for previous years (TRUE is default) or force the function to scrape the website (FALSE) |
A tibble containing team player season statistics.
Player data include: year, rank, player, points, sets_played, kills, kills_per_set, attack_errors, attack_attempts, kill_percentage, assists, assists_per_set, setting_errors, service_aces, service_errors, service_aces_per_set, total_reception_attempts, reception_errors, positive_reception_percentage, digs, digs_per_set, blocks, blocks_per_set, block_assists, good_receptions
This function requires:
The {selenider} R package
for web automation
Google Chrome browser installed on the system
An active internet connection
The function uses a headless Chrome browser session, so no browser window will be visible during execution. Browser sessions are automatically closed after data extraction.
Other statistics functions:
get_stats(),
group_stats(),
lovb_stats(),
mlv_stats()
# Get 2025 player statistics au_stats(year = 2025)# Get 2025 player statistics au_stats(year = 2025)
This function scrapes team match-by-match and player season statistics for Athletes Unlimited (UA), League One Volleyball (LOVB), or Major League Volleyball (MLV) players and teams from the official websites.
get_stats(league = NULL, team = NULL, year = NULL, level = NULL, stored = TRUE)get_stats(league = NULL, team = NULL, year = NULL, level = NULL, stored = TRUE)
league |
A character string specifying which league to retrieve. Must be "AU", "LOVB" or "MLV". |
team |
A character string specifying the team name or city. Accepts city names (e.g., "Omaha", "Atlanta") or variations like "Indianapolis" (converted to "Indy") and "Las Vegas" (converted to "Vegas"). Must match one of the valid LOVB or MLV team cities. AU has no teams. |
year |
A numeric value specifying the year for which to retrieve statistics. Must be 2024 or later for LOVB or MLV and 2021 or later for AU. |
level |
A character string specifying whether to extract the "team" or individual "player" statistics. AU has no team statistics. |
stored |
A logical specifying whether to use stored data for previous years (TRUE is default) or force the function to scrape the website (FALSE) |
A tibble containing team match-by-match or player season statistics.
This function requires:
The {selenider} R package
for web automation
Google Chrome browser installed on the system
An active internet connection
The function uses a headless Chrome browser session, so no browser window will be visible during execution. Browser sessions are automatically closed after data extraction.
Other statistics functions:
au_stats(),
group_stats(),
lovb_stats(),
mlv_stats()
# Get Omaha Supernovas 2024 match statistics get_stats(league = "AU", year = 2025) get_stats(league = "LOVB", team = "Austin", year = 2025, level = "team") get_stats(league = "LOVB", team = "Austin", year = 2025, level = "player") get_stats(league = "MLV", team = "Omaha", year = 2024, level = "team") get_stats(league = "MLV", team = "Omaha", year = 2024, level = "player")# Get Omaha Supernovas 2024 match statistics get_stats(league = "AU", year = 2025) get_stats(league = "LOVB", team = "Austin", year = 2025, level = "team") get_stats(league = "LOVB", team = "Austin", year = 2025, level = "player") get_stats(league = "MLV", team = "Omaha", year = 2024, level = "team") get_stats(league = "MLV", team = "Omaha", year = 2024, level = "player")
This function retrieves statistics for all teams in a specified league (LOVB or MLV) and year(s).
group_stats(league = NULL, year = NULL, level = NULL, stored = TRUE)group_stats(league = NULL, year = NULL, level = NULL, stored = TRUE)
league |
A character string specifying which league to retrieve. Must be "AU", "LOVB" or "MLV". |
year |
A numeric value specifying the year for which to retrieve statistics. Must be 2024 or later for LOVB or MLV and 2021 or later for AU. |
level |
A character string specifying whether to extract the "team" or individual "player" statistics. AU has no team statistics. |
stored |
A logical specifying whether to use stored data for previous years (TRUE is default) or force the function to scrape the website (FALSE) |
A data frame containing statistics for all teams in the specified league and year(s). The structure depends on the league and level:
For MLV team-level: Team match statistics
For MLV player-level: Individual player statistics
For LOVB team-level: Team match statistics
For LOVB player-level: Individual player statistics
Other statistics functions:
au_stats(),
get_stats(),
lovb_stats(),
mlv_stats()
# Get all team statistics for both leagues au_team_data <- group_stats(league = "AU", year = 2021:2025) lovb_team_data <- group_stats(league = "LOVB", year = 2025, level = "team") lovb_player_data <- group_stats(league = "LOVB", year = 2025, level = "player") mlv_team_data <- group_stats(league = "MLV", year = 2024:2025, level = "team") mlv_player_data <- group_stats(league = "MLV", year = 2024:2025, level = "player")# Get all team statistics for both leagues au_team_data <- group_stats(league = "AU", year = 2021:2025) lovb_team_data <- group_stats(league = "LOVB", year = 2025, level = "team") lovb_player_data <- group_stats(league = "LOVB", year = 2025, level = "player") mlv_team_data <- group_stats(league = "MLV", year = 2024:2025, level = "team") mlv_player_data <- group_stats(league = "MLV", year = 2024:2025, level = "player")
A dataset containing individual player season statistics for League One Volleyball (LOVB) players across the league for the 2025 season.
lovb_player_datalovb_player_data
A data frame with 94 rows and 27 variables:
Season year
Player's team name
Player jersey number
Player name
Total Points
Matches Started
Sets Started
Sets Played
Attack Efficiency percentage
Kill percentage
Kills - successful attacks
Attack Errors
Attacks blocked by opponent
Total attack attempts
In-system percentage
Reception errors
Reception attempts
Service Aces - serves that result directly in a point
Service errors
Opponent in-system percentage
Service attempts
Blocks - successful defensive plays at the net
Block touch percentage
Digs - successful defensive plays
Dig percentage
Assists - sets that lead directly to a kill
Setting efficiency percentage
Other datasets:
au_player_data,
lovb_team_data,
lovb_teams,
mlv_player_data,
mlv_team_data,
mlv_teams
head(lovb_player_data)head(lovb_player_data)
This function scrapes team match-by-match and player season statistics for League One Volleyball (LOVB) teams from the official LOVB website https://www.lovb.com.
lovb_stats(team = NULL, year = NULL, level = NULL)lovb_stats(team = NULL, year = NULL, level = NULL)
team |
A character string specifying the team name or city. Accepts city names (e.g., "Omaha", "Atlanta") or variations like "Indianapolis" (converted to "Indy") and "Las Vegas" (converted to "Vegas"). Must match one of the valid LOVB or MLV team cities. AU has no teams. |
year |
A numeric value specifying the year for which to retrieve statistics. Must be 2024 or later for LOVB or MLV and 2021 or later for AU. |
level |
A character string specifying whether to extract the "team" or individual "player" statistics. AU has no team statistics. |
A tibble containing team match-by-match or player season statistics.
Team match data include: year, team, opponent, date, points, hitting_efficiency, kill_percentage, kills, attack_errors, attacks_blocked, attack_attempts, in_system_percentage, reception_errors, reception_attempts, service_aces, service_errors, opponent_in_system_percentage, service_attempts, blocks, block_touch_percentage, digs, dig_percentage, assists, setting_efficiency
Player data include: year, team, number, player, points, matches_started, sets_started, sets_played, hitting_efficiency, kill_percentage, kills, attack_errors, attacks_blocked, attack_attempts, in_system_percentage, reception_errors, reception_attempts, service_aces, service_errors, opponent_in_system_percentage, service_attempts, blocks, block_touch_percentage, digs, dig_percentage, assists, setting_efficiency
This function requires:
The {selenider} R package
for web automation
Google Chrome browser installed on the system
An active internet connection
The function uses a headless Chrome browser session, so no browser window will be visible during execution. Browser sessions are automatically closed after data extraction.
Other statistics functions:
au_stats(),
get_stats(),
group_stats(),
mlv_stats()
# Get Omaha Supernovas 2024 match statistics lovb_stats(team = "Omaha", year = 2025, level = "team") lovb_stats(team = "Omaha", year = 2025, level = "player")# Get Omaha Supernovas 2024 match statistics lovb_stats(team = "Omaha", year = 2025, level = "team") lovb_stats(team = "Omaha", year = 2025, level = "player")
A dataset containing team match-by-match statistics for League One Volleyball (LOVB) teams for the 2025 season.
lovb_team_datalovb_team_data
A data frame with 96 rows and 24 variables:
Season year
Team name
Opposing team name
Match date
Points scored
Attack efficiency percentage
Kill percentage
Kills - successful attacks that result in a point
Attack Errors - unsuccessful attacks
Attacks blocked by opponent
Total attack attempts
In-system percentage
Reception errors
Reception attempts
Service Aces - serves that result directly in a point
Service errors
Opponent in-system percentage
Service attempts
Blocks - successful defensive plays at the net
Block touch percentage
Digs - successful defensive plays
Dig percentage
Assists - sets that lead directly to a kill
Setting efficiency percentage
Other datasets:
au_player_data,
lovb_player_data,
lovb_teams,
mlv_player_data,
mlv_team_data,
mlv_teams
head(lovb_team_data)head(lovb_team_data)
A dataset containing information about League One Volleyball (LOVB) teams, including team names, URL slugs, and first year used for web scraping.
lovb_teamslovb_teams
A data frame with 8 rows and 5 variables:
Team city name
URL slug used in LOVB website URLs
Year that team started in LOVB
This dataset is used internally by the package functions to map user-provided team names to the appropriate URL slugs needed for web scraping the LOVB website.
Other datasets:
au_player_data,
lovb_player_data,
lovb_team_data,
mlv_player_data,
mlv_team_data,
mlv_teams
lovb_teamslovb_teams
A dataset containing individual player season statistics for Major League Volleyball (MLV) players across the league for the 2024-2025 seasons.
mlv_player_datamlv_player_data
A data frame with 264 rows and 23 variables:
Season year
Player's team name
Player jersey number
Player name
Sets Played
Matches Played
Total Points
Points per Set
Kills - successful attacks
Kills per Set
Attack Errors
Total Attacks
Attack Efficiency percentage
Assists - sets that lead directly to a kill
Assists per Set
Service Aces - serves that result directly in a point
Service Aces per Set
Service Errors
Service Errors per Set
Digs - successful defensive plays
Digs per Set
Blocks - successful defensive plays at the net
Blocks per Set
Other datasets:
au_player_data,
lovb_player_data,
lovb_team_data,
lovb_teams,
mlv_team_data,
mlv_teams
head(mlv_player_data)head(mlv_player_data)
This function scrapes team match-by-match and player season statistics for Major League Volleyball (MLV) teams from the official website https://provolleyball.com.
mlv_stats(team = NULL, year = NULL, level = NULL, stored = TRUE)mlv_stats(team = NULL, year = NULL, level = NULL, stored = TRUE)
team |
A character string specifying the team name or city. Accepts city names (e.g., "Omaha", "Atlanta") or variations like "Indianapolis" (converted to "Indy") and "Las Vegas" (converted to "Vegas"). Must match one of the valid LOVB or MLV team cities. AU has no teams. |
year |
A numeric value specifying the year for which to retrieve statistics. Must be 2024 or later for LOVB or MLV and 2021 or later for AU. |
level |
A character string specifying whether to extract the "team" or individual "player" statistics. AU has no team statistics. |
stored |
A logical specifying whether to use stored data for previous years (TRUE is default) or force the function to scrape the website (FALSE) |
A tibble containing team match-by-match or player season statistics.
Team match data include: year, team, date, opponent, result, kills, assists, service_aces, blocks, out, attack_attempts, hitting_efficiency, digs, digs_per_set, sets_played
Player data include: year, team, number, player, sets_played, matches_played, points, points_per_set, kills, kills_per_set, attack_errors, attack_attempts, hitting_efficiency, assists, assists_per_set, service_aces, service_aces_per_set, serve_errors, service_errors_per_set, digs, digs_per_set, blocks, blocks_per_set
This function requires:
The {selenider} R package
for web automation
Google Chrome browser installed on the system
An active internet connection
The function uses a headless Chrome browser session, so no browser window will be visible during execution. Browser sessions are automatically closed after data extraction.
Other statistics functions:
au_stats(),
get_stats(),
group_stats(),
lovb_stats()
# Get Omaha Supernovas 2024 match statistics mlv_stats(team = "Omaha", year = 2024, level = "team") mlv_stats(team = "Omaha", year = 2024, level = "player")# Get Omaha Supernovas 2024 match statistics mlv_stats(team = "Omaha", year = 2024, level = "team") mlv_stats(team = "Omaha", year = 2024, level = "player")
A dataset containing team match-by-match statistics for Major League Volleyball (MLV) teams for the 2024-2025 seasons.
mlv_team_datamlv_team_data
A data frame with 392 rows and 15 variables:
Season year
Team name
Match date
Opposing team name
Win/Loss result
Kills - successful attacks that result in a point
Assists - sets that lead directly to a kill
Service Aces - serves that result directly in a point
Blocks - successful defensive plays at the net
Definition pending
Total attack attempts
Attack efficiency percentage
Digs - successful defensive plays
Digs per set
Sets played in the match
Other datasets:
au_player_data,
lovb_player_data,
lovb_team_data,
lovb_teams,
mlv_player_data,
mlv_teams
head(mlv_team_data)head(mlv_team_data)
A dataset containing information about Major League Volleyball (MLV) teams, including team names, cities, mascots, URL slugs, and first year used for web scraping.
mlv_teamsmlv_teams
A data frame with 8 rows and 5 variables:
Team city name
Team mascot name
Full team name (city + mascot)
URL slug used in MLV website URLs
Year that team started in MLV
This dataset is used internally by the package functions to map user-provided team names to the appropriate URL slugs needed for web scraping the MLV website.
Other datasets:
au_player_data,
lovb_player_data,
lovb_team_data,
lovb_teams,
mlv_player_data,
mlv_team_data
mlv_teamsmlv_teams