Volleyball API
DocumentationLiveCoveragePricingMCPStatusSign inGet a free key

DocumentationTeams and players

Volleyball player API

GET/v1/players/{id}

One player: name, nationality, date of birth, height, weight, position and hand where known, every team they have played for, and their career competition by competition: matches, wins, points, kills, aces and blocks.

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

Parameters

This endpoint takes the parameters below.

NameTypeWhat it doesExample
idpathThe player id, in the address. Required.pl_3gy482nb

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.

# One player, the teams they have played for and their career, competition by competition
curl "https://api.volleyballapi.com/v1/players/pl_3gy482nb" \
  -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": {
    "id": "pl_3gy482nb",
    "name": "Nilsson Wilhelm",
    "first_name": "Wilhelm",
    "last_name": "Nilsson",
    "gender": "men",
    "federation": null,
    "nationality": "SE",
    "birth_date": "1994-02-17",
    "birth_year": 1994,
    "height_cm": null,
    "weight_kg": null,
    "spike_cm": null,
    "block_cm": null,
    "position": null,
    "hand": null,
    "teams": [
      {
        "id": "tm_jvsdmegn",
        "name": "Linköpings VC",
        "discipline": "indoor",
        "gender": "men",
        "kind": "club",
        "federation": null,
        "country_code": "SE"
      },
      {
        "id": "tm_sccry270",
        "name": "VBF RIG Falköping",
        "discipline": "indoor",
        "gender": "men",
        "kind": "club",
        "federation": null,
        "country_code": "SE"
      },
      {
        "id": "tm_wgy9pn7s",
        "name": "Falkenberg",
        "discipline": "indoor",
        "gender": "men",
        "kind": "club",
        "federation": null,
        "country_code": "SE"
      }
    ],
    "career": [
      {
        "season": 2019,
        "discipline": "indoor",
        "competition": { "id": "cp_9fv7dmv4", "name": "Elitserien Herrar" },
        "team": { "id": "tm_jvsdmegn", "name": "Linköpings VC" },
        "first_match": "2019-10-05",
        "last_match": "2020-02-29",
        "matches": 17,
        "won": 8,
        "points": 156,
        "kills": 99,
        "aces": 7,
        "blocks": 50
      },
      {
        "season": 2018,
        "discipline": "indoor",
        "competition": {
          "id": "cp_58n9cck2",
          "name": "SM-slutspel Herrar 2018/19 Slutspel Herrar 2018/19"
        },
        "team": { "id": "tm_jvsdmegn", "name": "Linköpings VC" },
        "first_match": "2019-03-17",
        "last_match": "2019-04-29",
        "matches": 12,
        "won": 9,
        "points": 105,
        "kills": 61,
        "aces": 6,
        "blocks": 38
      },
      {
        "season": 2018,
        "discipline": "indoor",
        "competition": { "id": "cp_nfawjmzv", "name": "Play Off Herrar" },
        "team": { "id": "tm_jvsdmegn", "name": "Linköpings VC" },
        "first_match": "2019-02-16",
        "last_match": "2019-03-09",
        "matches": 4,
        "won": 2,
        "points": 28,
        "kills": 15,
        "aces": 1,
        "blocks": 12
      },
      {
        "season": 2018,
        "discipline": "indoor",
        "competition": { "id": "cp_w0q60rfc", "name": "Elitserien Herrar" },
        "team": { "id": "tm_jvsdmegn", "name": "Linköpings VC" },
        "first_match": "2018-09-29",
        "last_match": "2019-02-03",
        "matches": 17,
        "won": 14,
        "points": 156,
        "kills": 99,
        "aces": 5,
        "blocks": 52
      },
      ...
    ]
  },
  "meta": { "plan": "Complete" }
}

Fields

FieldTypeWhat it holds
idstringStable player id, pl_
name, first_name, last_namestringThe player's names
genderenummen or women
federationstringThree-letter federation code
nationalitystringTwo-letter country code
birth_datedateDate of birth
birth_yearintYear of birth, also where only the year is known
height_cm, weight_kgintHeight and weight
spike_cm, block_cmintSpike and block reach
positionstringsetter, outside, middle, opposite, libero or universal
handenumleft, right or both
teamsarrayEvery team they have played for
careerarrayNewest first, one entry per competition and team: season, discipline, competition, team, first_match, last_match, matches, won, and points, kills, aces and blocks where the match sheets have them

Errors

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

HTTPCodeWhen
401unauthorizedNo key, or a key that is not known or was revoked
404not_foundAn id that does not exist
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.