Модерация URL API: классификация содержимого страницы
POST /v1/seo/moderation проверяет, что находится по ссылке: сервис загружает страницу (с переходом по
редиректам), берёт заголовок, meta description, заголовки h1–h3 и начало видимого текста и передаёт их
ИИ-модели. Модель относит страницу к одной категории и оценивает уверенность. Подходит для проверки ссылок,
которые пользователи оставляют в вашем сервисе.
| Поле тела | Тип | Обязательное | Описание |
|---|---|---|---|
url |
string | да | адрес страницы со схемой http:// или https://, до 2048 символов |
curl https://proxy.seyka.ru/v1/seo/moderation \ -H "Authorization: Bearer $SEYKA_API_KEY" \ -H "Content-Type: application/json" \ -d '{"url": "https://example.com"}'{ "verdict": { "category": "benign", "confidence": 0.95, "reasoning": "Placeholder page reserved for documentation examples; no abuse signals." }, "finalUrl": "https://example.com/", "fetchedAt": "2026-10-02T09:15:27.481Z"}| Поле | Описание |
|---|---|
verdict.category |
категория страницы (см. ниже) |
verdict.confidence |
уверенность модели, от 0 до 1 |
verdict.reasoning |
короткое обоснование от модели, до 500 символов, обычно на английском |
finalUrl |
адрес после всех редиректов — классифицируется именно он |
fetchedAt |
время начала проверки, ISO 8601 (UTC) |
fetchError |
есть, только если страницу не удалось загрузить |
Если страницу загрузить не удалось, ответ всё равно 200: category — unknown, confidence — 0,
finalUrl равен запрошенному адресу, а причина — в fetchError. Такой результат значит «не проверено», а не «безопасно».
Категории
Заголовок раздела «Категории»Модель выбирает одну, самую конкретную категорию. Если подходят несколько, приоритет у ограничений РФ, затем у опасных категорий, затем у чувствительных.
| Категория | Что означает |
|---|---|
benign |
обычная страница без признаков нарушений |
unknown |
данных не хватает для вывода: страница пустая, требует JavaScript или не загрузилась |
Опасные — незаконны почти везде:
| Категория | Что означает |
|---|---|
phishing |
выдаёт себя за бренд или сервис, чтобы получить пароли или платёжные данные |
malware |
распространяет вредоносное ПО |
illegal |
торговля запрещённым, краденые данные, доксинг, услуги насилия |
csam |
сексуальный контент с участием несовершеннолетних |
fraud |
мошенничество: фейковые магазины, «инвестиции», лотереи, крипто-схемы |
Чувствительные — законны в одних странах, ограничены в других:
| Категория | Что означает |
|---|---|
adult |
контент для взрослых |
gambling |
азартные игры на деньги, онлайн-казино, ставки |
weapons |
продажа оружия |
hate |
язык вражды, призывы к насилию против групп людей |
violence |
натуралистичное насилие, не подпадающее под другие категории |
Ограничения РФ — содержимое, запрещённое или ограниченное по российскому законодательству:
| Категория | Что означает |
|---|---|
lgbt_propaganda |
материалы, которые закон РФ относит к «пропаганде ЛГБТ» |
religious_offense |
оскорбление чувств верующих, глумление над религиозными символами |
war_sensitive |
материалы о военных операциях РФ, которые могут подпадать под статьи о «дискредитации» армии |
political_dissent_ru |
оппозиционная политическая агитация против власти РФ |
extremist_org_ru |
вербовка и пропаганда экстремистских и террористических движений |
separatism_ru |
призывы к нарушению территориальной целостности РФ |
drug_propaganda |
пропаганда наркотиков, инструкции, площадки продажи |
suicide_promotion |
пропаганда суицида или инструкции к нему |
nazism_rehabilitation |
реабилитация нацизма, одобрительное использование нацистской символики, отрицание Холокоста |
Значение prompt_injection есть в схеме ответа, но относится к модерации текстов, а не ссылок: для URL оно не
выставляется.
Как читать уверенность
Заголовок раздела «Как читать уверенность»Модель настроена так: 0.85 и выше — нарушение явное и видно прямо в тексте страницы; от 0.55 до 0.85 —
сильные признаки без полной уверенности; ниже 0.55 — признаки слабые или противоречивые. При сомнении модель
выбирает unknown с низкой уверенностью, а не конкретную категорию. Порог блокировки выбирайте под свою задачу
— например, отклонять опасные категории от 0.55, а остальные отправлять на ручную проверку.
Поведение и ограничения
Заголовок раздела «Поведение и ограничения»- На загрузку страницы отводится около 10 секунд. Страница читается как HTML, без выполнения JavaScript:
у одностраничных приложений текста может не оказаться, и вердикт будет
unknown. - Модель видит запрошенный и конечный URL,
<title>, meta description, до 10 заголовков и первые 4000 символов видимого текста. urlдлиннее 2048 символов или без поляurl—422. Адрес, который не является URL или использует схему кромеhttp/https, —502; так же502приходит, если загрузка страницы оборвалась по таймауту или модель не дала ответа. Коды — на странице Ошибки.- Вердикт не кэшируется: каждый вызов заново спрашивает модель. Загруженная страница может переиспользоваться до 12 часов.
Схема запроса и ответа — в интерактивном справочнике proxy.seyka.ru/api-docs.
Каждая проверка — один вызов. Цена — в таблице цен.