Volleyball API
DocumentationLiveCoveragePricingMCPStatusSign inGet a free key

DocumentationBulk export

Volleyball lineups export

GET/v1/export/lineups

Every lineup between two days in one call, up to 92 days at a time: the starting six by court zone for each set, the players who came on, and both head coaches.

PlansFree keyLiveArchiveComplete
Base URLhttps://api.volleyballapi.com
Answerone object

Parameters

Parameters marked required must be sent; the rest are optional. Days you can read depend on your plan: the free key reads today and yesterday, Live the last 30 days, Archive and Complete every season since 2001.

NameTypeWhat it doesExample
fromdateFirst day of a range. Send with to; a range covers 31 days at most.2020-02-01
todateLast day of the range, included.2020-02-01
genderenumOne of men, women, mixed.men

Request

Send your key in the Authorization header as a Bearer token, or in X-API-Key. A key in the address is refused, so it never ends up in a log.

# Every lineup between two days in one call: starting six by zone, players who came on, coaches (up to 92 days)
curl "https://api.volleyballapi.com/v1/export/lineups?from=2020-02-01&to=2020-02-01" \
  -H "Authorization: Bearer $VBA_KEY"

Response

Every answer is data plus meta. This is a real answer to the request above, counted 2026-10-12, with long lists cut short.

