API reference · v1.0

Volleyball API documentation

Every method is a simple GET or POST request to the same URL, with the method name and your API key as parameters. Responses are JSON with success: 1 and a result object or array.

GET/POSThttps://api.api-volleyball.com/volleyball/?method=method_name&APIkey=your_key
No key yet? Start a free trial or log in to have it filled in automatically.

Authentication

Pass your API key in the APIkey parameter of every request. You find it on your account page.

Parameters that accept keys (match_key, league_key, country_key, team_key) take one value or several, separated by commas: league_key=4,176.

Errors & limits

When a request fails the response has error: "1" and a list of messages with a code:

CodeMeaning
201Required parameter missing (the param field tells which one)
1004Wrong or missing API key
1005The method is not included in your plan
1006Your plan has expired: renew it from your account page
-Daily request limit reached: upgrade your plan or wait until the next day

Every plan has a daily number of requests. You can follow your consumption on the usage page.

Countries

Returns the countries and regions that have volleyball competitions included in your plan.

GET/POSThttps://api.api-volleyball.com/volleyball/?method=get_countries

Parameters

ParameterDescription
methodget_countries
APIkeyREQUIREDYour API key

Try it

Example response

{
  "success": 1,
  "result": [
    { "country_key": 43, "country_name": "Africa" },
    { "country_key": 3, "country_name": "Germany" }
  ]
}

PHP example

$url = 'https://api.api-volleyball.com/volleyball/?method=get_countries&APIkey=' . $apiKey;
$response = json_decode(file_get_contents($url), true);

if (!empty($response['success'])) {
    print_r($response['result']);
}

Leagues

Returns the leagues, cups and international tournaments available, with their country and current season.

GET/POSThttps://api.api-volleyball.com/volleyball/?method=get_leagues

Parameters

ParameterDescription
methodget_leagues
APIkeyREQUIREDYour API key
country_keyOnly leagues of these countries (one or more keys, comma separated)

Try it

Example response

{
  "success": 1,
  "result": [
    {
      "league_key": 4,
      "league_name": "1. Bundesliga",
      "country_key": 3,
      "country_name": "Germany",
      "league_season": "2026/2027"
    }
  ]
}

PHP example

$url = 'https://api.api-volleyball.com/volleyball/?method=get_leagues&APIkey=' . $apiKey;
$response = json_decode(file_get_contents($url), true);

if (!empty($response['success'])) {
    print_r($response['result']);
}

Fixtures

Returns matches between two dates (or for a league or a single match) with final result and the score of every set. Point by point and events are included when you request one match (match_key) or set with_details=1.

GET/POSThttps://api.api-volleyball.com/volleyball/?method=get_fixtures

Parameters

ParameterDescription
methodget_fixtures
APIkeyREQUIREDYour API key
date_startREQUIREDStart date (yyyy-mm-dd). Required unless match_key or league_key is set
date_stopREQUIREDStop date (yyyy-mm-dd). Required unless match_key or league_key is set
match_keyOne or more match keys (event_key)
league_keyOne or more league keys
country_keyOne or more country keys
team_keyMatches of these teams (home or away)
seasonLeague season, e.g. 2026/2027
with_detailsSet to 1 to include pointbypoint and events for every match
timezoneTimezone for event_date / event_time, e.g. Europe/London or +02:00 (default Europe/Berlin)

Response fields

FieldDescription
event_final_resultSets won by each team, e.g. "3 - 1"
event_set_scoreScore of the set in progress (live matches only)
event_serveServing team in a live match: Home or Away
event_winnerHome or Away once the match is finished
event_statusEmpty before the start, Set 1 ... Set 5 while live, then Finished (or Postponed, Awarded, ...)
event_live"1" while the match is being played
scoresScore of every set, in order
pointbypointPer set, every rally: number_point, running score and winner
eventsTimeouts, races to N points, leads/ties after N points and set results: set_number, type, team, points, text

Try it

Example response

{
  "success": 1,
  "result": [
    {
      "event_key": 38,
      "event_date": "2026-10-04",
      "event_time": "09:00",
      "event_home_team": "Lileya W",
      "home_team_key": 74,
      "event_away_team": "Minchanka 2 W",
      "away_team_key": 75,
      "event_final_result": "3 - 1",
      "event_set_score": null,
      "event_serve": null,
      "event_winner": "Home",
      "event_status": "Finished",
      "event_live": "0",
      "country_key": 45,
      "country_name": "Belarus",
      "league_key": 194,
      "league_name": "Championship Women",
      "league_round": null,
      "league_season": "2026/2027",
      "scores": [
        { "score_set": "1", "score_home": "25", "score_away": "16" },
        { "score_set": "2", "score_home": "23", "score_away": "25" },
        { "score_set": "3", "score_home": "25", "score_away": "22" },
        { "score_set": "4", "score_home": "25", "score_away": "21" }
      ]
    }
  ]
}

