DocumentationGuides
Volleyball teams and players guide
Teams, players and careers
Clubs, national teams and beach pairs under one id whatever name they played as, their players, each player's career competition by competition, and head-to-head records.
What it covers
Clubs, national teams and beach pairs, each under one id whatever name or sponsor it played under, with the players it fielded. Each player has a nationality, date of birth, height and position where known, every team they played for, and a career competition by competition: matches, wins, points, kills, aces and blocks.
The endpoints
| Endpoint | What it returns |
|---|---|
| GET /v1/teams | Teams and beach pairs, found by name |
| GET /v1/teams/{id} | One team: its name, kind, federation and players |
| GET /v1/teams/{id}/matches | A team's matches, newest first |
| GET /v1/players | Players, found by name |
| GET /v1/players/{id} | One player, the teams they have played for and their career, competition by competition |
| GET /v1/head-to-head | Every meeting of two teams, with the record between them |
How the records link
A team leads to its matches and its players; a player to their teams and career; two teams to every meeting between them.
Find a team
By part of its name, under any name it has played as.
# Find a team curl "https://api.volleyballapi.com/v1/teams?q=Canada" \ -H "Authorization: Bearer $VBA_KEY"
$q = http_build_query(['q' => 'Canada']); $ch = curl_init('https://api.volleyballapi.com/v1/teams?' . $q); curl_setopt_array($ch, [ CURLOPT_HTTPHEADER => ['Authorization: Bearer ' . getenv('VBA_KEY')], CURLOPT_RETURNTRANSFER => true, ]); $res = json_decode(curl_exec($ch), true); print_r($res['data']);
import os, requests r = requests.get( "https://api.volleyballapi.com/v1/teams", params={"q": "Canada"}, headers={"Authorization": f"Bearer {os.environ['VBA_KEY']}"}, ) print(r.json()["data"])
const res = await fetch("https://api.volleyballapi.com/v1/teams?q=Canada", { headers: { "X-API-Key": process.env.VBA_KEY }, }); const { data, meta } = await res.json();
A player and their career
Teams and a career entry per competition, newest first.
# A player and their career curl "https://api.volleyballapi.com/v1/players/pl_b4yqer2h" \ -H "Authorization: Bearer $VBA_KEY"
$ch = curl_init('https://api.volleyballapi.com/v1/players/pl_b4yqer2h'); curl_setopt_array($ch, [ CURLOPT_HTTPHEADER => ['Authorization: Bearer ' . getenv('VBA_KEY')], CURLOPT_RETURNTRANSFER => true, ]); $res = json_decode(curl_exec($ch), true); print_r($res['data']);
import os, requests r = requests.get( "https://api.volleyballapi.com/v1/players/pl_b4yqer2h", headers={"Authorization": f"Bearer {os.environ['VBA_KEY']}"}, ) print(r.json()["data"])
const res = await fetch("https://api.volleyballapi.com/v1/players/pl_b4yqer2h", { headers: { "X-API-Key": process.env.VBA_KEY }, }); const { data, meta } = await res.json();
Two teams' record
Every meeting, newest first, with who won how many. On every paid plan.
# Two teams' record curl "https://api.volleyballapi.com/v1/head-to-head?team_a=tm_7h04r4t8&team_b=tm_gq4s1mva" \ -H "Authorization: Bearer $VBA_KEY"
$q = http_build_query(['team_a' => 'tm_7h04r4t8', 'team_b' => 'tm_gq4s1mva']); $ch = curl_init('https://api.volleyballapi.com/v1/head-to-head?' . $q); curl_setopt_array($ch, [ CURLOPT_HTTPHEADER => ['Authorization: Bearer ' . getenv('VBA_KEY')], CURLOPT_RETURNTRANSFER => true, ]); $res = json_decode(curl_exec($ch), true); print_r($res['data']);
import os, requests r = requests.get( "https://api.volleyballapi.com/v1/head-to-head", params={"team_a": "tm_7h04r4t8", "team_b": "tm_gq4s1mva"}, headers={"Authorization": f"Bearer {os.environ['VBA_KEY']}"}, ) print(r.json()["data"])
const res = await fetch("https://api.volleyballapi.com/v1/head-to-head?team_a=tm_7h04r4t8&team_b=tm_gq4s1mva", { headers: { "X-API-Key": process.env.VBA_KEY }, }); const { data, meta } = await res.json();
Stuck on something?
Ask support