| Type: | Package |
| Title: | Extract Data from US Women's Professional Volleyball Websites |
| Version: | 0.1.0 |
| Maintainer: | Jeffrey R. Stevens <jeffrey.r.stevens@protonmail.com> |
| Description: | Tools for scraping match statistics and player data from the Athletes Unlimited (UA) website https://auprosports.com/volleyball/, the League One Volleyball website https://lovb.com, and the Major League (MLV) website https://provolleyball.com. |
| License: | MIT + file LICENSE |
| Encoding: | UTF-8 |
| Depends: | R (≥ 4.2) |
| RoxygenNote: | 7.3.3 |
| Imports: | cli, curl, dplyr, janitor, lifecycle, purrr, rlang, rvest, stringr, selenider |
| Suggests: | chromote, knitr, readr, rmarkdown, testthat (≥ 3.0.0), tidyr |
| SystemRequirements: | Google Chrome browser |
| URL: | https://github.com/JeffreyRStevens/provolleyballr |
| BugReports: | https://github.com/JeffreyRStevens/provolleyballr/issues |
| LazyData: | true |
| NeedsCompilation: | no |
| Packaged: | 2026-01-12 01:56:22 UTC; jstevens |
| Author: | Jeffrey R. Stevens
|
| Repository: | CRAN |
| Date/Publication: | 2026-01-17 11:10:07 UTC |
provolleyballr: Extract Data from US Women's Professional Volleyball Websites
Description
Tools for scraping match statistics and player data from the Athletes Unlimited (UA) website https://auprosports.com/volleyball/, the League One Volleyball website https://lovb.com, and the Major League (MLV) website https://provolleyball.com.
Author(s)
Maintainer: Jeffrey R. Stevens jeffrey.r.stevens@protonmail.com (ORCID) [copyright holder]
See Also
Useful links:
Report bugs at https://github.com/JeffreyRStevens/provolleyballr/issues
Athletes Unlimited Individual Player Statistics
Description
A dataset containing individual player season statistics for Athletes Unlimited (UA) players for the 2021-2025 seasons.
Usage
au_player_data
Format
A data frame with 220 rows and 25 variables:
- year
Season year
- rank
Player rank
- player
Player name
- points
Total points achieved
- sets_played
Sets played
- kills
Kills - successful attacks
- kills_per_set
Kills per set
- attack_errors
Attack Errors
- attack_attempts
Total attack attempts
- kill_percentage
Kill percentage
- assists
Assists - sets that lead directly to a kill
- assists_per_set
Assists per set
- setting_errors
Setting errors
- service_aces
Service Aces - serves that result directly in a point
- service_errors
Service errors
- service_aces_per_set
Service aces per set
- total_reception_attempts
Total reception attempts
- reception_errors
Reception errors
- positive_reception_percentage
Percentage of reception attempts that are either positive or perfect
- digs
Digs - successful defensive plays
- digs_per_set
Digs per set
- blocks
Blocks - successful defensive plays at the net
- blocks_per_set
Blocks per set
- block_assists
Block assists - two- or three-person blocks
- good_receptions
Number of positive receptions
Source
https://auprosports.com/volleyball/
See Also
Other datasets:
lovb_player_data,
lovb_team_data,
lovb_teams,
mlv_player_data,
mlv_team_data,
mlv_teams
Examples
head(au_player_data)
Extract Data from Athletes Unlimited Volleyball Website
Description
This function scrapes player season statistics for Athletes Unlimited Volleyball (AU) players from the official AU website https://auprosports.com/volleyball/.
Usage
au_stats(year = NULL, stored = TRUE)
Arguments
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) |
Value
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
Note
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.
See Also
Other statistics functions:
get_stats(),
group_stats(),
lovb_stats(),
mlv_stats()
Examples
# Get 2025 player statistics
au_stats(year = 2025)
Checks if a logical input is valid
Description
Checks if a logical input is valid
Usage
check_logical(name = NULL, value = NULL)
Arguments
name |
Argument name. |
value |
Argument value. |
Checks if value is matched in vector
Description
Checks if value is matched in vector
Usage
check_match(name = NULL, value = NULL, vec = NULL)
Arguments
name |
Argument name. |
value |
Value. |
vec |
Vector. |
Checks if year is valid
Description
Checks if year is valid
Usage
check_year(year = NULL, min = NULL)
Arguments
year |
Year. |
min |
Numeric for minimum year available. |
Assigns current year
Description
Assigns current year
Usage
current_year()
Extract Data from US Women's Professional Volleyball Websites
Description
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.
Usage
get_stats(league = NULL, team = NULL, year = NULL, level = NULL, stored = TRUE)
Arguments
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) |
Value
A tibble containing team match-by-match or player season statistics.
Note
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.
See Also
Other statistics functions:
au_stats(),
group_stats(),
lovb_stats(),
mlv_stats()
Examples
# 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 Statistics for All Teams in a League
Description
This function retrieves statistics for all teams in a specified league (LOVB or MLV) and year(s).
Usage
group_stats(league = NULL, year = NULL, level = NULL, stored = TRUE)
Arguments
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) |
Value
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
See Also
Other statistics functions:
au_stats(),
get_stats(),
lovb_stats(),
mlv_stats()
Examples
# 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")
League One Volleyball Individual Player Statistics
Description
A dataset containing individual player season statistics for League One Volleyball (LOVB) players across the league for the 2025 season.
Usage
lovb_player_data
Format
A data frame with 94 rows and 27 variables:
- year
Season year
- team
Player's team name
- number
Player jersey number
- player
Player name
- points
Total Points
- matches_started
Matches Started
- sets_started
Sets Started
- sets_played
Sets Played
- hitting_efficiency
Attack Efficiency percentage
- kill_percentage
Kill percentage
- kills
Kills - successful attacks
- attack_errors
Attack Errors
- attacks_blocked
Attacks blocked by opponent
- attack_attempts
Total attack attempts
- in_system_percentage
In-system percentage
- reception_errors
Reception errors
- reception_attempts
Reception attempts
- service_aces
Service Aces - serves that result directly in a point
- service_errors
Service errors
- opponent_in_system_percentage
Opponent in-system percentage
- service_attempts
Service attempts
- blocks
Blocks - successful defensive plays at the net
- block_touch_percentage
Block touch percentage
- digs
Digs - successful defensive plays
- dig_percentage
Dig percentage
- assists
Assists - sets that lead directly to a kill
- setting_efficiency
Setting efficiency percentage
Source
See Also
Other datasets:
au_player_data,
lovb_team_data,
lovb_teams,
mlv_player_data,
mlv_team_data,
mlv_teams
Examples
head(lovb_player_data)
Extract Data from League One Volleyball Website
Description
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.
Usage
lovb_stats(team = NULL, year = NULL, level = NULL)
Arguments
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. |
Value
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
Note
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.
See Also
Other statistics functions:
au_stats(),
get_stats(),
group_stats(),
mlv_stats()
Examples
# Get Omaha Supernovas 2024 match statistics
lovb_stats(team = "Omaha", year = 2025, level = "team")
lovb_stats(team = "Omaha", year = 2025, level = "player")
League One Volleyball Team Match Statistics
Description
A dataset containing team match-by-match statistics for League One Volleyball (LOVB) teams for the 2025 season.
Usage
lovb_team_data
Format
A data frame with 96 rows and 24 variables:
- year
Season year
- team
Team name
- opponent
Opposing team name
- date
Match date
- points
Points scored
- hitting_efficiency
Attack efficiency percentage
- kill_percentage
Kill percentage
- kills
Kills - successful attacks that result in a point
- attack_errors
Attack Errors - unsuccessful attacks
- attacks_blocked
Attacks blocked by opponent
- attack_attempts
Total attack attempts
- in_system_percentage
In-system percentage
- reception_errors
Reception errors
- reception_attempts
Reception attempts
- service_aces
Service Aces - serves that result directly in a point
- service_errors
Service errors
- opponent_in_system_percentage
Opponent in-system percentage
- service_attempts
Service attempts
- blocks
Blocks - successful defensive plays at the net
- block_touch_percentage
Block touch percentage
- digs
Digs - successful defensive plays
- dig_percentage
Dig percentage
- assists
Assists - sets that lead directly to a kill
- setting_efficiency
Setting efficiency percentage
Source
See Also
Other datasets:
au_player_data,
lovb_player_data,
lovb_teams,
mlv_player_data,
mlv_team_data,
mlv_teams
Examples
head(lovb_team_data)
League One Volleyball Teams
Description
A dataset containing information about League One Volleyball (LOVB) teams, including team names, URL slugs, and first year used for web scraping.
Usage
lovb_teams
Format
A data frame with 8 rows and 5 variables:
- name
Team city name
- slug
URL slug used in LOVB website URLs
- first_year
Year that team started in LOVB
Details
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.
Source
See Also
Other datasets:
au_player_data,
lovb_player_data,
lovb_team_data,
mlv_player_data,
mlv_team_data,
mlv_teams
Examples
lovb_teams
Major League Volleyball Individual Player Statistics
Description
A dataset containing individual player season statistics for Major League Volleyball (MLV) players across the league for the 2024-2025 seasons.
Usage
mlv_player_data
Format
A data frame with 264 rows and 23 variables:
- year
Season year
- team
Player's team name
- number
Player jersey number
- player
Player name
- sets_played
Sets Played
- matches_played
Matches Played
- points
Total Points
- points_per_set
Points per Set
- kills
Kills - successful attacks
- kills_per_set
Kills per Set
- attack_errors
Attack Errors
- attack_attempts
Total Attacks
- hitting_efficiency
Attack Efficiency percentage
- assists
Assists - sets that lead directly to a kill
- assists_per_set
Assists per Set
- service_aces
Service Aces - serves that result directly in a point
- service_aces_per_set
Service Aces per Set
- serive_errors
Service Errors
- service_errors_per_set
Service Errors per Set
- digs
Digs - successful defensive plays
- digs_per_set
Digs per Set
- blocks
Blocks - successful defensive plays at the net
- blocks_per_set
Blocks per Set
Source
See Also
Other datasets:
au_player_data,
lovb_player_data,
lovb_team_data,
lovb_teams,
mlv_team_data,
mlv_teams
Examples
head(mlv_player_data)
Extract Data from Major League Volleyball Website
Description
This function scrapes team match-by-match and player season statistics for Major League Volleyball (MLV) teams from the official website https://provolleyball.com.
Usage
mlv_stats(team = NULL, year = NULL, level = NULL, stored = TRUE)
Arguments
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) |
Value
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
Note
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.
See Also
Other statistics functions:
au_stats(),
get_stats(),
group_stats(),
lovb_stats()
Examples
# Get Omaha Supernovas 2024 match statistics
mlv_stats(team = "Omaha", year = 2024, level = "team")
mlv_stats(team = "Omaha", year = 2024, level = "player")
Major League Volleyball Team Match Statistics
Description
A dataset containing team match-by-match statistics for Major League Volleyball (MLV) teams for the 2024-2025 seasons.
Usage
mlv_team_data
Format
A data frame with 392 rows and 15 variables:
- year
Season year
- team
Team name
- date
Match date
- opponent
Opposing team name
- result
Win/Loss result
- kills
Kills - successful attacks that result in a point
- assists
Assists - sets that lead directly to a kill
- service_aces
Service Aces - serves that result directly in a point
- blocks
Blocks - successful defensive plays at the net
- out
Definition pending
- attack_attempts
Total attack attempts
- hitting_efficiency
Attack efficiency percentage
- digs
Digs - successful defensive plays
- digs_per_set
Digs per set
- sets_played
Sets played in the match
Source
See Also
Other datasets:
au_player_data,
lovb_player_data,
lovb_team_data,
lovb_teams,
mlv_player_data,
mlv_teams
Examples
head(mlv_team_data)
Major League Volleyball Teams
Description
A dataset containing information about Major League Volleyball (MLV) teams, including team names, cities, mascots, URL slugs, and first year used for web scraping.
Usage
mlv_teams
Format
A data frame with 8 rows and 5 variables:
- city
Team city name
- mascot
Team mascot name
- name
Full team name (city + mascot)
- slug
URL slug used in MLV website URLs
- first_year
Year that team started in MLV
Details
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.
Source
See Also
Other datasets:
au_player_data,
lovb_player_data,
lovb_team_data,
lovb_teams,
mlv_player_data,
mlv_team_data
Examples
mlv_teams