Volleyball API
DocumentationLiveCoveragePricingMCPStatusSign inGet a free key

DocumentationTeams and players

Volleyball players API

GET/v1/players

Players found by name, with gender and federation.

PlansFree keyLiveArchiveComplete
Base URLhttps://api.volleyballapi.com
Rows a page50, up to 200

Parameters

Parameters marked required must be sent; the rest are optional.

NameTypeWhat it doesExample
qtextPart of the name, 2 to 80 characters. Required.Nilsson
genderenumOne of men, women, mixed.men
pageintPage number, from 1. Adds totals to meta.2
per_pageintRows a page, 1 to 200. 50 when not sent.200
cursorstringThe next_cursor from the last answer. Send it alone.

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.

# Players, found by name
curl "https://api.volleyballapi.com/v1/players?q=Nilsson&per_page=3" \
  -H "Authorization: Bearer $VBA_KEY"

Response

Every answer is data plus meta. A first call with page adds totals to meta; a call with cursor carries only the next cursor, which is quicker over long ranges. This is a real answer to the request above, counted 2026-10-12, with long lists cut short.

200 application/json
{
  "data": [
    {
      "id": "pl_n02ttkh0",
      "name": "Nilsson My",
      "gender": "men",
      "federation": null
    },
    {
      "id": "pl_aj6nz1jz",
      "name": "Nilsson My",
      "gender": "women",
      "federation": null
    },
    ...
  ],
  "meta": {
    "plan": "Complete",
    "count": 3,
    "next_cursor": "eyJvIjozLCJwIjozfQ",
    "page": 1,
    "per_page": 3,
    "total": 49,
    "total_pages": 17,
    "next_page": 2,
    "prev_page": null
  }
}

Fields

FieldTypeWhat it holds
idstringStable player id, pl_
namestringFull name
genderenummen or women
federationstringThree-letter federation code

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 per_page outside 1 to 200, or a required parameter left out
401unauthorizedNo key, or a key that is not known or was revoked
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.