Volleyball data API
Volleyball data, live through one keyIndoor and beach volleyball: live scores, results with every set, rally by rally points, line-ups, league tables, teams, players and head to head.
Endpoints
Everything volleyball answers
Each one opens in the docs with a live console, your key already filled in.
| Method | Address | What it gives | Free key | |
|---|---|---|---|---|
| GET | /v1/volleyball/live | Every match in play now, with the score and the clock | Plan | Try it |
| GET | /v1/volleyball/fixtures | Upcoming matches by date | Plan | Try it |
| GET | /v1/volleyball/results | Finished matches by date, with the final score | Yesterday | Try it |
| GET | /v1/volleyball/events/{id} | One match in full: both sides, the score, the venue and the officials | Yesterday | Try it |
| GET | /v1/volleyball/events/{id}/lineups | Starters, substitutes and formations for both sides | Yesterday | Try it |
| GET | /v1/volleyball/events/{id}/periods | The score by set, and every scoring event in order | Yesterday | Try it |
| GET | /v1/volleyball/competitions | Every competition held, with its seasons | Yesterday | Try it |
| GET | /v1/volleyball/standings | A league table for a competition and season | Yesterday | Try it |
| GET | /v1/volleyball/teams/{id} | A team and its record | Yesterday | Try it |
| GET | /v1/volleyball/players/{id} | A player and their figures | Yesterday | Try it |
| GET | /v1/volleyball/head-to-head | Every meeting between two teams | Yesterday | Try it |
| GET | /v1/volleyball/search | Teams, players and competitions by name | Yesterday | Try it |
A real answer
What comes back
Kept from the API each night, exactly as a caller receives it, lists cut to a few rows.
{
"data": [
{
"id": "vb_hhymasfwvm",
"discipline": "beach",
"gender": "men",
"status": "finished",
"current_set": null,
"date": "2026-11-02",
"time_local": "09:00",
"start_utc": null,
"utc_offset": null,
"timezone": null,
"competition": {
"id": "vb_t665yfcsb7",
"name": "2026 Youth Olympic Games",
"season": 2026
},
"round": null,
"pool": null,
"team_a": {
"id": "vb_y6f307dwty",
"name": "AMOAFO/LARTEY"
},
"team_b": {
"id": "vb_mnx1qd9t2v",
"name": "Yasser/TAGHDOUINI"
},
"score": {
"a": 2,
"b": 0
},
"winner": "a",
"sets": [
{
"set": 1,
"a": 21,
"b": 13,
"duration_s": 953
},
{
"set": 2,
"a": 21,
"b": 19,
"duration_s": 1229
}
],
"sets_complete": true,
"duration_s": 2182,
"updated_utc": "2026-11-02T09:45:06Z"
},
{
"id": "vb_sy6zsr0p0e",
"discipline": "beach",
"gender": "men",
"status": "finished",
"current_set": null,
"date": "2026-11-02",
"time_local": "09:00",
"start_utc": null,
"utc_offset": null,
"timezone": null,
"competition": {
"id": "vb_t665yfcsb7",
"name": "2026 Youth Olympic Games",
"season": 2026
},
"round": null,
"pool": null,
"team_a": {
"id": "vb_gvbaj9ndyq",
"name": "BARRIOS/KEMPF"
},
"team_b": {
"id": "vb_04egzngyvh",
"name": "Allen /Keane"
},
"score": {
"a": 2,
"b": 0
},
"winner": "a",
"sets": [
{
"set": 1,
"a": 21,
"b": 11,
"duration_s": 812
},
{
"set": 2,
"a": 21,
"b": 11,
"duration_s": 684
}
],
"sets_complete": true,
"duration_s": 1496,
"updated_utc": "2026-11-02T09:32:56Z"
}
],
"meta": {
"sport": "volleyball",
"endpoint": "/results",
"count": 36,
"page": 1,
"per_page": 50,
"total": 36,
"total_pages": 1,
"next_cursor": null,
"next_page": null,
"prev_page": null,
"cached": false,
"age_seconds": 0
}
}{
"data": {
"competition": {
"id": "vb_t665yfcsb7",
"name": "2026 Youth Olympic Games",
"discipline": "beach",
"gender": "men",
"season": 2026
},
"tables": [
{
"stage": null,
"pool": null,
"rows": [
{
"rank": 1,
"team": {
"id": "vb_10mdr01vtk",
"name": "L. Ringøen/Karlsen"
},
"played": 4,
"won": 4,
"lost": 0,
"points": 8,
"sets_won": 8,
"sets_lost": 0,
"set_ratio": null,
"points_won": 168,
"points_lost": 96,
"point_ratio": 1.75,
"form": "WWWW"
},
{
"rank": 2,
"team": {
"id": "vb_wq21my6r94",
"name": "Hohenauer/Poinstingl"
},
"played": 4,
"won": 4,
"lost": 0,
"points": 8,
"sets_won": 8,
"sets_lost": 1,
"set_ratio": 8.0,
"points_won": 181,
"points_lost": 101,
"point_ratio": 1.792,
"form": "WWWW"
},
{
"rank": 3,
"team": {
"id": "vb_pszjefcets",
"name": "Hüper/Wüst"
},
"played": 4,
"won": 4,
"lost": 0,
"points": 8,
"sets_won": 8,
"sets_lost": 1,
"set_ratio": 8.0,
"points_won": 181,
"points_lost": 112,
"point_ratio": 1.616,
"form": "WWWW"
}
]
}
]
},
"meta": {
"sport": "volleyball",
"endpoint": "/standings",
"cached": false,
"age_seconds": 0
}
}{
"data": [
{
"id": "vb_m9ggzxbrj0",
"name": "KEN NT - Kwale",
"discipline": "beach",
"gender": "women",
"season": 2027,
"start_date": "2027-09-18",
"end_date": "2027-09-19",
"country_code": "KE"
},
{
"id": "vb_6kbfa9g1fq",
"name": "KEN NT - Kwale",
"discipline": "beach",
"gender": "men",
"season": 2027,
"start_date": "2027-09-18",
"end_date": "2027-09-19",
"country_code": "KE"
}
],
"meta": {
"sport": "volleyball",
"endpoint": "/competitions",
"count": 50,
"page": 1,
"per_page": 50,
"total": 16922,
"total_pages": 339,
"next_cursor": "eyJvIjo1MCwicCI6NTB9",
"next_page": 2,
"prev_page": null,
"cached": false,
"age_seconds": 0
}
}Goes well with
Sports often taken with volleyball
Can I try volleyball before I pay?
Yes. The free key reads yesterday's volleyball data on every endpoint except live and fixtures, 50 calls a day, no card.
What does the Volleyball plan include?
Every volleyball endpoint, live and upcoming included, the full history we hold, 120 calls a minute and 250,000 a month, for $29 a month or $290 a year.
Does it answer like the other sports?
Yes. Volleyball answers in the same shape as every other sport, through the same key, so code written for one reads the rest.
Can I use it with Claude?
Yes. The MCP server turns each volleyball endpoint into a tool, on the same key.