---
title: "Live Leaderboard API"
method: GET
path: "/v2/tournaments/{tournament_id}/leaderboard"
---

# Live Leaderboard API

`GET /v2/tournaments/{tournament_id}/leaderboard`

## Request

- Base URL: `https://api.astrozop.com`
- URL: `https://api.astrozop.com/v2/tournaments/{tournament_id}/leaderboard`
- Auth: HTTP bearer

Returns the live leaderboard for a tournament in the `live` state: the leaderboard details, the top entries, and optionally a specific player's rank with one entry above and one below. Rate limit: 1200 requests per minute, per tournament.

## Path parameters

- `tournament_id` string, required

## Query parameters

- `puid` string
- `limit` integer

## Response `200`

Live leaderboard for the tournament.

- object
  - `success` boolean
  - `data` object
    - `leaderboard` object
      - `leaderboard_id` string: Stable identifier for this leaderboard.
      - `name` string: Human-readable name (e.g. High Score).
      - `description` string: Short description of what the leaderboard tracks.
      - `total_players` integer: Number of players with at least one valid score in the tournament.
    - `top` TournamentLeaderboardEntry[]: Top entries of the leaderboard, up to `limit`.
      - `rank` integer: 1-indexed rank of the player.
      - `puid` string: The player's unique identifier — the same `puid` value appended to the game URL when sending that user to the tournament.
      - `score` integer: The player's best valid score in the tournament.
    - `player` object: Present only when `puid` is passed in the request. See the `player` object behaviour table above.
      - `entry` TournamentLeaderboardEntry
        - `rank` integer: 1-indexed rank of the player.
        - `puid` string: The player's unique identifier — the same `puid` value appended to the game URL when sending that user to the tournament.
        - `score` integer: The player's best valid score in the tournament.
      - `neighbours` object
        - `above` TournamentLeaderboardEntry
          - `rank` integer: 1-indexed rank of the player.
          - `puid` string: The player's unique identifier — the same `puid` value appended to the game URL when sending that user to the tournament.
          - `score` integer: The player's best valid score in the tournament.
        - `below` TournamentLeaderboardEntry
          - `rank` integer: 1-indexed rank of the player.
          - `puid` string: The player's unique identifier — the same `puid` value appended to the game URL when sending that user to the tournament.
          - `score` integer: The player's best valid score in the tournament.

## Other responses

- `401`: Unauthorized.
- `403`: Forbidden.
- `404`: Not Found.
- `409`: Conflict. The tournament is not in the `live` state.
- `429`: Too Many Requests. Rate limit: 1200 requests per minute, per tournament.

---

[API](https://skmtc.dev/gamezop/apis/astrozop-apis.md) - [All operations](https://skmtc.dev/gamezop/apis/astrozop-apis/llms.txt) - [OpenAPI document](https://skmtc.dev/gamezop/apis/astrozop-apis/revisions/485db86a5145?raw)
