Volleyball data API

Every set. Every rally. One API.

Live scores, set-by-set results, point-by-point sequences, timeouts and standings for 360+ volleyball leagues, in clean JSON you can ship today.

No credit card required. Your API key is ready right after sign-up.

EXAMPLE Example league · Set 3
TeamSets123
VC Northport 1 25 22 20
Harbor Spikers 1 21 25 16
Point by point · set 3, last 14 rallies14 points
Set 3 · Time Out
Set 3 - Race to 15 points - VC Northport
Example data · fictional teams
360+
Leagues & cups
60
Countries & regions
9
API methods
<15s
Live update cycle
What's in the feed

Built around how volleyball is actually played

Sets, rallies, serves and timeouts are first-class data, not an afterthought on top of a generic score field.

Livescore, set by set

Sets won, the score of every set, the set in progress and who is serving, refreshed while the match is on.

get_livescore

Point by point

The full rally sequence of each set: every point, the running score and which team won it.

pointbypoint

Match events

Timeouts, races to 5/10/15 points, leads and ties after N points and set results, linked to the team and set.

events

Fixtures & results

Past and upcoming matches by date, league, country, team or season, with rounds and final results.

get_fixtures

Standings

League tables by stage and group: played, won, lost, sets and points for/against, form and promotion zones.

get_standings

Odds & live odds

Pre-match markets from major bookmakers, plus in-play odds while the ball is in the air.

get_odds · get_live_odds

Head to head

The last meetings between two teams and each team's recent form, ready for previews.

get_H2H

Teams

Team profiles with the leagues they play in, for men's and women's competitions.

get_teams

Countries & leagues

National leagues, cups and international tournaments, grouped by country and region.

get_countries · get_leagues
Developer first

One request, the whole match

Plain HTTPS and JSON. Pass your API key, pick a method and you get fixtures, scores, sets and rallies in a single response.

  • Consistent keys for events, teams, leagues and countries across every method
  • Any timezone for dates and times with the timezone parameter
  • Several values at once, for example league_key=4,176
  • Try it in the browser from the documentation with your own key
Explore all methods See all leagues
# Live matches with sets, point by point and events
curl "https://api.api-volleyball.com/volleyball/?method=get_livescore&APIkey=YOUR_API_KEY"
$url = 'https://api.api-volleyball.com/volleyball/?method=get_fixtures'
     . '&date_start=2026-10-03&date_stop=2026-10-03&APIkey=' . $apiKey;
$data = json_decode(file_get_contents($url), true);

foreach ($data['result'] as $match) {
    echo $match['event_home_team'] . ' ' . $match['event_final_result']
       . ' ' . $match['event_away_team'] . PHP_EOL;
}
const url = 'https://api.api-volleyball.com/volleyball/?method=get_standings&league_key=4&APIkey=' + apiKey;
const { result } = await (await fetch(url)).json();

result.forEach(stage => {
  console.log(stage.stage);
  stage.standings.forEach(t => console.log(t.place, t.team_name, t.points));
});
{
  "success": 1,
  "result": [{
    "event_key": 810,
    "event_date": "2026-10-08",
    "event_time": "17:00",
    "event_home_team": "VC Northport",
    "home_team_key": 708,
    "event_away_team": "Harbor Spikers",
    "away_team_key": 711,
    "event_final_result": "1 - 1",
    "event_set_score": "19 - 17",
    "event_serve": "Home",
    "event_status": "Set 3",
    "event_live": "1",
    "league_name": "1. Bundesliga",
    "scores": [
      { "score_set": "1", "score_home": "25", "score_away": "21" },
      { "score_set": "2", "score_home": "22", "score_away": "25" },
      { "score_set": "3", "score_home": "19", "score_away": "17" }
    ],
    "pointbypoint": [{
      "set_number": 1,
      "points": [
        { "number_point": 1, "score": "1 - 0", "winner": "Home" },
        { "number_point": 2, "score": "1 - 1", "winner": "Away" }
      ]
    }],
    "events": [
      { "set_number": 3, "type": "timeout", "team": "Away", "points": null, "text": "Time Out" }
    ]
  }]
}
Get started

From sign-up to first rally in minutes

1

Create your account

Register with your email. Your 15-day trial starts right away and your API key is in your account page.

2

Call the API

Start with get_livescore or get_fixtures, or test any method straight from the docs.

3

Pick your plan

Choose the request volume you need. Pay monthly or save up to 15% on longer periods.

Pricing

Plans for every court size

Every plan starts with a free trial and includes all leagues. Higher plans add request volume and in-play odds.

Starter

$40 / month
8 000 requests / day
  • 15-day free trial
  • Fixtures & results
  • Livescore by set
  • Point by point & events
  • Standings, teams, H2H
  • Pre-match odds
  • In-play odds
Start free trial

Business

$80 / month
200 000 requests / day
  • 15-day free trial
  • Fixtures & results
  • Livescore by set
  • Point by point & events
  • Standings, teams, H2H
  • Pre-match odds
  • In-play odds
Start free trial

Ultra

$120 / month
2 000 000 requests / day
  • 15-day free trial
  • Fixtures & results
  • Livescore by set
  • Point by point & events
  • Standings, teams, H2H
  • Pre-match odds
  • In-play odds
Start free trial

Need more requests, specific leagues or a custom contract? Talk to us.

FAQ

Questions, answered

Anything else? Write to contact@api-volleyball.com.

More than 360 men's and women's leagues, cups and international tournaments from 60 countries and regions. Use get_countries and get_leagues to list everything in your plan.
Live matches are refreshed continuously, typically every 10 to 15 seconds: set scores, the current set, the serving team, rallies and match events.
For each set you get every rally in order, with the running score and the team that won the point, so you can draw momentum charts or rebuild the set.
Yes. The trial includes all leagues and every method of the plan, so you can check the coverage you need before paying.
Card (Stripe), PayPal - both as a one-time payment or an auto-renewing subscription - and crypto through NOWPayments. Companies can add their VAT number to receive an invoice.
Yes. Plans are paid in advance and are not renewed unless you chose an auto-renewing subscription, which you can cancel whenever you want.
Contact

Let's talk volleyball data

Questions about coverage, plans or integration? We usually reply within one business day.