PHP example

$url = 'https://api.api-volleyball.com/volleyball/?method=get_fixtures&APIkey=' . $apiKey;
$response = json_decode(file_get_contents($url), true);

if (!empty($response['success'])) {
    print_r($response['result']);
}

Livescore

Returns the matches being played right now with sets, the current set score, the serving team, point by point and match events.

GET/POSThttps://api.api-volleyball.com/volleyball/?method=get_livescore

Parameters

ParameterDescription
methodget_livescore
APIkeyREQUIREDYour API key
match_keyOne or more match keys
league_keyOne or more league keys
country_keyOne or more country keys
team_keyMatches of these teams
timezoneTimezone for event_date / event_time, e.g. Europe/London or +02:00 (default Europe/Berlin)

Try it

Example response

Illustrative values with fictional teams.

{
  "success": 1,
  "result": [
    {
      "event_key": 1234,
      "event_date": "2026-10-08",
      "event_time": "17:00",
      "event_home_team": "VC Northport",
      "home_team_key": 501,
      "event_away_team": "Harbor Spikers",
      "away_team_key": 502,
      "event_final_result": "1 - 1",
      "event_set_score": "19 - 17",
      "event_serve": "Home",
      "event_winner": null,
      "event_status": "Set 3",
      "event_live": "1",
      "country_key": 3,
      "country_name": "Germany",
      "league_key": 4,
      "league_name": "1. Bundesliga",
      "league_round": "1. Bundesliga - Regular Season",
      "league_season": "2026/2027",
      "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": 1, "type": "race", "team": "Away", "points": 5, "text": "Set 1 - Race to 5 points - Harbor Spikers" },
        { "set_number": 1, "type": "tie_after", "team": null, "points": 10, "text": "Set 1 Tie After 10" },
        { "set_number": 3, "type": "timeout", "team": null, "points": null, "text": "Time Out" }
      ]
    }
  ]
}

PHP example

$url = 'https://api.api-volleyball.com/volleyball/?method=get_livescore&APIkey=' . $apiKey;
$response = json_decode(file_get_contents($url), true);

if (!empty($response['success'])) {
    print_r($response['result']);
}

H2H (Head to Head)

Returns the last 10 finished meetings between two teams and the last 10 finished matches of each team.

GET/POSThttps://api.api-volleyball.com/volleyball/?method=get_H2H

Parameters

ParameterDescription
methodget_H2H
APIkeyREQUIREDYour API key
first_team_keyREQUIREDKey of the first team
second_team_keyREQUIREDKey of the second team
timezoneTimezone for event_date / event_time, e.g. Europe/London or +02:00 (default Europe/Berlin)

Try it

Example response

{
  "success": 1,
  "result": {
    "H2H": [
      {
        "event_key": 38,
        "event_date": "2026-10-04",
        "event_home_team": "Lileya W",
        "event_away_team": "Minchanka 2 W",
        "event_final_result": "3 - 1",
        "event_winner": "Home",
        "league_name": "Championship Women",
        "scores": [ { "score_set": "1", "score_home": "25", "score_away": "16" } ]
      }
    ],
    "firstTeamResults": [ ... ],
    "secondTeamResults": [ ... ]
  }
}

PHP example

$url = 'https://api.api-volleyball.com/volleyball/?method=get_H2H&APIkey=' . $apiKey;
$response = json_decode(file_get_contents($url), true);

if (!empty($response['success'])) {
    print_r($response['result']);
}

Standings

Returns the league table, grouped by stage and group (regular season, play-offs, pools).

GET/POSThttps://api.api-volleyball.com/volleyball/?method=get_standings

Parameters

ParameterDescription
methodget_standings
APIkeyREQUIREDYour API key
league_keyREQUIREDLeague key
seasonLeague season, e.g. 2026/2027 (default: the latest season)

Response fields

FieldDescription
sets_won / sets_lostSets won and lost in the competition
points_for / points_againstRally points scored and conceded, when the source provides them (otherwise null)
pointsTable points
formRecent results, when available
descriptionQualification or relegation zone of the position

Try it

Example response

{
  "success": 1,
  "result": [
    {
      "league_key": 45,
      "league_season": "2026/2027",
      "stage": "Serie A1 Women - Regular Season",
      "group": "",
      "standings": [
        {
          "place": 1,
          "team_key": 143,
          "team_name": "Conegliano W",
          "played": 1,
          "won": 1,
          "lost": 0,
          "sets_won": 3,
          "sets_lost": 0,
          "points_for": null,
          "points_against": null,
          "points": "3",
          "form": "",
          "description": "Promotion - Serie A1 Women (Play Offs: Quarter-finals)"
        }
      ]
    }
  ]
}

