API
Бесплатно, без ключей. Для ботов, фильтров и своих интеграций. Лимит — 5 запросов/сек с IP.
GET
Точечная проверка
эндпоинты
GET /api/check/8388386378 # по Telegram ID (надёжно)
GET /api/check/@username # по юзернейму (ненадёжно)
GET /api/stats # размер базы, источники ответ /api/check
{
"query": "8388386378",
"type": "id", // id | username
"found": true,
"verdict": "scam", // scam | suspect | bot | clean
"records": [{
"ids": [8388386378], // все ID записи (связки)
"usernames": ["@raquma"], // все юзернеймы записи (связки)
"status": "scam", // scam | suspect | bot
"tags": ["скам"],
"reason": "…",
"evidence": ["https://t.me/…"],
"source": "Маркетплейс БС — Scam-list",
"source_url": "https://telegra.ph/…"
}],
"checked_at": "2026-07-06T15:47:17Z"
} Примеры запросов
curl https://ДОМЕН/api/check/8388386378
# вся база с кэшированием по ETag: если не менялась — 304 без тела
curl --compressed -H 'If-None-Match: "b60438e9072df70f"' https://ДОМЕН/api/export.json $r = Invoke-RestMethod "https://ДОМЕН/api/check/8388386378"
$r.verdict # scam | suspect | bot | clean
$r.records[0].ids # связки import requests
r = requests.get("https://ДОМЕН/api/check/8388386378").json()
print(r["verdict"]) # scam | suspect | bot | clean resp, _ := http.Get("https://ДОМЕН/api/check/8388386378")
defer resp.Body.Close()
var v struct {
Verdict string `json:"verdict"` // scam | suspect | bot | clean
}
json.NewDecoder(resp.Body).Decode(&v)
fmt.Println(v.Verdict) // reqwest + serde_json
let v: serde_json::Value =
reqwest::blocking::get("https://ДОМЕН/api/check/8388386378")?.json()?;
println!("{}", v["verdict"]); // scam | suspect | bot | clean // libcurl: собери ответ в строку и распарси любым JSON-парсером
CURL *c = curl_easy_init();
curl_easy_setopt(c, CURLOPT_URL, "https://ДОМЕН/api/check/8388386378");
curl_easy_setopt(c, CURLOPT_WRITEFUNCTION, write_cb);
curl_easy_setopt(c, CURLOPT_WRITEDATA, &json);
curl_easy_perform(c);
curl_easy_cleanup(c); GET
Вся база одним файлом
Агрегированный дамп всех источников, обновляется каждые 15 минут. Отдаётся с
ETag и gzip
(~3.4 МБ → ~90 КБ) — шли If-None-Match,
и если база не менялась, придёт 304 без тела.
эндпоинты
GET /api/export.json # полный дамп + метаданные источников
GET /api/export.txt # <id> # <статус> | <теги> | <причина> | <источник> Пример export.txt
export.txt
# scam-list aggregated export
# generated_at: 2026-07-06T15:47:04Z
# format: <telegram_id> # <status> | <tags> | <reason> | <source>
777000 # bot | слив | состоят в группе по сливам подписок | ban-vpn / blacklist.txt
8388386378 # scam | скам | @raquma скам | Маркетплейс БС — Scam-list
Хочешь добавить свой список как источник или нужен лимит побольше под бота — пиши
@F000398.