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"}

ShikiRIP — видео

База видеоссылок для расширения ShikiRIP. Роуты загрузки, OAuth-прокси и прокси Kodik намеренно не документируются.

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

Поиск видеоссылок.

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":"user","hosting":"kodik.info"}]
GEThttps://api.sithond.com/api/shikivideos/:anime_id

Все видеоссылки для аниме.

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}