# getBalance — запрос баланса

> POST /getBalance возвращает баланс аккаунта в баллах (1,000 баллов = ¥1), а также балансы доли разработчика и реферального вознаграждения. Баллы не списываются; удобно для проверки clientKey.

Source: https://docs.yescaptcha.com/ru/api/get-balance/ · Last verified: 2026-10-15

> This page was machine-translated from the Chinese version. If anything differs, the Chinese version prevails: https://docs.yescaptcha.com/zh/api/get-balance/

`getBalance` возвращает остаток баллов на аккаунте (1,000 баллов = ¥1), а также балансы доли разработчика и реферального вознаграждения (в юанях). Баллы не списываются, поэтому метод часто используют, чтобы проверить, что `clientKey` указан верно.

- POST `https://api.yescaptcha.com/getBalance` (Глобальный endpoint)
- POST `https://cn.yescaptcha.com/getBalance` (Endpoint для Китая)

## Параметры запроса

| Поле | Тип | Обязательное | Описание |
| --- | --- | --- | --- |
| `clientKey` | string | Да | ClientKey аккаунта |

```json
{
  "clientKey": "YOUR_CLIENT_KEY"
}
```

## Ответ

```json
{
  "errorId": 0,
  "balance": 1071810,
  "softBalance": 36.0098,
  "inviteBalance": 0,
  "inviteBy": 0
}
```

| Поле | Тип | Описание |
| --- | --- | --- |
| `balance` | integer | Баланс аккаунта в баллах (1,000 баллов = ¥1). Для создания задачи должно быть больше 10 баллов |
| `softBalance` | number | Баланс доли разработчика в юанях, см. [Доля разработчика](https://docs.yescaptcha.com/ru/account/developer.md) |
| `inviteBalance` | number | Баланс реферального вознаграждения в юанях, см. [Реферальное вознаграждение](https://docs.yescaptcha.com/ru/account/referral.md) |
| `inviteBy` | integer | ID пользователя, пригласившего вас на регистрацию; если такого нет, равно 0 |
| `keyQuotaRemaining` | integer | Оставшийся лимит расходов для этого `clientKey` в текущем периоде, в баллах. Поле есть только у `clientKey` с заданным лимитом; тогда `balance` равен меньшему из значений: баланс аккаунта и оставшийся лимит. Если лимит не задан, поля нет |

При неверном `clientKey` возвращается `ERROR_KEY_DOES_NOT_EXIST`; если для `clientKey` задан белый список IP, а запрос пришёл с IP вне списка, возвращается `ERROR_KEY_IP_NOT_ALLOWED`. На `getBalance` влияет [автоматическая приостановка](https://docs.yescaptcha.com/ru/api/rate-limits.md): во время приостановки возвращается `ERROR_IP_BLOCKED_5MIN`.

## Примеры

**curl**

get-balance.sh

```bash
#!/usr/bin/env bash
# Check the balance. getBalance is free and is a quick way to verify your clientKey
set -euo pipefail
curl -s https://api.yescaptcha.com/getBalance \
  -H 'Content-Type: application/json' \
  -d "{\"clientKey\": \"${YESCAPTCHA_CLIENT_KEY}\"}"
echo
```

**Python**

get_balance.py

```python
"""Check the balance. getBalance is free and is a quick way to verify your clientKey."""
import os

import requests

CLIENT_KEY = os.environ["YESCAPTCHA_CLIENT_KEY"]

r = requests.post(
    "https://api.yescaptcha.com/getBalance",
    json={"clientKey": CLIENT_KEY},
    timeout=30,
)
data = r.json()
if data.get("errorId"):
    # e.g. ERROR_KEY_DOES_NOT_EXIST when the clientKey is wrong
    print("error:", data.get("errorCode"), data.get("errorDescription"))
else:
    print("balance (points):", data["balance"])
```

**Node.js**

get-balance.mjs

```js
// Check the balance. getBalance is free and is a quick way to verify your clientKey. Node.js 18+
const CLIENT_KEY = process.env.YESCAPTCHA_CLIENT_KEY;

const res = await fetch('https://api.yescaptcha.com/getBalance', {
  method: 'POST',
  headers: { 'Content-Type': 'application/json' },
  body: JSON.stringify({ clientKey: CLIENT_KEY }),
});
const data = await res.json();
if (data.errorId) {
  // e.g. ERROR_KEY_DOES_NOT_EXIST when the clientKey is wrong
  console.log('error:', data.errorCode, data.errorDescription);
} else {
  console.log('balance (points):', data.balance);
}
```
