API проверки стримов
Одна ссылка на стрим → индекс накрутки 0–100, вердикт, зрители и чаттеры в JSON. Для панелей, ботов и мониторинга.
/v1/api/checkЛимиты и цена
100 проверок в день бесплатно на каждый ключ, дальше $0.01 за проверку с баланса кабинета. Запрос последнего результата без новой проверки — всегда бесплатно.
Запуск проверки
GET https://api.check-bots.ru/v1/api/check?link=https://www.twitch.tv/xqc
Authorization: Bearer cbk_ваш_ключ
Вместо link можно передать platform (twitch, yt, yt_vid, kick, vk, rumble) и channel. Ключ также принимается параметром ?key=, но заголовок безопаснее.
curl -H "Authorization: Bearer cbk_…" \
"https://api.check-bots.ru/v1/api/check?link=twitch.tv/xqc"
Ответ
{
"ok": true,
"billing": { "free": true, "left": 99 },
"result": {
"platform": "twitch", "channel": "xqc", "name": "xQc",
"score": 12, "confidence": 0.62, "verdict": "clean",
"viewers": 41230, "chatters": 9870, "followers": 12400000,
"reasons": ["LOW_CONFIDENCE"],
"features": { "E": 0.1, "F": 0.05, "R": 0, "D": 0.2, "B": 0.02 },
"degraded": []
}
}
| Поле | Что означает |
|---|---|
score | Индекс накрутки 0–100. Больше — подозрительнее. |
verdict | clean — накрутки не обнаружено, suspicious — подозрительно, botted — накрутка. |
confidence | Уверенность 0–1: растёт с длительностью наблюдения и объёмом данных. |
reasons | Коды причин: EMPTY_CHAT, VIEWERS_VS_FOLLOWERS, INSTANT_RISE, FLAT_LINE, KNOWN_BOTS_IN_CHAT, NEW_CHANNEL, SCRIPTED_CHAT, FRESH_ACCOUNTS, FOLLOWER_ROLLBACK, RAID_DETECTED, LOW_CONFIDENCE, PARTIAL_DATA. |
billing | {free, left} — бесплатный лимит, или {charged_cents, balance_cents} — списано с баланса. |
Первый ответ по каналу — по одному снимку; наблюдение продолжается до 60 минут, повторный запрос через 5–10 минут вернёт уточнённый результат.
Последний результат без новой проверки
GET https://api.check-bots.ru/v1/api/latest?platform=twitch&channel=xqc
Бесплатно. 404 not_checked, если канал ещё не проверяли.
Ошибки
| Код | Причина |
|---|---|
401 api_key_required / bad_api_key | Ключ не передан, отозван или неверный. |
400 bad_link / bad_request | Ссылка не распознана или нет платформы/канала. |
402 insufficient_funds | Бесплатный лимит исчерпан, на балансе нет средств. |
429 | Слишком часто по одному каналу — повторите через минуту. |
200 ok:false | Канал офлайн или площадка недоступна: error с кодом, message с пояснением. |
Пакетная проверка списка
POST https://api.check-bots.ru/v1/batch
Content-Type: application/json
{ "links": ["twitch.tv/a", "kick.com/b"] }
GET /v1/batch — мои заказы
GET /v1/batch/{id} — заказ и результаты
GET /v1/batch/{id}/csv — выгрузка таблицей
До 20 каналов за заказ, фиксированная цена, каналы проверяются по очереди. Работает по входу в кабинет (не по API-ключу).
Тариф и подписки
GET /v1/plan — тариф, срок, израсходованные проверки
POST /v1/plan/buy — подключить или продлить PRO на 30 дней
У PRO проверки через API сначала расходуют месячный пакет, потом дневной бесплатный лимит ключа, и только затем баланс.
Аудит рекламного размещения
POST /v1/ad-audits { "link": "twitch.tv/name", "starts_at": "2026-09-20T18:00:00Z", "minutes": 60 }
GET /v1/ad-audits — мои аудиты
GET /v1/ad-audits/{id} — отчёт
Сервис наблюдает эфир в указанный интервал и возвращает сводку: средние и крайние значения онлайна, активность чата, ровность онлайна и индекс на момент размещения. Если канал не выходил в эфир, деньги возвращаются автоматически.
Картинка результата
GET https://api.check-bots.ru/og/{platform}/{channel}.png?lang=ru
Карточка 1200×630 с индексом и вердиктом — без ключа, кэш 10 минут. Её же подставляют соцсети при отправке ссылки на страницу канала.
Бейджи и виджеты для сайта: /badge/{platform}/{channel}.svg и /embed/{platform}/{channel} — без ключа.
Stream check API
One stream link → bot index 0–100, verdict, viewers and chatters as JSON. For dashboards, bots and monitoring.
/v1/api/checkLimits and price
100 checks per day are free for every key, then $0.01 per check from your account balance. Fetching the latest result without a new check is always free.
Run a check
GET https://api.check-bots.ru/v1/api/check?link=https://www.twitch.tv/xqc
Authorization: Bearer cbk_your_key
Instead of link you can pass platform (twitch, yt, yt_vid, kick, vk, rumble) and channel. The key is also accepted as ?key=, but the header is safer.
curl -H "Authorization: Bearer cbk_…" \
"https://api.check-bots.ru/v1/api/check?link=twitch.tv/xqc"
Response
{
"ok": true,
"billing": { "free": true, "left": 99 },
"result": {
"platform": "twitch", "channel": "xqc", "name": "xQc",
"score": 12, "confidence": 0.62, "verdict": "clean",
"viewers": 41230, "chatters": 9870, "followers": 12400000,
"reasons": ["LOW_CONFIDENCE"],
"features": { "E": 0.1, "F": 0.05, "R": 0, "D": 0.2, "B": 0.02 },
"degraded": []
}
}
| Field | Meaning |
|---|---|
score | Bot index 0–100. Higher is more suspicious. |
verdict | clean, suspicious or botted. |
confidence | 0–1, grows with observation time and data volume. |
reasons | Reason codes: EMPTY_CHAT, VIEWERS_VS_FOLLOWERS, INSTANT_RISE, FLAT_LINE, KNOWN_BOTS_IN_CHAT, NEW_CHANNEL, SCRIPTED_CHAT, FRESH_ACCOUNTS, FOLLOWER_ROLLBACK, RAID_DETECTED, LOW_CONFIDENCE, PARTIAL_DATA. |
billing | {free, left} for the free quota, or {charged_cents, balance_cents} when charged. |
The first response uses a single snapshot; observation continues for up to 60 minutes — call again in 5–10 minutes for a refined result.
Latest result without a new check
GET https://api.check-bots.ru/v1/api/latest?platform=twitch&channel=xqc
Free. 404 not_checked if the channel was never checked.
Errors
| Code | Reason |
|---|---|
401 api_key_required / bad_api_key | Key missing, revoked or invalid. |
400 bad_link / bad_request | Link not recognized or platform/channel missing. |
402 insufficient_funds | Free quota used up and the balance is empty. |
429 | Too many checks of one channel — retry in a minute. |
200 ok:false | Channel offline or platform unavailable: error code and message. |
Bulk check
POST /v1/batch { "links": ["twitch.tv/a", "kick.com/b"] }
GET /v1/batch, /v1/batch/{id}, /v1/batch/{id}/csv
Up to 20 channels per order, flat price, checked one by one. Uses your account session, not an API key.
Plan
GET /v1/plan · POST /v1/plan/buy
With PRO, API checks first consume the monthly package, then the key's daily free limit, then the balance.
Ad placement audit
POST /v1/ad-audits { "link": "twitch.tv/name", "starts_at": "2026-09-20T18:00:00Z", "minutes": 60 }
GET /v1/ad-audits · GET /v1/ad-audits/{id}
We watch the stream during that window and return average and extreme viewer counts, chat activity, viewer-count flatness and the index at placement time. If the channel was not live, the payment is refunded automatically.
Result image
GET /og/{platform}/{channel}.png?lang=en
A 1200×630 card with the index and verdict — no key, cached for 10 minutes.
Badges and widgets for your site: /badge/{platform}/{channel}.svg and /embed/{platform}/{channel} — no key needed.