STREAMITby REZAN

Публичное API

Открытое, без ключа и регистрации, только чтение, CORS для любых сайтов. Подходит для ботов чата Twitch, расширений и ИИ-ассистентов. Пожалуйста, не чаще 1 запроса в секунду - защита на краю сети режет всплески.

Проверить тайтл

GET https://streamit.rezanans.com/api/v1/check?q=Магическая битва
GET https://streamit.rezanans.com/api/v1/check?shiki=40748
GET https://streamit.rezanans.com/api/v1/check?kp=1272446
{
  "found": true,
  "risk": "high",
  "twitch_safe": false,
  "verdict": "Не показывать на Twitch: правообладатель снимает трансляции и выдаёт страйки.",
  "matches": [{ "slug": "40748-jujutsu-kaisen", "title": "Магическая битва", "holders": ["crunchyroll"], ... }]
}

found: false не означает «безопасно» - база отмечает только известные случаи жалоб. Если тайтла нет в базе, ответ содержит поле live: результаты живого поиска с автоматической оценкой по студии и лицензиату (поле basis - на чём основана оценка).

Все методы

МетодЧто отдаёт
/api/v1/checkПроверка по q, shiki или kp
/api/v1/lookupЖивой поиск вне базы: Shikimori и Wikidata, риск по студии
/api/v1/chatОтвет одной строкой для Nightbot, StreamElements, Fossabot
/api/v1/titlesВся база одним JSON
/api/v1/titles/<slug>Один тайтл с описанием правообладателей
/api/v1/holdersПравообладатели и их тайтлы
/api/v1/statsСтатистика
/openapi.jsonСхема OpenAPI 3 (для GPT Actions, MCP-обёрток и т.п.)

Поля

risk: high - бан (автоматически, по паттерну трансляции), strike - повышенный риск (мировые студии, сканеры и DMCA в эфире), medium - средний риск (ручная проверка жалоб, блокировка после множества репортов, возможна ложная), low - низкий риск (зелёная зона, возможны предупреждения от второстепенных дистрибьюторов), unknown - нет данных. category: anime, film, series. Список holders - в /api/v1/holders.

Для ИИ

Инструкции для языковых моделей - /llms.txt (стандарт llms.txt), полный список тайтлов текстом - /llms-full.txt. Ассистенту достаточно дать ссылку на llms.txt: там описано, какой метод вызвать и как честно трактовать ответ.

Команда для чат-бота Twitch

Метод /api/v1/chat?q= отвечает одной строкой - её бот сразу пишет в чат. Добавьте команду, например !twitchcheck:

Nightbot$(urlfetch https://streamit.rezanans.com/api/v1/chat?q=$(querystring))
StreamElements${customapi.https://streamit.rezanans.com/api/v1/chat?q=${queryescape ${1:}}}
Fossabot$(customapi https://streamit.rezanans.com/api/v1/chat?q=$(querystring))

Зритель пишет !twitchcheck Наруто, бот отвечает:

⛔ Наруто 2002: Бан (Viz). https://streamit.rezanans.com/t/20-naruto

Пример для своего бота

const r = await fetch('https://streamit.rezanans.com/api/v1/check?q=' + encodeURIComponent(query)).then((r) => r.json())
say(r.found ? `${r.matches[0].title}: ${r.verdict}` : 'Нет в базе - это не гарантия безопасности')