---
title: "Server population"
method: GET
path: "/{region}/server/stats"
tags: ["Server"]
---

# Server population

`GET /{region}/server/stats`

## Request

- Base URL: `https://unicum.gg/api`
- URL: `https://unicum.gg/api/{region}/server/stats`
- Auth: none required

The region's recorded cluster population over the requested range, with each cluster's own peak and mean, the region's records, and the average population per weekday and hour (UTC) over the trailing four weeks. Wargaming publishes population as an instant and keeps no history, so this series only goes back to when the sampling started. Cached for 60s server-side. Dates are ISO 8601 strings.

## Path parameters

- `region` 'eu' | 'na' | 'asia', required: Game server region.

## Query parameters

- `range` 'day' | 'week' | 'month' | 'year': How far back the population series reads.

## Response `200`

Successful response

- ServerStats: One region's recorded server population.
  - `region` 'eu' | 'na' | 'asia', required: Game server region.
  - `range` 'day' | 'week' | 'month' | 'year', required: The range this payload covers.
  - `servers` string[], required: The clusters the region reported over the range, busiest first. Index into this for a point's `values`.
  - `points` ServerPopulationPoint[], required
    - `at` string, date-time, required
    - `total` number, required: Sum of `values`, the whole region at that instant.
    - `values` number[], required: One population per cluster, in the same order as the payload's `servers`. A cluster that was down holds its slot at zero rather than shifting the rest.
  - `clusters` ServerClusterStat[], required
    - `server` string, required: Wargaming's own cluster name (e.g. EU1, 203), which is what the game's server selector shows. Never a rank.
    - `current` number, nullable, required: Its population at the last recorded instant, null when it was absent from that sample (a cluster taken down stops being reported rather than being reported at zero).
    - `peak` number, required
    - `peakAt` string, date-time, nullable, required
    - `average` number, required
    - `share` number, required: Its share of the region's latest total, 0..1.
  - `current` number, nullable, required: Latest recorded region total, null before the first sample.
  - `average` number, required
  - `peak` ServerRecord, required: A population figure and the instant it was recorded.
    - `players` number, required
    - `at` string, date-time, required
  - `trough` ServerRecord, required: A population figure and the instant it was recorded.
    - `players` number, required
    - `at` string, date-time, required
  - `allTimePeak` ServerRecord, required: A population figure and the instant it was recorded.
    - `players` number, required
    - `at` string, date-time, required
  - `rhythm` ServerRhythmCell[], required
    - `weekday` number, required: ISO weekday in UTC, 1 Monday .. 7 Sunday.
    - `hour` number, required: Hour of that day in UTC, 0..23.
    - `average` number, required
    - `samples` number, required: How many instants fed the average. Zero for an hour never sampled.
  - `since` string, date-time, nullable, required: The oldest sample on record. Wargaming publishes population as an instant and keeps no history, so this series starts when the sampling started and nothing before it can be recovered.

---

[API](https://skmtc.dev/unicum/apis/unicum-gg-api.md) · [All operations](https://skmtc.dev/unicum/apis/unicum-gg-api/llms.txt) · [OpenAPI document](https://skmtc.dev/unicum/apis/unicum-gg-api/revisions/7a7d79a26001?raw)
