---
title: "Tank community rating"
method: GET
path: "/{region}/tanks/{slug}/ratings"
tags: ["Tanks"]
---

# Tank community rating

`GET /{region}/tanks/{slug}/ratings`

## Request

- Base URL: `https://unicum.gg/api`
- URL: `https://unicum.gg/api/{region}/tanks/{slug}/ratings`
- Auth: none required

What players think of one vehicle, and what that opinion is worth. Unlike every other community average, a vote here can only be cast by an account that has actually taken the tank into battle, and each vote carries the voter's own record on it, so the response splits the verdict by how well the voters play and by which server they play on, alongside the star histograms and the optional per-axis radar. `hype` is the gap between where the community ranks the tank in its tier and where its measured win rate ranks it: positive means overrated, negative underrated. Region-independent, the same verdict is served everywhere; the region in the path only resolves the slug.

## Path parameters

- `region` 'eu' | 'na' | 'asia', required: Game server region.
- `slug` string, required: Tank slug (e.g. is-7).

## Response `200`

Successful response

- TankRatingsResponse
  - `tankId` integer, required
  - `votes` integer, required
  - `overall` number, nullable, required: Plain mean of the Overall stars, 1 to 5.
  - `fun` number, nullable, required
  - `overallBayes` number, nullable, required: The Overall mean shrunk towards the site-wide average, which is what the boards rank on so a four-vote tank cannot top them. Null until the rollup cron has run.
  - `funBayes` number, nullable, required
  - `overallStddev` number, nullable, required
  - `consensus` 'agreed' | 'mixed' | 'divisive', required: How far apart the voters sit, read off the spread.
  - `overallDistribution` StarBar[], required
    - `stars` integer, required: 1 to 5.
    - `votes` integer, required
    - `share` number, required: Share of this subject's votes, 0 to 1.
  - `funDistribution` StarBar[], required
    - `stars` integer, required: 1 to 5.
    - `votes` integer, required
    - `share` number, required: Share of this subject's votes, 0 to 1.
  - `brackets` BracketVerdict[], required
    - `bracket` 'unknown' | 'learning' | 'average' | 'strong' | 'unicum', required: How well the voter plays, cut on account WN8 at the same boundaries the site paints its ratings with.
    - `votes` integer, required
    - `overall` number, nullable, required
    - `fun` number, nullable, required
    - `avgBattles` number, nullable, required: Mean battles these voters have on the tank, which is what makes the slice credible or not.
  - `regions` RegionVerdict[], required
    - `region` 'eu' | 'na' | 'asia', required: Game server region.
    - `votes` integer, required
    - `overall` number, nullable, required
    - `fun` number, nullable, required
  - `axes` AxisVerdict[], required
    - `axis` 'overall' | 'fun' | 'firepower' | 'armour' | 'mobility' | 'gunHandling' | 'concealment' | 'beginnerFriendliness' | 'versatility', required: An axis a vehicle is rated on.
    - `value` number, nullable, required
    - `votes` integer, required
  - `axisVotes` integer, required: How many voters filled in the optional axes, always far fewer than the headline count.
  - `avgVoterBattles` number, nullable, required: Mean battles on the tank across everyone who voted: whether this average was formed by people who play it.
  - `perceivedPercentile` number, nullable, required: Where the community's verdict sits among the rated vehicles of the same tier, 0 to 1.
  - `measuredPercentile` number, nullable, required: Where the tank's measured win rate sits among that same set, 0 to 1. Both halves are ranked over the rated vehicles of the tier so their difference is in one unit.
  - `hype` number, nullable, required: Perceived minus measured. Positive means the community rates it above what it actually does.
  - `reviews` TankReview[], required
    - `id` integer, required
    - `nickname` string, nullable, required: The author, or null when they asked for their name to be left off this one. The record below is unaffected: what makes a review worth reading is the battles behind it, and those are published either way.
    - `region` 'eu' | 'na' | 'asia', required: Game server region.
    - `overall` integer, required
    - `fun` integer, required
    - `battles` integer, required: The author's battles on this tank when they wrote it.
    - `winrate` number, nullable, required
    - `avgDamage` number, nullable, required
    - `marksOnGun` integer, nullable, required
    - `bracket` 'unknown' | 'learning' | 'average' | 'strong' | 'unicum', required: How well the voter plays, cut on account WN8 at the same boundaries the site paints its ratings with.
    - `playerWn8` number, nullable, required
    - `gameVersion` string, nullable, required: Client version the opinion was formed under, so a reader can see it predates a rebalance.
    - `body` string, required
    - `createdAt` string, date-time, required
  - `reviewCount` integer, required: Published written opinions in total. Not the length of `reviews`, which is capped.

---

[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)
