🔌

ПУБЛИЧНЫЙ API

Подключай к боту, сервису или таблице. GET-запросы, без ключей, ответ в JSON.

📊 304 жалоб в базе ⚡ Без ключей · Бесплатно
Quickstart — за 30 секунд
1. Запрос (curl / terminal)
curl https://aff.top/api/check/mostbet
2. Ответ (200 OK, JSON)
{
  "found": true,
  "username": "mostbet",
  "reports_count": 23,
  "categories": ["gambling"]
}
💡 found: false = username чист ИЛИ ещё не проверялся — это не гарантия
Base URL
https://aff.top

Все запросы — GET, без авторизации. Формат ответа — JSON. Без ключей, без rate-limits на чтение.

GET

/api/check/{username}

— проверить спамера

Проверяет, есть ли username в базе. Передай с @ или без — работает в обоих случаях. Если найден — вернёт статистику и связанные компании.

Параметры пути

Параметр Тип Описание
username string Telegram username. Знак @ необязателен.
Пример запроса curl
curl https://aff.top/api/check/spammer_username
200 — найден
{
  "found": true,
  "username": "spammer_username",
  "reports_count": 23,
  "confidence_max": 75,
  "first_seen": "2026-01-15T10:23:00Z",
  "last_seen": "2026-03-10T18:41:00Z",
  "categories": ["gambling", "crypto"],
  "companies": ["Mostbet", "1xBet"],
  "url": "https://aff.top/reports?q=spammer_username"
}
404 — не найден
{
  "found": false,
  "username": "clean_user",
  "reports_count": 0
}
GET

/api/companies

— рейтинг компаний

Компании по числу жалоб. Есть пагинация и фильтр по slug.

Query параметры

Параметр Тип По умолчанию Описание
limit integer 50 Записей на страницу. Макс. 200.
page integer 1 Номер страницы.
slug string Фильтр по конкретной компании.
Примеры
curl "https://aff.top/api/companies?limit=10&page=1"
curl "https://aff.top/api/companies?slug=mostbet"
200 OK
{
  "data": [
    {
      "id": 1,
      "name": "Mostbet",
      "slug": "mostbet",
      "reports_count": 142,
      "url": "https://aff.top/company/mostbet"
    },
    ...
  ],
  "total": 8029,
  "page": 1,
  "pages": 161
}
GET

/api/spammers

— список спамеров

Спамеры с известным username. Можно фильтровать по категории или искать конкретный аккаунт.

Query параметры

Параметр Тип По умолчанию Описание
limit integer 50 Записей на страницу. Макс. 200.
username string Поиск конкретного пользователя.
category string Фильтр по категории: gambling crypto nutra traffic affiliate job adult forex tools payments infobiz other
Примеры
curl "https://aff.top/api/spammers?limit=20"
curl "https://aff.top/api/spammers?category=gambling"
curl "https://aff.top/api/spammers?username=someuser"
200 OK
{
  "data": [
    {
      "username": "spammer123",
      "reports_count": 14,
      "last_seen": "2026-03-10T18:41:00Z",
      "category": "gambling",
      "url": "https://aff.top/reports?q=spammer123"
    },
    ...
  ],
  "total": 187
}
GET

/api/search

— live-поиск

Поиск по компаниям и спамерам одновременно. Возвращает оба типа результатов.

Query параметры

ПараметрТипОписание
qstringПоисковый запрос (мин. 2 символа). Компания, @username или домен.
Пример
curl "https://aff.top/api/search?q=mostbet"
200 OK
{
  "companies": [
    {"name": "Mostbet", "url": "/company/mostbet", "count": 142, "cat": "gambling"}
  ],
  "spammers": [
    {"username": "mostbet_agent", "url": "/reports?q=mostbet_agent", "count": 5}
  ]
}
GET

/api/company/{slug}

— проверить компанию

Подробная информация о компании: категория, тренд за неделю, алиасы, ссылки на бейдж и карточку.

Параметры пути

ПараметрТипОписание
slugstringSlug или название компании.
Пример
curl https://aff.top/api/company/mostbet
200 OK
{
  "found": true,
  "name": "Mostbet",
  "slug": "mostbet",
  "category": "gambling",
  "reports_count": 142,
  "week_trend": 12.5,
  "last_7_days": 9,
  "aliases": ["мосбет", "mostbet.com"],
  "badge_url": "/api/badge/mostbet.svg",
  "card_url": "/card/mostbet",
  "url": "/company/mostbet"
}
GET

/api/widget/{slug}

— данные для виджета

Компактные данные для встраиваемых виджетов: тренд, график за 7 дней, ссылки на бейдж и embed-виджет.

Параметры пути

ПараметрТипОписание
slugstringSlug компании.
200 OK
{
  "found": true,
  "name": "Mostbet",
  "slug": "mostbet",
  "reports_count": 142,
  "trend": "+12.5%",
  "trend_direction": "up",
  "last_7_days": [3, 1, 0, 2, 1, 0, 2],
  "top_category": "gambling",
  "badge_url": "/api/badge/mostbet.svg",
  "embed_url": "/embed/counter-dark/mostbet",
  "page_url": "/company/mostbet"
}

🏷️ Виджеты и бейджи

GET /api/badge/{slug}.svg — SVG-бейдж для сайта
<img src="https://aff.top/api/badge/mostbet.svg" alt="aff.top badge">
GET /api/card/{slug}.svg — SVG-карточка с деталями
GET /embed/{style}/{slug} — iframe-виджет
Стили: badge, counter-dark, counter-light, banner-dark, banner-light
<iframe src="https://aff.top/embed/counter-dark/mostbet" width="200" height="60"></iframe>

🛡️ API защиты чатов

GET /api/chat/{username}/status — статус чата (активен ли бот, статистика)
GET /api/chat/{username}/badge.svg — SVG-бейдж защиты чата
GET /api/detection-rules — правила детекции спама в JSON (публичная прозрачность)

💡 Примеры использования

Telegram бот на Python

import requests

def is_spammer(username):
    r = requests.get(
        f"https://aff.top/api/check/{username}"
    )
    data = r.json()
    return data.get("found", False)

# В хэндлере нового участника:
if is_spammer(new_member.username):
    await bot.ban_chat_member(chat_id, new_member.id)

JavaScript / Node.js

async function checkSpammer(username) {
  const res = await fetch(
    `https://aff.top/api/check/${username}`
  );
  const data = await res.json();
  return {
    isSpammer: data.found,
    reports: data.reports_count,
    companies: data.companies ?? [],
  };
}

PHP

function checkSpammer(string $username): bool {
    $response = file_get_contents(
        "https://aff.top/api/check/{$username}"
    );
    $data = json_decode($response, true);
    return $data['found'] ?? false;
}

Google Sheets / Apps Script

function CHECK_SPAM(username) {
  const url = "https://aff.top/api/check/"
    + username.replace("@", "");
  const r = UrlFetchApp.fetch(url);
  const d = JSON.parse(r.getContentText());
  return d.found ? d.reports_count : 0;
}

📋 Ограничения и заметки

🔓 Открытые данные

Данные открыты для исследователей, разработчиков и аналитиков.

📡
RSS Feed
/rss/all
📊
CSV дамп
Еженедельно
📋
Все компании
/companies

Получил спам — перешли боту, добавим в базу

📩 Написать @SPAMpartnersBOT