sithond.com

Public API

Base URL: https://api.sithond.com

Все ответы в формате JSON. CORS разрешён для всех источников.

Сайт: https://sithond.com

Лимиты и авторизация

Без авторизации: 1000 запросов / 60 мин. При превышении IP блокируется на 24ч.

Для безлимитного доступа отправь запрос через POST /api/access-request или используй Bearer-токен в заголовке Authorization.

Если твой IP заблокирован — отправь запрос через форму ниже, администратор рассмотрит его вручную.

Доступ к API

POSThttps://api.sithond.com/api/access-request

Запрос авторизованного доступа к API. После одобрения администратором вы получите Bearer-токен для Authorization-заголовка без ограничений по частоте запросов.

Тело запроса (JSON)

{"name":"Иван","email":"ivan@example.com","use_case":"Хочу показывать список аниме на своём сайте"}

Пример ответа

{"ok":true}

Профиль

GEThttps://api.sithond.com/api/profile

Публичная информация об авторе сайта.

Пример ответа

{"name":"Ivan","role":"Developer","bio":"...","avatar":"https://...","email":"","social":{"github":"https://github.com/user"},"theme":{}}

Проекты

GEThttps://api.sithond.com/api/projects

Список опубликованных проектов.

Query параметры

limitчисло или "all"
offsetсмещение
tagфильтр по тегу
qпоиск

Пример ответа

[{"id":1,"slug":"my-project","name":"My Project","tags":["go"],"views":42,"published":true}]
GEThttps://api.sithond.com/api/projects/:slug

Один проект по slug или числовому id.

Пример ответа

{"id":1,"slug":"my-project","name":"My Project",...}

Новости

GEThttps://api.sithond.com/api/posts

Список опубликованных новостей.

Query параметры

limitчисло или "all"
offsetсмещение
tagфильтр по тегу
qпоиск
project_idфильтр по проекту

Пример ответа

[{"id":1,"slug":"my-post","title":"My Post","views":10,"tags":["авто"],"published":true}]
GEThttps://api.sithond.com/api/posts/:slug

Одна новость по slug или числовому id.

Пример ответа

{"id":1,...}

Страницы

GEThttps://api.sithond.com/api/pages

Список опубликованных страниц.

Query параметры

show_in_navtrue — только страницы в навигации

Пример ответа

[{"id":1,"slug":"about","title":"О проекте","show_in_nav":true,"published":true}]
GEThttps://api.sithond.com/api/pages/:slug

Одна страница.

Пример ответа

{"id":1,...}

Комментарии

GEThttps://api.sithond.com/api/comments

Одобренные комментарии.

Query параметры

target_type"post" или "project"
target_slugslug записи

Пример ответа

[{"id":1,"author":"Alice","content":"Отлично!","approved":true}]
POSThttps://api.sithond.com/api/comments

Оставить комментарий.

Тело запроса (JSON)

{"target_type":"post","target_slug":"my-post","author":"Alice","content":"Отлично!"}

Пример ответа

{"ok":true}

Контакт

POSThttps://api.sithond.com/api/contact

Форма обратной связи. Лимит: 1 раз в 5 минут.

Тело запроса (JSON)

{"name":"Alice","email":"alice@example.com","message":"Привет!"}

Пример ответа

{"ok":true}

Просмотры

POSThttps://api.sithond.com/api/views

Засчитать просмотр. Дедупликация по IP — 1 раз в сутки.

Тело запроса (JSON)

{"type":"post","slug":"my-post"}

Пример ответа

{"counted":true,"count":43}

Медиа и фиды

GEThttps://api.sithond.com/api/uploads/:filename

Загруженный медиафайл. Кеш 1 год.

GEThttps://api.sithond.com/api/rss.xml

RSS-лента последних 20 новостей.

GEThttps://api.sithond.com/api/sitemap.xml

Sitemap для поисковиков.

GEThttps://api.sithond.com/health

Проверка доступности API.

Пример ответа

{"ok":true,"service":"shikirip-api"}

Жалобы

POSThttps://api.sithond.com/v1/reports

Отправить жалобу со страницы аниме или манги. Лимит — общий рейт-лимит API. Уведомление уходит в Telegram.

Тело запроса (JSON)

{"type":"anime","target_id":"21","category":"broken_link","description":"Серия 5 не открывается","video_id":42}

Пример ответа

{"id":1,"type":"anime","target_id":"21","category":"broken_link","status":"pending","created_at":"..."}

Ограничения контента

GEThttps://api.sithond.com/api/admin/restrictions

(Админ) Список заблокированных аниме/манги.

Query параметры

type"anime" или "manga"

Пример ответа

{"items":[{"id":1,"type":"anime","target_id":"21","reason":"по требованию правообладателя"}],"total":1}
POSThttps://api.sithond.com/api/admin/restrictions

(Админ) Добавить ограничение. Запросы на /v1/anime/:id/videos и /api/shikivideos/:id вернут пустой массив или 403.

Тело запроса (JSON)

