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 ORCID iD [aut, cre, cph]
Repository: CRAN
Date/Publication: 2026-01-17 11:10:07 UTC

provolleyballr: Extract Data from US Women's Professional Volleyball Websites

Description

logo

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:


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 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 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:

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

https://lovb.com

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 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

https://lovb.com

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

https://www.lovb.com

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

https://provolleyball.com

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 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

https://provolleyball.com

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

https://provolleyball.com

See Also

Other datasets: au_player_data, lovb_player_data, lovb_team_data, lovb_teams, mlv_player_data, mlv_team_data

Examples

mlv_teams