⚠️ v2 DEPRECATED В версии v3 роуты претерпели серьезные изменения Хотя поддержка старых роутов и осталась, рекомендуется в новых проектах использовать новые пути.
⚠️ Внимание Перечитайте секцию Полезное дабы у вас ничего не сломалось между релизами. После выхода версии v2.13.0 поддержка всех предыдущих версий API до v2.12.0 была прекращена!
http(s)://api.anilibria.tv/v3/
- GET title – Получить информацию о тайтле
- GET title/list – Получить информацию о нескольких тайтлах сразу
- GET title/updates – Список тайтлов, отсортированные по времени добавления нового релиза
- GET title/changes – Список тайтлов, отсортированные по времени изменения
- GET title/schedule – Расписание выхода тайтлов, отсортированное по дням недели
- GET title/random – Возвращает случайный тайтл из базы
- GET title/search – Возвращает список найденных по фильтрам тайтлов
- GET title/search/advanced – Поиск информации по продвинутым фильтрам с поддержкой сортировки
- GET title/franchises – Получить информацию о франшизе по ID тайтла
- GET youtube – Информация о вышедших роликах на наших YouTube каналах в хронологическом порядке
- GET feed – Список обновлений тайтлов и роликов на наших YouTube каналах в хронологическом порядке
- GET years – Возвращает список годов выхода доступных тайтлов по возрастанию
- GET genres – Возвращает список всех жанров по алфавиту
- GET team – Возвращает список участников команды, когда-либо существовавших на проекте.
- GET torrent/seed_stats – Возвращает список пользователей и их статистику на трекере.
- GET torrent/rss – Возвращает список обновлений на сайте в одном из форматов RSS ленты
- GET franchise/list – Возвращает список всех франшиз
- GET user – Получить информацию об аккаунте пользователя
- GET user/favorites – Возвращает список избранных тайтлов пользователя
- PUT user/favorites – Добавляет тайтл в список избранных
- DELETE user/favorites – Удаляет тайтл из списка избранных search
Получить информацию о тайтле по id или коду
GET /v3/title
DEPRECATED - GET /v2/getTitle
Параметр | Тип | Описание | По умолчанию |
---|---|---|---|
id | int | ID тайтла | |
code | string | Код тайтла | |
torrent_id | int | ID торрент файла | |
filter | string, ... | Список значений, которые будут в ответе | |
remove | string, ... | Список значений, которые будут удалены из ответа | |
include | string, ... | Список типов файлов, которые будут возвращены в виде base64 строки подробнее | |
description_type | string | Тип получаемого описания, подробнее | plain |
playlist_type | string | Формат получаемого списка серий, object или array |
object |
В параметрах filter
и remove
можно указать полный путь до ключа, который вы хотите оставить или удалить, например: names.alternative
или team.voice[0]
. С версии 2.8 появилась возможность получать значения одного ключа во всех объектах в массиве, например: torrents.list[*].torrent_id
/v3/title?id=9000
/v3/title?code=kizumonogatari-iii-reiketsu-hen
{
"id": 9000,
"code": "kizumonogatari-iii-reiketsu-hen",
"names": {
"ru": "Истории Ран. Часть 3: Холодная кровь",
"en": "Kizumonogatari III: Reiketsu-hen",
"alternative": null
},
"franchises": [
{
"franchise": {
"id": "00651e7c-edaa-46b8-a095-804cc428f69d",
"name": "Истории монстров"
},
"releases": [
{
"id": 8896,
"code": "bakemonogatari",
"ordinal": 1,
"names": {
"ru": "Истории Монстров",
"en": "Bakemonogatari",
"alternative": null
}
},
...
]
}
],
"announce": "Релиз завершен!",
"status": {
"string": "Завершен",
"code": 2
},
"posters": {
"small": {
"url": "/storage/releases/posters/9000/NBPPaSwgJrcoO4eg__f003bb6841ce26560a643491c197878f.jpg",
"raw_base64_file": null
},
"medium": {
"url": "/storage/releases/posters/9000/NBPPaSwgJrcoO4eg__f003bb6841ce26560a643491c197878f.jpg",
"raw_base64_file": null
},
"original": {
"url": "/storage/releases/posters/9000/NBPPaSwgJrcoO4eg__f003bb6841ce26560a643491c197878f.jpg",
"raw_base64_file": null
}
},
"updated": 1624984055,
"last_change": 1671901871,
"type": {
"full_string": "Фильм, 83 мин.",
"code": 0,
"string": "MOVIE",
"episodes": null,
"length": 83
},
"genres": [
"Вампиры",
"Детектив",
"Сверхъестественное",
"Экшен"
],
"team": {
"voice": [
"BStrong",
"Gomer",
"MyAska",
"SlivciS"
],
"translator": [
"Sesha_Rim",
"Yukigawa"
],
"editing": [
"Aero"
],
"decor": [
"Helge"
],
"timing": [
"im4x"
]
},
"season": {
"string": "зима",
"code": 1,
"year": 2017,
"week_day": 0
},
"description": "Заключительная часть из трилогии полнометражных фильмов «Истории Ран».\r\n\r\nПосле боёв с тремя охотниками (Драматургия, Эпизод, Гильотина) Арараги получил все части тела Киссшот и готов их ей вернуть, чтобы снова стать человеком. Но остаётся много вопросов: как Киссшот сделает его человеком? Как трое охотников победили Киссшот на пике её силы? Зачем на самом деле приехал Мэмэ Ошино? И как в итоге продолжатся отношения Арараги и Ханэкавы?",
"in_favorites": 1141,
"blocked": {
"blocked": false,
"bakanim": false
},
"player": {
"alternative_player": null,
"host": "cache.libria.fun",
"episodes": {
"first": 1,
"last": 1,
"string": "1-1"
},
"list": {
"1": {
"episode": 1,
"name": null,
"uuid": "95db068f-789e-11ec-ae92-0242ac120002",
"created_timestamp": 1624983774,
"preview": null,
"skips": {
"opening": [
],
"ending": [
]
},
"hls": {
"fhd": "/videos/media/ts/9000/1/1080/7f3c1729ebd24b93d4e0918510004606.m3u8",
"hd": "/videos/media/ts/9000/1/720/e313ea7c883c81fba86547414ec18b5e.m3u8",
"sd": "/videos/media/ts/9000/1/480/8a7f4d218433f5a5fee1c6f5a02d278e.m3u8"
}
}
},
"rutube": {
}
},
"torrents": {
"episodes": {
"first": 1,
"last": 1,
"string": "1-1"
},
"list": [
{
"torrent_id": 15808,
"episodes": {
"first": 1,
"last": 1,
"string": "Фильм"
},
"quality": {
"string": "BDRip 1080p",
"type": "BDRip",
"resolution": "1080p",
"encoder": "h264",
"lq_audio": null
},
"leechers": 0,
"seeders": 22,
"downloads": 2852,
"total_size": 4801286259,
"size_string": "4.8 GB",
"url": "/public/torrent/download.php?id=15808",
"magnet": "magnet:?xt=urn:btih:769359d20c645989c338a1646f7c2dd6d44b8652&tr=http%3A%2F%2Ftr.libria.fun%3A2710%2Fannounce",
"uploaded_timestamp": 1624979760,
"hash": "769359d20c645989c338a1646f7c2dd6d44b8652",
"metadata": null,
"raw_base64_file": null
},
{
"torrent_id": 15810,
"episodes": {
"first": 1,
"last": 1,
"string": "Фильм"
},
"quality": {
"string": "BDRip 1080p HEVC",
"type": "BDRip",
"resolution": "1080p",
"encoder": "h265",
"lq_audio": null
},
"leechers": 0,
"seeders": 31,
"downloads": 3329,
"total_size": 864734373,
"size_string": "864.73 MB",
"url": "/public/torrent/download.php?id=15810",
"magnet": "magnet:?xt=urn:btih:00b80dfc7d920f3160ca3105c7d54d594f157dc7&tr=http%3A%2F%2Ftr.libria.fun%3A2710%2Fannounce",
"uploaded_timestamp": 1624989064,
"hash": "00b80dfc7d920f3160ca3105c7d54d594f157dc7",
"metadata": null,
"raw_base64_file": null
}
]
}
}
Получить информацию о тайтле по id или коду
GET /v3/title/list
DEPRECATED - GET /v2/getTitles
Параметр | Тип | Описание | По умолчанию |
---|---|---|---|
id_list | string, ... | Список ID тайтлов | |
code_list | string, ... | Список кодов тайтла | |
torrent_id_list | string, ... | Список ID торрент файлов | |
filter | string, ... | Список значений, которые будут в ответе | |
remove | string, ... | Список значений, которые будут удалены из ответа | |
include | string, ... | Список типов файлов, которые будут возвращены в виде base64 строки подробнее | |
description_type | string | Тип получаемого описания, подробнее | plain |
playlist_type | string | Формат получаемого списка серий, object или array |
object |
page | int | Номер страницы | |
items_per_page | int | Количество элементов на странице |
В параметрах filter
и remove
можно указать полный путь до ключа, который вы хотите оставить или удалить, например: names.alternative
или team.voice[0]
. С версии 2.8 появилась возможность получать значения одного ключа во всех объектах в массиве, например: torrents.list[*].torrent_id
/v3/title/list ?id_list=8500,8644&filter=posters,type,status,player.list.24
/v3/title/list ?code_list=nanatsu-no-taizai-kamigami-no-gekirin
[
[Возвращаемые поля идентичны /title],
...
]
Подробнее о возвращаемых значениях
Получить список последних обновлений тайтлов
- обновлением у нас считается момент когда релиз полностью готов, к примеру когда серия вышла в торренте и плеере и уже успешно залита.
GET /v3/title/updates
DEPRECATED - GET /v2/getUpdates
Параметр | Тип | Описание | По умолчанию |
---|---|---|---|
filter | string, ... | Список значений, которые будут в ответе | |
remove | string, ... | Список значений, которые будут удалены из ответа | |
include | string, ... | Список типов файлов, которые будут возвращены в виде base64 строки подробнее | |
limit | int | Количество объектов в ответе | 5 |
since | int | Список тайтлов, у которых время обновления больше указанного timestamp | |
description_type | string | Тип получаемого описания, подробнее | plain |
playlist_type | string | Формат получаемого списка серий, object или array |
object |
after | int | Удаляет первые n записей из выдачи | |
page | int | Номер страницы | |
items_per_page | int | Количество элементов на странице |
В параметрах filter
и remove
можно указать полный путь до ключа, который вы хотите оставить или удалить, например: names.alternative
или team.voice[0]
. С версии 2.8 появилась возможность получать значения одного ключа во всех объектах в массиве, например: torrents.list[*].torrent_id
/v3/title/updates?filter=posters,type,status&limit=5
/v3/title/updates?since=1590233417
{
"list": [
[Возвращаемые поля идентичны /title],
...
],
"pagination": {
"pages": 271,
"current_page": 0,
"items_per_page": 5,
"total_items": 1355
}
}
Подробнее о возвращаемых значениях
Получить список последних изменений тайтлов
GET /v3/title/changes
DEPRECATED - GET /v2/getChanges
Параметр | Тип | Описание | По умолчанию |
---|---|---|---|
filter | string, ... | Список значений, которые будут в ответе | |
remove | string, ... | Список значений, которые будут удалены из ответа | |
include | string, ... | Список типов файлов, которые будут возвращены в виде base64 строки подробнее | |
limit | int | Количество объектов в ответе | 5 |
since | int | Список тайтлов, у которых время обновления больше указанного timestamp | |
description_type | string | Тип получаемого описания, подробнее | plain |
playlist_type | string | Формат получаемого списка серий, object или array |
object |
after | int | Удаляет первые n записей из выдачи | |
page | int | Номер страницы | |
items_per_page | int | Количество элементов на странице |
В параметрах filter
и remove
можно указать полный путь до ключа, который вы хотите оставить или удалить, например: names.alternative
или team.voice[0]
. С версии 2.8 появилась возможность получать значения одного ключа во всех объектах в массиве, например: torrents.list[*].torrent_id
/v3/title/changes?filter=posters,type,status&limit=5
/v3/title/changes?since=1590233417
{
"list": [
[Возвращаемые поля идентичны /title],
...
],
"pagination": {
"pages": 271,
"current_page": 0,
"items_per_page": 5,
"total_items": 1355
}
}
Подробнее о возвращаемых значениях
Получить список последних обновлений тайтлов
GET /v3/title/schedule
DEPRECATED - GET /v2/getSchedule
Параметр | Тип | Описание | По умолчанию |
---|---|---|---|
filter | string, ... | Список значений, которые будут в ответе | |
remove | string, ... | Список значений, которые будут удалены из ответа | |
include | string, ... | Список типов файлов, которые будут возвращены в виде base64 строки подробнее | |
days | string, ... | Список дней недели на которые нужно расписание | |
description_type | string | Тип получаемого описания, подробнее | plain |
playlist_type | string | Формат получаемого списка серий, object или array |
object |
В параметрах filter
и remove
можно указать полный путь до ключа, который вы хотите оставить или удалить, например: names.alternative
или team.voice[0]
. С версии 2.8 появилась возможность получать значения одного ключа во всех объектах в массиве, например: torrents.list[*].torrent_id
Счет дней недели идет с понедельника, где 0 - Понедельник, а 6 - Воскресенье.
/v3/title/schedule?filter=posters,type,status
/v3/title/schedule?days=5,6
[
{
"day": 5,
"list": [
[Возвращаемые поля идентичны /title],
...
]
},{
"day": 6,
"list": [
[Возвращаемые поля идентичны /title],
...
]
}
]
Возвращает случайный тайтл из базы
GET /v3/title/random
DEPRECATED - GET /v2/getRandomTitle
Параметр | Тип | Описание | По умолчанию |
---|---|---|---|
filter | string, ... | Список значений, которые будут в ответе | |
remove | string, ... | Список значений, которые будут удалены из ответа | |
include | string, ... | Список типов файлов, которые будут возвращены в виде base64 строки подробнее | |
description_type | string | Тип получаемого описания, подробнее | plain |
playlist_type | string | Формат получаемого списка серий, object или array |
object |
В параметрах filter
и remove
можно указать полный путь до ключа, который вы хотите оставить или удалить, например: names.alternative
или team.voice[0]
. С версии 2.8 появилась возможность получать значения одного ключа во всех объектах в массиве, например: torrents.list[*].torrent_id
/v3/title/random
{
[Возвращаемые поля идентичны /title],
}
Подробнее о возвращаемых значениях
Информация о вышедших роликах на наших YouTube каналах в хронологическом порядке
GET /v3/youtube
DEPRECATED - GET /v2/getYouTube
Параметр | Тип | Описание | По умолчанию |
---|---|---|---|
filter | string, ... | Список значений, которые будут в ответе | |
remove | string, ... | Список значений, которые будут удалены из ответа | |
limit | int | Количество объектов в ответе | 5 |
since | int | Список видеороликов, у которых время обновления больше указанного timestamp | |
after | int | Удаляет первые n записей из выдачи | |
page | int | Номер страницы | |
items_per_page | int | Количество элементов на странице |
В параметрах filter
и remove
можно указать полный путь до ключа, который вы хотите оставить или удалить, например: names.alternative
или team.voice[0]
. С версии 2.8 появилась возможность получать значения одного ключа во всех объектах в массиве, например: torrents.list[*].torrent_id
/v3/youtube?limit=10
[
{
"id": 10861,
"title": "АНИМЕ Своя игра с АниЛибрией (Люпин, Шарон, Зозя, Сахарочек, Рокетту, Никанор47)",
"preview": {
"src": "/storage/media/videos/previews/525/Jje8XoIFerhG78N4.jpg",
"thumbnail": "/storage/media/videos/previews/525/Jje8XoIFerhG78N4__3fcc93cd365a86b027f995ba19d79934.jpg"
},
"youtube_id": "rvhfqzXXZaU",
"comments": 29,
"views": 7911,
"timestamp": 1656844874
},
...
}
Подробнее о возвращаемых значениях
Список обновлений тайтлов и роликов на наших YouTube каналах в хронологическом порядке
GET /v3/feed
DEPRECATED - GET /v2/getFeed
Параметр | Тип | Описание | По умолчанию |
---|---|---|---|
filter | string, ... | Список значений, которые будут в ответе | |
remove | string, ... | Список значений, которые будут удалены из ответа | |
include | string, ... | Список типов файлов, которые будут возвращены в виде base64 строки подробнее | |
limit | int | Количество объектов в ответе | 5 |
since | int | Список тайтлов, у которых время обновления больше указанного timestamp | |
description_type | string | Тип получаемого описания, подробнее | plain |
playlist_type | string | Формат получаемого списка серий, object или array |
object |
after | int | Удаляет первые n записей из выдачи | |
page | int | Номер страницы | |
items_per_page | int | Количество элементов на странице |
В параметрах filter
и remove
можно указать полный путь до ключа, который вы хотите оставить или удалить, например: names.alternative
или team.voice[0]
. С версии 2.8 появилась возможность получать значения одного ключа во всех объектах в массиве, например: torrents.list[*].torrent_id
/v3/feed?limit=10
[
{
"youtube": {
[Возвращаемые поля идентичны /youtube]
}
},
{
"title": {
[Возвращаемые поля идентичны /title]
}
},
...
]
Подробнее о возвращаемых значениях title [Подробнее о возвращаемых значениях youtube](#Возвращаемые значения при запросе информации о YouTube ролике)
Возвращает список годов выхода доступных тайтлов отсортированный по возрастанию
GET /v3/years
DEPRECATED - GET /v2/getYears
/v3/years
[
1996,
1998,
2001,
2003,
...
]
Возвращает список жанров доступных тайтлов отсортированный по алфавиту
GET /v3/genres
DEPRECATED - GET /v2/getGenres
/v3/genres
[
"боевые искусства",
"вампиры",
"демоны",
...
]
Возвращает список найденных по фильтрам тайтлов
GET /v3/title/search
DEPRECATED - GET /v2/searchTitles
Параметр | Тип | Описание | По умолчанию |
---|---|---|---|
search | string, ... | Поиск по именам и описанию | |
year | string, ... | Список годов выхода | |
type | string, ... | Список типов через запятую | |
season_code | string, ... | Список сезонов, подробнее | |
genres | string, ... | Список жанров | |
team | string, ... | Поиск по всем командам, список ников через запятую | |
voice | string, ... | Список ников через запятую | |
translator | string, ... | Список ников через запятую | |
editing | string, ... | Список ников через запятую | |
decor | string, ... | Список ников через запятую | |
timing | string, ... | Список ников через запятую | |
filter | string, ... | Список значений, которые будут в ответе | |
remove | string, ... | Список значений, которые будут удалены из ответа | |
include | string, ... | Список типов файлов, которые будут возвращены в виде base64 строки подробнее | |
description_type | string | Тип получаемого описания, подробнее | plain |
playlist_type | string | Формат получаемого списка серий, object или array |
object |
limit | int | Количество объектов в ответе | 5 |
after | int | Удаляет первые n записей из выдачи | |
order_by | string | Ключ, по которому будет происходить сортировка результатов | |
sort_direction | int | Направление сортировки. 0 - По возрастанию, 1 - По убыванию | 0 |
page | int | Номер страницы | |
items_per_page | int | Количество элементов на странице |
/v3/title/search?search=cудьба апокреф&voice=Amikiri,Silv,Hekomi&filter=id,names,team,genres[0]&limit=10
Поиск идет по неточному совпадению, так что опечатки допустимы.
{
[Возвращаемые поля идентичны /title]
}
Возвращает список найденных по фильтрам тайтлов
GET /v3/title/search/advanced
DEPRECATED - GET /v2/advancedSearch
Параметр | Тип | Описание | По умолчанию |
---|---|---|---|
query | string | Обязательный параметр Фильтр, по которому будет идти выборка, подробнее | |
simple_query | string | Обязательный параметр Фильтр, по которому будет идти выборка, подробнее | |
filter | string, ... | Список значений, которые будут в ответе | |
remove | string, ... | Список значений, которые будут удалены из ответа | |
include | string, ... | Список типов файлов, которые будут возвращены в виде base64 строки подробнее | |
description_type | string | Тип получаемого описания, подробнее | plain |
playlist_type | string | Формат получаемого списка серий, object или array |
object |
limit | int | Количество объектов в ответе, подробнее | 5 |
after | int | Удаляет первые n записей из выдачи | |
order_by | string | Ключ, по которому будет происходить сортировка результатов | |
sort_direction | int | Направление сортировки. 0 - По возрастанию, 1 - По убыванию | 0 |
page | int | Номер страницы | |
items_per_page | int | Количество элементов на странице |
/v3/title/search/advanced?query={season.code} == 1 and {season.year} == 2020&filter=id,names,in_favorites&order_by=in_favorites&sort_direction=0
/v3/title/search/advanced?simple_query=status.code==1
{
[Возвращаемые поля идентичны /title]
}
Получить информацию о франшизе по ID тайтла
GET /v3/title/franchises
Параметр | Тип | Описание | По умолчанию |
---|---|---|---|
id | int | ID тайтла | |
filter | string, ... | Список значений, которые будут в ответе | |
remove | string, ... | Список значений, которые будут удалены из ответа |
/v3/title/franchises?id=8500
{
"franchise": {
"id": "e2fd07c2-6119-4520-98d4-2e9fb0e606a6",
"name": "Семь смертных грехов"
},
"releases": [
{
"id": 428,
"code": "nanatsu-no-taizai-the-seven-deadly-sins-sem-smertnykh-grekhov",
"ordinal": 1,
"names": {
"ru": "Семь смертных грехов",
"en": "Nanatsu no Taizai",
"alternative": null
}
},
...
]
}
]
Возвращает список участников команды когда-либо существовавших на проекте.
GET /v3/team
DEPRECATED - GET /v2/getTeam
/v3/team
{
"voice": [...],
"translator": [...],
"editing": [...],
"decor": [...],
"timing": [...]
}
Возвращает топ пользователей по количеству загруженного и скачанного через наш торрент трекер.
GET /v3/torrent/seed_stats
DEPRECATED - GET /v2/getSeedStats
Параметр | Тип | Описание | По умолчанию |
---|---|---|---|
users | string, ... | Статистика по имени пользователя | |
filter | string, ... | Список значений, которые будут в ответе | |
remove | string, ... | Список значений, которые будут удалены из ответа | |
limit | int | Количество объектов в ответе | 5 |
after | int | Удаляет первые n записей из выдачи | |
sort_by | string | По какому полю производить сортировку, допустимые значения: downloaded, uploaded, user | |
order | int | Направление сортировки 0 - DESC, 1 - ASC | |
page | int | Номер страницы | |
items_per_page | int | Количество элементов на странице |
/v3/torrent/seed_stats?users=AniLibriaBot
[
{
"downloaded": 72110162198,
"uploaded": 1163165762554,
"user": "T1MOX4"
}
]
Возвращает список обновлений на сайте в одном из форматов RSS ленты
GET /v3/torrent/rss
DEPRECATED - GET /v2/getRSS
Параметр | Тип | Описание | По умолчанию |
---|---|---|---|
rss_type | string | Предпочитаемый формат вывода | rss |
session | string | Уникальный идентификатор сессии пользователя | |
limit | int | Количество объектов в ответе | 10 |
since | int | Список тайтлов, у которых время обновления больше указанного timestamp | |
after | int | Удаляет первые n записей из выдачи |
- Если указан верный параметр session, то загрузка торрентов будет происходить от имени вашего аккаунта, и вам будет начисляться статистика.
- В случае если ключ указан неверно торрент клинт будет возвращать ошибку о неправильном формате торрента.
/v3/torrent/rss?rss_type=atom&limit=5
<rss version="2.0">
<channel>
<title>Самое свежее на AniLibria.TV</title>
<link>https://anilibria.tv/</link>
<description>Самое свежие релизы AniLibria.TV</description>
<lastBuildDate>Wed, 07 Apr 2021 17:59:24 GMT</lastBuildDate>
<docs>https://validator.w3.org/feed/docs/rss2.html</docs>
<generator>AniLibria API v2.11.2</generator>
<language>ru</language>
<item>
<title>
<![CDATA[ Золотое божество 3 / Golden Kamuy 3 | 1-8 [WEBRip 1080p HEVC] ]]>
</title>
<link>https://www.anilibria.tv/release/golden-kamuy-3.html</link>
<guid>12848</guid>
<pubDate>Tue, 08 Dec 2020 13:50:54 GMT</pubDate>
<description>
<![CDATA[ Сугимото отправляется на поиски Асирпы в Карафуто. Также в этом сезоне мы увидим русских солдат, бой с росомахами, путешествующие труппы, харакири, разборки самураев и самое главное — мы узнаем историю и истинные мотивы отца Асирпы. Произойдёт много событий, которые приведут к закрытию некоторых сюжетных арок. ]]>
</description>
<enclosure length="2258151277" type="application/x-bittorrent" url="https://static.anilibria.tv/upload/torrents/12848.torrent"/>
</item>
...
</channel>
</rss>
Возвращает список всех франшиз
GET /v3/franchise/list
Параметр | Тип | Описание | По умолчанию |
---|---|---|---|
filter | string, ... | Список значений, которые будут в ответе | |
remove | string, ... | Список значений, которые будут удалены из ответа | |
limit | int | Количество объектов в ответе | 5 |
after | int | Удаляет первые n записей из выдачи | |
page | int | Номер страницы | |
items_per_page | int | Количество элементов на странице |
/v3/franchise/list?page=2
{
"list": [
{
"franchise": {
"id": "cedc6f71-7fba-401f-903c-a1255db2d6d1",
"name": "Альдноа.Зеро"
},
"releases": [
{
"id": 390,
"code": "aldnoah-zero-aldnoa-zero",
"ordinal": 1,
"names": {
"ru": "Альдноа.Зеро",
"en": "Aldnoah.Zero",
"alternative": null
}
},
...
],
"pagination": {
"pages": 37,
"current_page": 2,
"items_per_page": 5,
"total_items": 182
}
}
Возвращает список избранных тайтлов пользователя
GET /v3/user/favorites
DEPRECATED - GET /v2/getFavorites
Параметр | Тип | Описание | Обязательный | По умолчанию |
---|---|---|---|---|
session | string | Уникальный идентификатор сессии пользователя | + | |
filter | string, ... | Список значений, которые будут в ответе | ||
remove | string, ... | Список значений, которые будут удалены из ответа | ||
include | string, ... | Список типов файлов, которые будут возвращены в виде base64 строки подробнее | ||
description_type | string | Тип получаемого описания, подробнее | plain | |
playlist_type | string | Формат получаемого списка серий, object или array |
object | |
limit | int | Количество объектов в ответе | 5 | |
after | int | Удаляет первые n записей из выдачи | ||
page | int | Номер страницы | ||
items_per_page | int | Количество элементов на странице |
В параметрах filter
и remove
можно указать полный путь до ключа, который вы хотите оставить или удалить, например: names.alternative
или team.voice[0]
. С версии 2.8 появилась возможность получать значения одного ключа во всех объектах в массиве, например: torrents.list[*].torrent_id
/v3/user/favorites?session=qwertyqwertyqwerty1234567890
[
[Возвращаемые поля идентичны /title],
...
]
Подробнее о возвращаемых значениях
Возвращает информацию об аккаунте пользователя
GET /v3/user
DEPRECATED - GET /v2/getUser
Параметр | Тип | Описание | Обязательный
| - | - | - | - | | session | string | Уникальный идентификатор сессии пользователя | + | | filter | string, ... | Список значений которые будут в ответе | | | remove | string, ... | Список значений которые будут удалены из ответа | |
В параметрах filter
и remove
можно указать полный путь до ключа который вы хотите оставить или удалить, например names.alternative
или team.voice[0]
, с версии 2.8. появилась возможность получать значения одного ключа во всех объектах в массиве, например: torrents.list[*].torrent_id
/v3/user?session=qwertyqwertyqwerty1234567890
{
"login": "AniLibriaBot",
"nickname": "AniLibriaBot",
"email": "[email protected]",
"avatar_original": "/",
"avatar_thumbnail": "/",
"vk_id": "/",
"patreon_id": "/",
}
Подробнее о возвращаемых значениях
Добавить тайтл в список избранных
PUT /v3/user/favorites
DEPRECATED - PUT /v2/addFavorite
Параметр | Тип | Описание | Обязательный |
---|---|---|---|
session | string | Уникальный идентификатор сессии пользователя | + |
title_id | int | ID тайтла который вы хотите добавить | + |
/v3/user/favorites/add?session=qwertyqwertyqwerty1234567890&title_id=8500
{
"success": true
}
Удалить тайтл из списка избранных
DELETE /v3/user/favorites
DEPRECATED - DELETE /v2/delFavorite
Параметр | Тип | Описание | Обязательный |
---|---|---|---|
session | string | Уникальный идентификатор сессии пользователя | + |
title_id | int | ID тайтла который вы хотите удалить | + |
/v3/user/favorites?session=qwertyqwertyqwerty1234567890&title_id=8500
{
"success": true
}
id int – ID тайтла
code string – Код тайтла, используется для создания ссылки
names object – Названия тайтла.
posters object – Информация о постере
updated int – Timestamp последнего обновления тайтла (обычно тайтл обновляют при выходе новых релизов)
last_change int – Timestamp последнего изменения тайтла (Например описания, или анонса)
status object – Статус тайтла
type object – Типа тайтла
genres array[string] – Список жанров
team object – Ники членов команды работавших над тайтлом
season object – Сезон, год выхода, и день недели из расписания когда выходят новые серии
year int – Год выпуска тайтла
week_day int – День недели, когда выходят новые релизы
description string – Описание тайтла в указанном в description_type формате
franchises array[object] – Список франшиз в которых состоит тайтл (может быть несколько)
blocked object – Информация о блокировках тайтла
player object – Информация о сериях в плеере
torrents object – Информация о торрент файлах
id int – ID записи в базе
title string – Название видео ролика
preview object – Ссылка на превью к ролику
youtube_id string – ID видео на YouTube (Легко форматируется в https://youtu.be/{youtube_id})
timestamp int – Timestamp времени добавления в базу
comments int - Количество комментариев у ролика
views int - Количество просмотров у ролика
src string – Превью видеоролика в полном размере thumbnail string – Превью видеоролика в маленьком размере
login string – Логин пользователя nickname string – Имя пользователя email string – EMail пользователя avatar_original string – Путь к аватару пользователя avatar_thumbnail string – Путь к превью аватара пользователя vk_id string – ID аккаунта VK patreon_id string – ID аккаунта Patreon
В случае отсутствия какой-то информации значение поля будет
null
для строк, пустой массив для массивов, и 0 для чисел Такое редко, но бывает.
ru string – Русское название тайтла
en string – Английское название тайтла
alternative string – Альтернативное название
small object – Постер маленького размера
medium object – Постер среднего размера
original object – Оригинальный и самый большой постер
url string – Относительный url на постер
raw_base64_file string – Постер в base64 формате (если запрошен в параметре include)
string string – Количество серий в виде строки
first int – Первая серия
last int – Последняя серия
string string – Статус тайтла в виде строки
code int – Статус тайтла в виде числа1 – В работе
2 – Завершен
3 – Скрыт
4 – Неонгоинг
full_string string – Тип тайтла целиком в виде строки (как это указано на сайте)
string string – Тип тайтла в виде строки
episodes int – Ожидаемое количество серий
length string – Длительность серий
code int – Тип тайтла в виде числа0 – Фильм
1 – TV
2 – OVA
3 – ONA
4 – Спешл 5 - WEB
voice array[string] – Список войсеров работавших над озвучкой.
translator array[string] – Список участников команды работавших над переводом.
editing array[string] – Список участников команды работавших над субтитрами.
decor array[string] – Список участников команды работавших над оформлением.
timing array[string] – Список участников команды работавших над таймингом.
year int – Список войсеров работавших над озвучкой
week_day int – День недели. Счет дней недели идет с понедельника, где 0 - Понедельник, а 6 - Воскресенье.
string string – Название сезона в котором вышел тайтл.
code int – Код сезона в котором вышел тайтл.1 - Зима
2 - Весна
3 - Лето
4 - Осень
Содержит массив объектов с информацией о франшизах.
franchise object – Объект с описанием франшизы releases array[object] – Объект со списком тайтлов которые входят в франшизу.
id string – UUID франшизы. name string – Имя франшизы.
id int – ID тайтла code string – Код тайтла, используется для создания ссылки
ordinal int – Порядковый номер в списке names object – Названия тайтла
blocked bool – Тайтл заблокирован на территории РФ.
bakanim bool – Тайтл заблокирован из-за жалобы Wakanim.
alternative_player string – Ссылка на альтернативный плеер.
host object – Имя сервера для построения ссылок на поток.
list object – Список релизов тайтла со ссылками на просмотр и загрузку.
rutube object – Список серий загруженных на рутуб episodes object – Количество вышедших в плеере серий
hls string – Ссылка без домена на альтернативный плеер
Эти имена служат для того, чтобы использовать их как часть ссылки к файлу. Например:https://cache.libria.fun/videos/media/ts/9284/3/720/4cc228b26307888f9cb0091ff233a6e3.m3u8
позволит скачать указанный файл с сервера.
episode float – Номер серии
name string - Имя серии uuid string - Уникальный идентификатор серии created_timestamp int – Время создания/изменения плейлиста в формате unix timestamp
preview string - Ссылка без домена на превью серии
skips array[int] - Массив чисел с временем для пропуска опенинга и эндинга
hls object – Объект, содержащий ссылки на потоковое воспроизведение в разном качестве
episode float – Номер серии
created_timestamp int – Время создания/изменения эпизода в формате unix timestamp
rutube_id string – Идентификатор серии в системе rutube
fhd string – Ссылка без домена на потоковое воспроизведение в Full-HD качестве
hd string – Ссылка без домена на потоковое воспроизведение в HD качестве
sd string – Ссылка без домена на потоковое воспроизведение в SD качестве
episodes object – Серии содержащиеся в файле
list array[object] – Массив объектов с информацией о торрент файлах
Содержит массив объектов с информацией о торрент файлах.
torrent_id int – ID торрент файла
episodes object – Серии содержащиеся в файле
quality object – Информации о разрешении, кодировщике и типе релиза
leechers int – Количество личеров (личей)
seeders int – Количество сидеров (сидов)
downloads int – Количество загрузок файла
total_size int – Размер файлов в торренте в байтах size_string string – Размер файлов в торренте в человекочитаемом формате url string – Ссылка на торрент файл без домена
magnet string – Магнитная ссылка для скачивания торрента. uploaded_timestamp int – Время загрузки торрента в формате unix timestamp
raw_base64_file string – Торрент файл в base64 формате (если запрошен в параметре include)
metadata object – Объект, содержащий метаданные торрент файла hash string - Хеш торрент файла
string string – Полная строка с описание качества и типа релиза
type string – Тип релиза WEBRip, HDRip и тд...
resolution int – Разрешение одной стороны изображения. Например 720
encoder string – Строка указывающая на кодировщик используемый для кодирования релиза, h264 или h265
lq_audio bool – Используется ли аудио дорожка с пониженным битрейтом (Для экономии размера файла)
hash string – Хеш торрент файла
name string – Имя тайтла в торрент файле
announce array[string] – Массив строк содержащий список трекеров
created_timestamp int – Время создания торрента в формате unix timestamp
files_list array[object] – Массив объектов содержащий список файлов в торренте
file string – Имя файла
size int – Размер файла в байтах
size_string string – Размер файлов в торренте в человекочитаемом формате offset int64 – Смещение в байтах относительно предыдущего файла
html – Описание тайтла в виде html (в том виде в каком оно на сайте)
plain – Описание тайтла в виде текста без дополнительного форматирования
no_view_order – Описание тайтла в виде текста без дополнительного форматирования и порядка просмотра
Это полезно в случае если вы не хотите делать много запросов, такая конструкция позволяет получить все необходимое в одном запросе
raw_poster – Добавить постер в base64 формате в ответ
raw_torrent – Добавить торрент файлы в base64 формате в ответ
torrent_meta - Добавить в ответ метаданные торрента (список файлов, их размер, трекер)
Количество объектов в ответе
Любое положительное число, или -1, чтобы получить все результаты.
Предпочитаемый формат вывода RSS ленты
Название | Описание |
---|---|
rss | RSS 2.0 (По умолчанию) |
atom | Atom 1.0 |
json | JSON Feed 1.0 |
pages - всего страниц current_page - текущая страница items_per_page - элементов на странице total_items - всего элементов
Ключи объектов должны быть закрыты в фигурные скобки, например {names.ru}
Операция | Описание |
---|---|
x == y |
Равно |
x != y |
Не равно |
x < y |
Меньше чем |
x <= y |
Меньше чем или равно |
x > y |
Больше чем |
x >= y |
Больше чем или равно |
x ~= y |
Регулярное выражение |
x in (a, b, c) |
Эквивалент (x == a or x == b or x == c) |
x not in (a, b, c) |
Эквивалент (x != a and x != b and x != c) |
Операция | Описание |
---|---|
x and y |
Логическое И |
x or y |
Логическое ИЛИ |
not x |
Логическое НЕ |
if x then y else z |
Условие x, истина y, ложь z |
( x ) |
Оператор приоритета, например (x == y or y < 10) and z) |
Операция | Описание |
---|---|
x + y |
Сложение |
x - y |
Вычитание |
x * y |
Умножение |
x / y |
Деление |
x % y |
Модуль |
x ^ y |
Степень |
Операция | Описание |
---|---|
(a, b, c) |
Массив |
a in b |
Массив a является подмножеством массива b |
x of y |
Свойство x объекта y |
Функция | Описание |
---|---|
abs(x) |
Абсолютное значение |
ceil(x) |
Округление float числа вверх |
empty(x) |
True если x undefined, null, пустой массив или строка |
exists(x) |
True если x не undefined или null |
floor(x) |
Округление float числа вниз |
log(x) |
Натуральный логарифм |
log2(x) |
Логарифм по основанию 2 |
log10(x) |
Логарифм по основанию 10 |
max(a, b, c...) |
Максимальное число из указанных (число аргументов может быть любым) |
min(a, b, c...) |
Минимальное число из указанных (число аргументов может быть любым) |
round(x) |
Простое округление float |
sqrt(x) |
Квадратный корень |
len(x) |
Длина массива или строки |
randomInt(min, max) |
Случайное число в указанном диапазоне |
Упрощенная и более быстрая альтернатива query для прямого сравнения.
Прямое сравнение ключа, путь к ключу нужно указывать без скобок как в query, например
Допустим только параметр прямого сравнения через ==
simple_query=status.code==null
simple_query=player.series.last==1
Для получения ключа, нужно отправить POST запрос на адрес
https://www.anilibria.tv/public/login.php
Параметр | Тип | Описание | Обязательный |
---|---|---|---|
string | Логин или электронная почта от аккаунта | + | |
passwd | string | Пароль от аккаунта | + |
После успешной авторизации в ответе будет значение с ключом sessionId
, а в cookies PHPSESSID
, оба значения одинаковы.
Стоит помнить:
- Авторизация может пропасть в любой момент, т.к. время жизни сессии ограничено
{
"error": { "code": 500, "message": "Internal Server Error!" }
}
Возникает в случае непредвиденной внутренней ошибки сервера.
Все 5хх ошибки возвращают статус код 500, хотя в теле ответа будет указан настоящий код.
{
"error": { "code": 412, "message": "Unknown parameters: code, id" }
}
Возникает в случае если передать неизвестный параметр в запросе.
{
"error": { "code": 404, "message": "Title "test" not found!" }
}
Возникает в случае если запрошеный тайтл отсутствует в базе.
и другие...
В случае ошибки HTTP Status дублирует код из error.code (Исключение 5хх ошибки) В случае успешного выполнения запроса будет возвращен HTTP Status: 200
- Версию API можно узнать в заголовке
API-Version
и сравнить ее с версией вашей документации, чтоб узнать актуальна ли документация. - Версии меняются по принципу .. где Major обозначает очень крупные изменения в коде проекта без обратной совместимости, Minor обозначает существенные изменения в API с частичной обратной совместимостью, и Patch исправление различных ошибок, не влияет на совместимость.
- Имеется поддержка версионирования и для продакшен релизов следует указывать минорный патч, дабы при обновлении у вас ничего не сломалось. Таким образом теперь можно использовать либо последнюю версию с последними исправлениями, либо старую минорную со старой схемой которая не будет обновляться и меняться со временем. Например, сейчас можно использовать ссылки следующего формата:
Ссылка на актуальную мажорную версию API - https://api.anilibria.tv/v2/... Ссылка на минорный патч со всеми исправлениями (рекомендуется к использованию в продакшене) - https://api.anilibria.tv/v2.13/... Ссылка на патч (можно не использовать так как ссылка на патч будет вести на актуальный минор) - https://api.anilibria.tv/v2.13.15/...
- Версионирование не работает в вебсокетах, там всегда схема latest билда.
- Полезно использовать фильтры при запросе информации о множестве тайтлов, к примеру: исключив информацию о плеере, вы существенно сэкономите время ответа, если она вам не нужна.
ws(s)://api.anilibria.tv/v3/ws/
или
ws(s)://api.anilibria.tv/v3/webSocket/
ВебСокет каждые 30 секунд отправляет ping пакет, который проверяет соединение.
Основной объект уведомлений имеет следующую структуру:
type string - Тип уведомления.
data object - Объект с данными
При обновлении какой-либо информации о тайтле Веб Сокет отправляет всем клиентам строку в JSON формате:
{
"type": "title_update",
"data": {
"title": {
[Возвращаемые поля идентичны /title]
},
"diff": {
[Те ключи и значения, что были изменены, добавлены или удалены]
}
}
}
title object – Объект, содержащий все поля из /title
diff object – Объект, содержащий информацию о том, какие данные были изменены, добавлены или удалены.
При обновлении плейлиста тайтла, что происходит при добавлении или перезаливе релиза, ВебСокет отправляет всем клиентам строку в формате:
{
"type": "playlist_update",
"data": {
"id": 8700,
"player": {объект плеера},
"updated_episode": {объект плейлиста},
"episode": "2",
"diff": {Те ключи и значения, что были изменены, добавлены или удалены},
"reupload": false
}
}
id int – ID обновленного тайтла.
player object – Объект, содержащий информация о плеере.
updated_episode object - Объект, содержащий все поля из объекта playlist.
episode int – Номер вышедшего или перезалитого релиза.
diff object – Объект, содержащий информацию о том, какие данные были изменены, добавлены или удалены.
reupload bool - Означает, перезалив это или нет.
При начале кодирования серии в плеер, что происходит при добавлении или перезаливе релиза, ВебСокет отправляет всем клиентам строку в формате:
{
"type": "encode_start",
"data": {
"id": "8700",
"episode": "4",
"resolution": "480",
"quality": "sd",
"isReupload": false
}
}
id string – ID обновленного тайтла.
episode string – Номер вышедшего или перезалитого релиза.
resolution string - Разрешение, в котором была скодирована серия.
quality string – Качество, в котором кодируется серия (одно из значений hls).
isReupload bool - Означает, перезалив это или нет.
Когда серия успешно скодирована в определённом качестве, ВебСокет отправляет всем клиентам строку в формате:
{
"type": "encode_end",
"data": {
"id": "8700",
"episode": "4",
"resolution": "480",
"quality": "sd"
}
}
id string – ID обновленного тайтла.
episode string – Номер вышедшего или перезалитого релиза.
resolution string - Разрешение, в котором была скодирована серия.
quality string – Качество, в котором стала доступна серия (одно из значений hls).
На каждые 5% кодирования в определённом качестве, Веб Сокет будет отправлять клиентам строку в формате:
{
"type": "encode_progress",
"data": {
"id": "8700",
"episode": "4",
"resolution": "480",
"quality": "sd",
"encoded_percent": "25"
}
}
id string – ID обновленного тайтла.
episode string – Номер вышедшего или перезалитого релиза.
resolution string - Разрешение, в котором была скодирована серия.
quality string – Качество, в котором кодируется серия (одно из значений hls).
encoded_percent string – процент кодирования.
Когда серия успешно скодирована во всех качествах, ВебСокет отправляет клиентам строку в формате:
{
"type": "encode_finish",
"data": {
"id": "8700",
"episode": "4"
}
}
id string – ID обновленного тайтла.
episode string – Номер вышедшего или перезалитого релиза.
При обновлении информации о торренте, Веб Сокет будет отправлять клиентам строку в формате:
{
"type": "torrent_update",
"data": {
"id": "9215",
"torrents": {
"episodes": {
"first": 1,
"last": 1,
"string": "1-1"
},
"list": [
{
"torrent_id": 19973,
"episodes": {
"first": 1,
"last": 1,
"string": "1"
},
"quality": {
"string": "WEBRip 1080p",
"type": "WEBRip",
"resolution": "1080p",
"encoder": "h264",
"lq_audio": null
},
"leechers": 2,
"seeders": 25,
"downloads": 32,
"total_size": 547428705,
"url": "/public/torrent/download.php?id=19973",
"uploaded_timestamp": 1657158936,
"hash": "51a8800ca1a6486b352227a37da0c5d3dbba59c7",
"metadata": null,
"raw_base64_file": null
},
...
]
},
"updated_torrent_id": 19973,
"diff": {
"list": {
"0": {
"torrent_id": 19972,
"leechers": 4,
"seeders": 18,
"downloads": 23,
"total_size": 547426413,
"url": "/public/torrent/download.php?id=19972",
"uploaded_timestamp": 1657156714,
"hash": "f3d72484bdc41265bd025dbbb24ea8bcb63a1abf"
}
}
},
}
}
id string – ID обновленного тайтла.
torrents object – Информация о торрент файлах.
updated_torrent_id int - ID обновлённого торрента.
diff object – Объект, содержащий информацию о том, какие данные были изменены, добавлены или удалены.
По умолчанию, при подключении, клиент подписывается на все уведомления сразу, но после добавления подписки, вебсокет будет отправлять только те уведомления, которые соответствуют заданым фильтрам.
{
"subscribe": {
"data": {
"title": {
"season": {
"year": 2022
}
}
}
// Тут могут быть любые поля и значения, которые отправляет вебсокет.
}
}
{
"subscribe": "success",
"subscription_id": 0
}
Можно отправить несколько запросов с подпиской, тогда вебсокет будет отправлять уведомление при совпадении с одним из них.
В качестве значения также можно указать *
, что будет соответствовать любому значению указанного поля.
Таким образом, к примеру, можно подписаться на получение уведомлений только о выходе всех серий начиная с 12.
{
"subscribe": {
"data": {
"title": {
"player": {
"playlist": {
"12": *
}
}
}
}
}
}
При добавлении подписки можно указать какие поля вебсокет будет вам отправлять.
Работает это так же, как и при указании фильтров к GET запросам.
Например:
{
"subscribe": {
"data": {
"title": {
"season": {
"year": 2022
}
}
}
},
"filter": "names,season",
"remove": "names.en"
}
Типы для typescript к версии V3 - https://gitlab.com/anilibria/anilibria-types