PHP example

$url = 'https://api.api-volleyball.com/volleyball/?method=get_standings&APIkey=' . $apiKey;
$response = json_decode(file_get_contents($url), true);

if (!empty($response['success'])) {
    print_r($response['result']);
}

Teams

Returns team details and the leagues each team plays in. Use team_key for specific teams or league_key for all the teams of a league.

GET/POSThttps://api.api-volleyball.com/volleyball/?method=get_teams

Parameters

ParameterDescription
methodget_teams
APIkeyREQUIREDYour API key
team_keyOne or more team keys
league_keyAll teams of these leagues (latest season)

Try it

Example response

{
  "success": 1,
  "result": [
    {
      "team_key": 711,
      "team_name": "BR Volleys",
      "team_country": null,
      "team_logo": null,
      "leagues": [
        { "league_key": 4, "league_name": "1. Bundesliga", "country_name": "Germany" }
      ]
    }
  ]
}

PHP example

$url = 'https://api.api-volleyball.com/volleyball/?method=get_teams&APIkey=' . $apiKey;
$response = json_decode(file_get_contents($url), true);

if (!empty($response['success'])) {
    print_r($response['result']);
}

Odds

Returns pre-match odds grouped by match, market, selection and bookmaker. Markets with a line (handicap, totals) have one more level with the line.

GET/POSThttps://api.api-volleyball.com/volleyball/?method=get_odds

Parameters

ParameterDescription
methodget_odds
APIkeyREQUIREDYour API key
match_keyOne or more match keys
date_startREQUIREDStart date (yyyy-mm-dd). Required unless match_key is set
date_stopREQUIREDStop date (yyyy-mm-dd), at most 7 days after date_start
league_keyOne or more league keys
country_keyOne or more country keys

Try it

Example response

{
  "success": 1,
  "result": {
    "15": {
      "Home/Away": {
        "Home": { "Marathon": "1.21", "Betfair": "1.29", "1xBet": "1.22" },
        "Away": { "bet365": "3.40", "Marathon": "3.62", "Betfair": "3.25", "1xBet": "3.66" }
      },
      "Correct Score": {
        "3:0": { "bet365": "2.62", "Marathon": "2.57", "1xBet": "2.53" },
        "3:1": { "bet365": "3.60", "Marathon": "3.26", "1xBet": "3.26" }
      },
      "Over/Under": {
        "Over": { "3.5": { "Marathon": "1.54" }, "4.5": { "Marathon": "3.28" } },
        "Under": { "3.5": { "Marathon": "2.25" }, "4.5": { "Marathon": "1.27" } }
      }
    }
  }
}

PHP example

$url = 'https://api.api-volleyball.com/volleyball/?method=get_odds&APIkey=' . $apiKey;
$response = json_decode(file_get_contents($url), true);

if (!empty($response['success'])) {
    print_r($response['result']);
}

Live OddsBusiness & Ultra

Returns in-play odds for the matches being played, together with the live match data.

GET/POSThttps://api.api-volleyball.com/volleyball/?method=get_live_odds

Parameters

ParameterDescription
methodget_live_odds
APIkeyREQUIREDYour API key
match_keyOne or more match keys
league_keyOne or more league keys
country_keyOne or more country keys
team_keyMatches of these teams
timezoneTimezone for event_date / event_time, e.g. Europe/London or +02:00 (default Europe/Berlin)

Try it

Example response

Illustrative match with fictional teams; markets and odds format as delivered by the feed.

{
  "success": 1,
  "result": {
    "1234": {
      "event_key": 1234,
      "event_home_team": "VC Northport",
      "event_away_team": "Harbor Spikers",
      "event_final_result": "1 - 0",
      "event_set_score": "9 - 4",
      "event_status": "Set 2",
      "live_odds": [
        { "odd_name": "Home/Away", "suspended": "No", "type": "Home", "value": "1.20", "handicap": null, "upd": "2026-10-08 17:41:12" },
        { "odd_name": "Home/Away", "suspended": "No", "type": "Away", "value": "4.33", "handicap": null, "upd": "2026-10-08 17:41:12" },
        { "odd_name": "Race to Points (2nd Set)", "suspended": "No", "type": "1", "value": "1.004", "handicap": "10", "upd": "2026-10-08 17:41:12" },
        { "odd_name": "Race to Points (2nd Set)", "suspended": "No", "type": "2", "value": "17", "handicap": "-10", "upd": "2026-10-08 17:41:12" }
      ]
    }
  }
}

PHP example

$url = 'https://api.api-volleyball.com/volleyball/?method=get_live_odds&APIkey=' . $apiKey;
$response = json_decode(file_get_contents($url), true);

if (!empty($response['success'])) {
    print_r($response['result']);
}