200 application/json
{
  "data": [
    {
      "match": "mt_xm83jr95",
      "date": "2020-02-01",
      "coaches": { "team_a": "Kalstad Frank", "team_b": "Hunnestad Herman" },
      "sets": [
        {
          "set": 1,
          "team_a": {
            "starters": [
              {
                "zone": 1,
                "player": { "id": "pl_35tbdc68", "name": "Klopstad Simon" },
                "shirt": "1",
                "libero": false
              },
              {
                "zone": 2,
                "player": { "id": "pl_p98mrks4", "name": "Clayborough        Martin" },
                "shirt": "4",
                "libero": false
              },
              {
                "zone": 3,
                "player": { "id": "pl_adzv2z7n", "name": "Kalstad August" },
                "shirt": "3",
                "libero": false
              },
              {
                "zone": 4,
                "player": { "id": "pl_mnfj1qfk", "name": "Mikalsen Markus" },
                "shirt": "11",
                "libero": false
              },
              ...
            ],
            "came_on": [
              {
                "player": { "id": "pl_nnrz7v4b", "name": "Malterud Thomas" },
                "shirt": "12",
                "libero": false
              },
              {
                "player": { "id": "pl_g35w2v29", "name": "Thue Lars" },
                "shirt": "15",
                "libero": true
              }
            ]
          },
          "team_b": {
            "starters": [
              {
                "zone": 1,
                "player": { "id": "pl_pt82wnhx", "name": "Alm Ole" },
                "shirt": "15",
                "libero": false
              },
              {
                "zone": 2,
                "player": { "id": "pl_fjrdfja5", "name": "Buset Vegard" },
                "shirt": "3",
                "libero": false
              },
              {
                "zone": 3,
                "player": { "id": "pl_bsmtwhzv", "name": "Opdal Fredrik" },
                "shirt": "10",
                "libero": false
              },
              {
                "zone": 4,
                "player": { "id": "pl_d1sb8f3k", "name": "Aglen Trygve Magnus" },
                "shirt": "4",
                "libero": false
              },
              ...
            ],
            "came_on": [
              {
                "player": { "id": "pl_p93p0ys1", "name": "Hunnestad Eirik Palm" },
                "shirt": "13",
                "libero": true
              }
            ]
          }
        },
        {
          "set": 2,
          "team_a": {
            "starters": [
              {
                "zone": 1,
                "player": { "id": "pl_adzv2z7n", "name": "Kalstad August" },
                "shirt": "3",
                "libero": false
              },
              {
                "zone": 2,
                "player": { "id": "pl_mnfj1qfk", "name": "Mikalsen Markus" },
                "shirt": "11",
                "libero": false
              },
              {
                "zone": 3,
                "player": { "id": "pl_sea6whgf", "name": "Hessegjerdet Fredrik" },
                "shirt": "17",
                "libero": false
              },
              {
                "zone": 4,
                "player": { "id": "pl_x0abqcnj", "name": "Fauske Martin" },
                "shirt": "14",
                "libero": false
              },
              ...
            ],
            "came_on": [
              {
                "player": { "id": "pl_ng7pqj97", "name": "Kleveland Joakim" },
                "shirt": "7",
                "libero": false
              },
              {
                "player": { "id": "pl_nnrz7v4b", "name": "Malterud Thomas" },
                "shirt": "12",
                "libero": false
              },
              {
                "player": { "id": "pl_g35w2v29", "name": "Thue Lars" },
                "shirt": "15",
                "libero": true
              },
              {
                "player": { "id": "pl_rvywwcfy", "name": "Sande Per Heine" },
                "shirt": "18",
                "libero": true
              }
            ]
          },
          "team_b": {
            "starters": [
              {
                "zone": 1,
                "player": { "id": "pl_pt82wnhx", "name": "Alm Ole" },
                "shirt": "15",
                "libero": false
              },
              {
                "zone": 2,
                "player": { "id": "pl_fjrdfja5", "name": "Buset Vegard" },
                "shirt": "3",
                "libero": false
              },
              {
                "zone": 3,
                "player": { "id": "pl_bsmtwhzv", "name": "Opdal Fredrik" },
                "shirt": "10",
                "libero": false
              },
              {
                "zone": 4,
                "player": { "id": "pl_d1sb8f3k", "name": "Aglen Trygve Magnus" },
                "shirt": "4",
                "libero": false
              },
              ...
            ],
            "came_on": [
              {
                "player": { "id": "pl_zg1k7ekq", "name": "Jokstad Vebjørn" },
                "shirt": "2",
                "libero": true
              },
              {
                "player": { "id": "pl_2989ga6n", "name": "Brandis Andreas von" },
                "shirt": "6",
                "libero": false
              },
              {
                "player": { "id": "pl_p93p0ys1", "name": "Hunnestad Eirik Palm" },
                "shirt": "13",
                "libero": true
              }
            ]
          }
        },
        {
          "set": 3,
          "team_a": {
            "starters": [
              {
                "zone": 1,
                "player": { "id": "pl_p98mrks4", "name": "Clayborough        Martin" },
                "shirt": "4",
                "libero": false
              },
              {
                "zone": 2,
                "player": { "id": "pl_adzv2z7n", "name": "Kalstad August" },
                "shirt": "3",
                "libero": false
              },
              {
                "zone": 3,
                "player": { "id": "pl_mnfj1qfk", "name": "Mikalsen Markus" },
                "shirt": "11",
                "libero": false
              },
              {
                "zone": 4,
                "player": { "id": "pl_ng7pqj97", "name": "Kleveland Joakim" },
                "shirt": "7",
                "libero": false
              },
              ...
            ],
            "came_on": [
              {
                "player": { "id": "pl_g35w2v29", "name": "Thue Lars" },
                "shirt": "15",
                "libero": true
              },
              {
                "player": { "id": "pl_sea6whgf", "name": "Hessegjerdet Fredrik" },
                "shirt": "17",
                "libero": false
              }
            ]
          },
          "team_b": {
            "starters": [
              {
                "zone": 1,
                "player": { "id": "pl_fjrdfja5", "name": "Buset Vegard" },
                "shirt": "3",
                "libero": false
              },
              {
                "zone": 2,
                "player": { "id": "pl_2989ga6n", "name": "Brandis Andreas von" },
                "shirt": "6",
                "libero": false
              },
              {
                "zone": 3,
                "player": { "id": "pl_d1sb8f3k", "name": "Aglen Trygve Magnus" },
                "shirt": "4",
                "libero": false
              },
              {
                "zone": 4,
                "player": { "id": "pl_gd30kjv1", "name": "Olsen Sveinung Berg" },
                "shirt": "5",
                "libero": false
              },
              ...
            ],
            "came_on": [
              {
                "player": { "id": "pl_zg1k7ekq", "name": "Jokstad Vebjørn" },
                "shirt": "2",
                "libero": true
              },
              {
                "player": { "id": "pl_bsmtwhzv", "name": "Opdal Fredrik" },
                "shirt": "10",
                "libero": false
              },
              {
                "player": { "id": "pl_p93p0ys1", "name": "Hunnestad Eirik Palm" },
                "shirt": "13",
                "libero": true
              }
            ]
          }
        }
      ]
    },
    {
      "match": "mt_72zy3tmv",
      "date": "2020-02-01",
      "coaches": { "team_a": "Reiter Raul", "team_b": "Arak Argo" },
      "sets": [
        {
          "set": 1,
          "team_a": {
            "starters": [
              {
                "zone": 1,
                "player": { "id": "pl_fhygvpc3", "name": "Õun Krister" },
                "shirt": "3",
                "libero": false
              },
              {
                "zone": 2,
                "player": { "id": "pl_e0jrmzcd", "name": "Õuekallas Ivory" },
                "shirt": "4",
                "libero": false
              },
              {
                "zone": 3,
                "player": { "id": "pl_3zg3b7pr", "name": "Stamm Karmo" },
                "shirt": "11",
                "libero": false
              },
              {
                "zone": 4,
                "player": { "id": "pl_vjfp6f2n", "name": "Pärna Meris" },
                "shirt": "1",
                "libero": false
              },
              ...
            ],
            "came_on": [
              {
                "player": { "id": "pl_6zaddytv", "name": "Roodi Egert" },
                "shirt": "2",
                "libero": true
              }
            ]
          },
          "team_b": {
            "starters": [
              {
                "zone": 1,
                "player": { "id": "pl_068rs8d7", "name": "Riiner\t Rauno" },
                "shirt": "10",
                "libero": false
              },
              {
                "zone": 2,
                "player": { "id": "pl_qpa5bf3m", "name": "Laes Ivar" },
                "shirt": "13",
                "libero": true
              },
              {
                "zone": 3,
                "player": { "id": "pl_mckw60rk", "name": "Kuri Reimo" },
                "shirt": "8",
                "libero": false
              },
              {
                "zone": 4,
                "player": { "id": "pl_j2k9m0yc", "name": "Vantsi Virko" },
                "shirt": "9",
                "libero": false
              },
              ...
            ],
            "came_on": [
              {
                "player": { "id": "pl_dyar30n9", "name": "Tigane Jarek" },
                "shirt": "15",
                "libero": true
              },
              {
                "player": { "id": "pl_5m1rcdme", "name": "Arak Argo" },
                "shirt": "18",
                "libero": true
              }
            ]
          }
        },
        {
          "set": 2,
          "team_a": {
            "starters": [
              {
                "zone": 1,
                "player": { "id": "pl_fhygvpc3", "name": "Õun Krister" },
                "shirt": "3",
                "libero": false
              },
              {
                "zone": 2,
                "player": { "id": "pl_e0jrmzcd", "name": "Õuekallas Ivory" },
                "shirt": "4",
                "libero": false
              },
              {
                "zone": 3,
                "player": { "id": "pl_3zg3b7pr", "name": "Stamm Karmo" },
                "shirt": "11",
                "libero": false
              },
              {
                "zone": 4,
                "player": { "id": "pl_vjfp6f2n", "name": "Pärna Meris" },
                "shirt": "1",
                "libero": false
              },
              ...
            ],
            "came_on": [
              {
                "player": { "id": "pl_6zaddytv", "name": "Roodi Egert" },
                "shirt": "2",
                "libero": true
              },
              {
                "player": { "id": "pl_798gevd4", "name": "Lankei Oliver" },
                "shirt": "9",
                "libero": false
              }
            ]
          },
          "team_b": {
            "starters": [
              {
                "zone": 1,
                "player": { "id": "pl_068rs8d7", "name": "Riiner\t Rauno" },
                "shirt": "10",
                "libero": false
              },
              {
                "zone": 2,
                "player": { "id": "pl_qpa5bf3m", "name": "Laes Ivar" },
                "shirt": "13",
                "libero": true
              },
              {
                "zone": 3,
                "player": { "id": "pl_mckw60rk", "name": "Kuri Reimo" },
                "shirt": "8",
                "libero": false
              },
              {
                "zone": 4,
                "player": { "id": "pl_8ha1g4as", "name": "Mesila Argo" },
                "shirt": "3",
                "libero": false
              },
              ...
            ],
            "came_on": [
              {
                "player": { "id": "pl_v3reh4p3", "name": "Ellermaa Karel" },
                "shirt": "17",
                "libero": false
              },
              {
                "player": { "id": "pl_5m1rcdme", "name": "Arak Argo" },
                "shirt": "18",
                "libero": true
              }
            ]
          }
        },
        {
          "set": 3,
          "team_a": {
            "starters": [
              {
                "zone": 1,
                "player": { "id": "pl_fhygvpc3", "name": "Õun Krister" },
                "shirt": "3",
                "libero": false
              },
              {
                "zone": 2,
                "player": { "id": "pl_mpqy3kmw", "name": "Meius Rasmus" },
                "shirt": "14",
                "libero": true
              },
              {
                "zone": 3,
                "player": { "id": "pl_798gevd4", "name": "Lankei Oliver" },
                "shirt": "9",
                "libero": false
              },
              {
                "zone": 4,
                "player": { "id": "pl_vjfp6f2n", "name": "Pärna Meris" },
                "shirt": "1",
                "libero": false
              },
              ...
            ],
            "came_on": [
              {
                "player": { "id": "pl_6zaddytv", "name": "Roodi Egert" },
                "shirt": "2",
                "libero": true
              }
            ]
          },
          "team_b": {
            "starters": [
              {
                "zone": 1,
                "player": { "id": "pl_v3reh4p3", "name": "Ellermaa Karel" },
                "shirt": "17",
                "libero": false
              },
              {
                "zone": 2,
                "player": { "id": "pl_8ha1g4as", "name": "Mesila Argo" },
                "shirt": "3",
                "libero": false
              },
              {
                "zone": 3,
                "player": { "id": "pl_5dfqcya6", "name": "Jakobson Timo" },
                "shirt": "2",
                "libero": true
              },
              {
                "zone": 4,
                "player": { "id": "pl_j2k9m0yc", "name": "Vantsi Virko" },
                "shirt": "9",
                "libero": false
              },
              ...
            ],
            "came_on": [
              {
                "player": { "id": "pl_mckw60rk", "name": "Kuri Reimo" },
                "shirt": "8",
                "libero": false
              },
              {
                "player": { "id": "pl_dyar30n9", "name": "Tigane Jarek" },
                "shirt": "15",
                "libero": true
              },
              {
                "player": { "id": "pl_5m1rcdme", "name": "Arak Argo" },
                "shirt": "18",
                "libero": true
              }
            ]
          }
        },
        {
          "set": 4,
          "team_a": {
            "starters": [
              {
                "zone": 1,
                "player": { "id": "pl_fhygvpc3", "name": "Õun Krister" },
                "shirt": "3",
                "libero": false
              },
              {
                "zone": 2,
                "player": { "id": "pl_e0jrmzcd", "name": "Õuekallas Ivory" },
                "shirt": "4",
                "libero": false
              },
              {
                "zone": 3,
                "player": { "id": "pl_798gevd4", "name": "Lankei Oliver" },
                "shirt": "9",
                "libero": false
              },
              {
                "zone": 4,
                "player": { "id": "pl_vjfp6f2n", "name": "Pärna Meris" },
                "shirt": "1",
                "libero": false
              },
              ...
            ],
            "came_on": [
              {
                "player": { "id": "pl_6zaddytv", "name": "Roodi Egert" },
                "shirt": "2",
                "libero": true
              },
              {
                "player": { "id": "pl_mpqy3kmw", "name": "Meius Rasmus" },
                "shirt": "14",
                "libero": true
              }
            ]
          },
          "team_b": {
            "starters": [
              {
                "zone": 1,
                "player": { "id": "pl_8ha1g4as", "name": "Mesila Argo" },
                "shirt": "3",
                "libero": false
              },
              {
                "zone": 2,
                "player": { "id": "pl_mckw60rk", "name": "Kuri Reimo" },
                "shirt": "8",
                "libero": false
              },
              {
                "zone": 3,
                "player": { "id": "pl_j2k9m0yc", "name": "Vantsi Virko" },
                "shirt": "9",
                "libero": false
              },
              {
                "zone": 4,
                "player": { "id": "pl_eg16f200", "name": "Steinberg Sander" },
                "shirt": "11",
                "libero": false
              },
              ...
            ],
            "came_on": [
              {
                "player": { "id": "pl_5dfqcya6", "name": "Jakobson Timo" },
                "shirt": "2",
                "libero": true
              },
              {
                "player": { "id": "pl_dyar30n9", "name": "Tigane Jarek" },
                "shirt": "15",
                "libero": true
              }
            ]
          }
        }
      ]
    }
  ],
  "meta": {
    "plan": "Complete",
    "from": "2020-02-01",
    "to": "2020-02-01",
    "count": 113
  }
}

Fields

FieldTypeWhat it holds
data[].match, data[].datestringThe match id and its day
data[].coachesobjectteam_a and team_b head coaches
data[].setsarrayAs /v1/matches/{id}/lineups: per set, starters by zone and players who came on
meta.countintMatches with a lineup in the range

Errors

Errors come back as {"error": {"code", "message", "docs"}}, with plan and pricing added when a plan would answer. Every error.

HTTPCodeWhen
400bad_requestA value of the wrong shape, or a required parameter left out
401unauthorizedNo key, or a key that is not known or was revoked
403upgrade_requiredYour plan does not include this endpoint; the answer names the plans that do
422unknown_parameterA parameter this endpoint does not take; the answer lists the ones it does
429rate_limitedToo many calls this minute; Retry-After says when to try again
429quota_exceededThe day's or month's allowance is used; the answer says when it resets

Try it

Fill in what you need; the request is built as you type. Paste your key to run it here, straight against the API. This endpoint answers on the Complete plans.