{"type":"anime","target_id":"21","reason":"по требованию правообладателя"}

Пример ответа

{"id":1,...}
DELETEhttps://api.sithond.com/api/admin/restrictions/:id

(Админ) Снять ограничение.

Пример ответа

{"ok":true,"id":1}

ShikiRIP — видео (legacy)

Устаревшие роуты, поддерживаются для обратной совместимости. Для новых интеграций используйте /v1/.

GEThttps://api.sithond.com/api/shikivideos/search

Поиск видеоссылок. Поле provider: "shikirip" | "smarthard".

Query параметры

anime_idID аниме (псевдонимы: animeId, target_id, targetId)
uploaderфильтр по нику
qпоиск по тексту
limitлимит (по умолчанию 100)
offsetсмещение

Пример ответа

[{"id":1,"url":"https://...","anime_id":21,"episode":1,"kind":"tv","language":"ru","quality":"1080p","author":"Anilibria","hosting":"kodik.info","provider":"shikirip"}]
GEThttps://api.sithond.com/api/shikivideos/:anime_id

Все видеоссылки для аниме. Мержит локальную БД + Smarthard (при наличии токена).

Query параметры

limitлимит
offsetсмещение
uploaderфильтр

Пример ответа

[...]
GEThttps://api.sithond.com/api/shikivideos/:anime_id/length

Число уникальных эпизодов с видео.

Пример ответа

{"length":130}
GEThttps://api.sithond.com/api/shikivideos/contributions

Общее число загрузок или загрузок пользователя.

Query параметры

uploaderник (необязательно)

Пример ответа

{"count":1842}

ShikiRIP v1 — видеоv1

Базовый URL: https://api.sithond.com/v1. Все ответы содержат поле provider для определения источника.

GEThttps://api.sithond.com/v1/anime/:id/videos

Унифицированный список видео из всех источников. Каждый объект содержит поле provider: "shikirip" | "smarthard" | "kodik".

Query параметры

providerscomma-list: shikirip,smarthard,kodik или all (по умолчанию: shikirip,smarthard)
episodeфильтр по номеру эпизода
languageфильтр по языку (ru, en, …)
limitлимит (по умолчанию все)
offsetсмещение

Пример ответа

{"items":[{"id":1,"url":"https://...","anime_id":21,"episode":1,"kind":"tv","language":"ru","quality":"1080p","author":"AnilibriA","hosting":"kodik.info","provider":"kodik","watches_count":0}],"total":1,"offset":0,"limit":1}
GEThttps://api.sithond.com/v1/anime/:id/videos/count

Число уникальных эпизодов (локальная БД + Smarthard при наличии токена).

Пример ответа

{"count":130}
POSThttps://api.sithond.com/v1/anime/videos

Добавить видеоссылку. Требует Bearer-токен. Тот же формат, что и POST /api/shikivideos.

Тело запроса (JSON)

{"url":"https://...","anime_id":21,"episode":1,"kind":"tv","language":"ru","quality":"1080p","author":"AnilibriA","hosting":"kodik.info"}

Пример ответа

{"id":42,...}
DELETEhttps://api.sithond.com/v1/anime/videos/:id

Удалить видеоссылку. Требует Bearer-токен.

Пример ответа

{"ok":true,"id":42}

ShikiRIP v1 — рейтингиv1

Базовый URL: https://api.sithond.com/v1. Все ответы содержат поле provider для определения источника.

GEThttps://api.sithond.com/v1/ratings

Рейтинги озвучек по аниме. user_vote заполнен при авторизации.

Query параметры

anime_idID аниме (обязательно)

Пример ответа

[{"author":"AnilibriA","up":5,"down":1,"user_vote":1}]
POSThttps://api.sithond.com/v1/ratings

Проголосовать за озвучку. Требует Bearer-токен.

Тело запроса (JSON)

{"anime_id":21,"author":"AnilibriA","vote":1}

Пример ответа

{"ok":true}
DELETEhttps://api.sithond.com/v1/ratings

Отозвать голос. Требует Bearer-токен.

Query параметры

anime_idID аниме
authorназвание озвучки

Пример ответа

{"ok":true}

ShikiRIP v1 — каталог мангиv1

Базовый URL: https://api.sithond.com/v1. Все ответы содержат поле provider для определения источника.

GEThttps://api.sithond.com/v1/manga/sources

Список источников манги из комьюнити-каталога.

Query параметры

shikimori_idID манги на Shikimori
sourceфильтр: mangalib | readmanga | remanga
limitлимит
offsetсмещение

Пример ответа

{"items":[{"id":1,"source":"mangalib","slug":"21--berserk","name":"Берсерк","cover_url":"https://...","shikimori_id":"2966"}],"total":1}
POSThttps://api.sithond.com/v1/manga/sources

Добавить источник манги. Требует Bearer-токен.

Тело запроса (JSON)

{"source":"mangalib","slug":"21--berserk","name":"Берсерк","cover_url":"...","added_by":"user","shikimori_id":"2966"}

Пример ответа

{"id":1,...}