⚠️ Внимание:После выхода версии v2.13.0 поддержка всех предыдущих версий API до v2.12.0 была прекращена!
В связи с переходом на новый бэкэнд сайта с существенными изменениями в архитектуре проекта.
http(s)://api.anilibria.tv/v2/
- getTitle – Получить информацию о тайтле
- getTitles – Получить информацию о нескольких тайтлах сразу
- getUpdates – Список тайтлов, отсортированные по времени добавления нового релиза
- getChanges – Список тайтлов, отсортированные по времени изменения
- getSchedule – Расписание выхода тайтлов, отсортированное по дням недели
- getRandomTitle – Возвращает случайный тайтл из базы
- getYouTube – Информация о вышедших роликах на наших YouTube каналах в хронологическом порядке
- getFeed – Список обновлений тайтлов и роликов на наших YouTube каналах в хронологическом порядке
- getYears – Возвращает список годов выхода доступных тайтлов по возрастанию
- getGenres – Возвращает список всех жанров по алфавиту
- getCachingNodes – Возвращает список кеш серверов, с которых можно брать данные
- getTeam – Возвращает список участников команды, когда-либо существовавших на проекте.
- getSeedStats – Возвращает список пользователей и их статистику на трекере.
- getRSS – Возвращает список обновлений на сайте в одном из форматов RSS ленты
- searchTitles – Возвращает список найденных по фильтрам тайтлов
- advancedSearch – Поиск информации по продвинутым фильтрам с поддержкой сортировки
- getFavorites – Возвращает список избранных тайтлов пользователя
- addFavorite – Добавляет тайтл в список избранных
- delFavorite – Удаляет тайтл из списка избранных
Получить информацию о тайтле по id или коду
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
/v2/getTitle?id=8500&filter=posters,type,status,player.playlist.24
/v2/getTitle?code=nanatsu-no-taizai-kamigami-no-gekirin
{
"id": 8500,
"code": "nanatsu-no-taizai-kamigami-no-gekirin",
"names": {
"ru": "Семь смертных грехов: Гнев богов ТВ-3",
"en": "Nanatsu no Taizai: Kamigami no Gekirin TV-3",
"alternative": null
},
"announce": "В 24 серии замена войсера. В течение недели будет исправление.",
"status": {
"string": "Завершен",
"code": 2
},
"posters": {
"small": {
"url": "/storage/releases/posters/8500/W4Q1mG49XVQnOUnc.jpg",
"raw_base64_file": null
},
"medium": {
"url": "/storage/releases/posters/8500/W4Q1mG49XVQnOUnc.jpg",
"raw_base64_file": null
},
"original": {
"url": "/storage/releases/posters/8500/W4Q1mG49XVQnOUnc.jpg",
"raw_base64_file": null
}
},
"updated": 1585249972,
"last_change": 1642539074,
"type": {
"full_string": "ТВ (24 эп.), 25 мин.",
"code": 1,
"string": "TV",
"series": 24,
"length": 25
},
"genres": [
"Магия",
"Приключения",
"Сверхъестественное",
"Сёнен",
"Экшен"
],
"team": {
"voice": [
"Anzen",
"Cleo-chan",
"Hekomi",
"Kari",
"Sharon"
],
"translator": [
"Anku"
],
"editing": [
"mutagenb"
],
"decor": [],
"timing": [
"Alkhorus"
]
},
"season": {
"string": "осень",
"code": 4,
"year": 2019,
"week_day": 4
},
"description": "Продолжение аниме «Семь смертных грехов» расскажет нам о том, как Грехи продолжают противостояние с Десятью Заповедями. Мелиодасу и Элизабет предстоит вновь испытать свою судьбу в новых приключениях и сражениях, а также открыть секрет этого мира.",
"in_favorites": 10333,
"blocked": {
"blocked": false,
"bakanim": false
},
"player": {
"alternative_player": "//kodik.info/serial/19248/803944eb832adacd4d4bec7d4221f941/720p?translations=false",
"host": "de4.libria.fun",
"series": {
"first": 1,
"last": 24,
"string": "1-24"
},
"playlist": {
"1": {
"serie": 1,
"created_timestamp": 1570809272,
"preview": null,
"skips": {
"opening": [],
"ending": []
},
"hls": {
"fhd": "/videos/media/ts/8500/1/1080/6a6fc29f9428b2dcc8ce74ad21bb1cca.m3u8",
"hd": "/videos/media/ts/8500/1/720/8e5d9ba9e79d80ca6b6db6e6e375b4bb.m3u8",
"sd": "/videos/media/ts/8500/1/480/93048587fb765c9f2077ca7adad9457e.m3u8"
}
},
...
},
"torrents": {
"series": {
"first": 1,
"last": 24,
"string": "1-24"
},
"list": [
{
"torrent_id": 10725,
"series": {
"first": 1,
"last": 24,
"string": "1-24"
},
"quality": {
"string": "WEBRip 1080p",
"type": "WEBRip",
"resolution": "1080p",
"encoder": "h264",
"lq_audio": null
},
"leechers": 1,
"seeders": 17,
"downloads": 10692,
"total_size": 35521275317,
"url": "/public/torrent/download.php?id=10725",
"uploaded_timestamp": 1590483840,
"hash": "e45884bf43636bf61512a6c5eb1b7b9b0e84a925",
"metadata": null,
"raw_base64_file": null
},
...
]
}
}
Получить информацию о тайтле по id или коду
GET /v2/getTitles
Параметр | Тип | Описание | По умолчанию |
---|---|---|---|
id_list | string, ... | Список ID тайтлов | |
code_list | string, ... | Список кодов тайтла | |
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
/v2/getTitles?id_list=8500,8644&filter=posters,type,status,player.playlist.24
/v2/getTitles?code_list=nanatsu-no-taizai-kamigami-no-gekirin
[
[Возвращаемые поля идентичны /getTitle],
...
]
Получить список последних обновлений тайтлов
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 записей из выдачи |
В параметрах filter
и remove
можно указать полный путь до ключа, который вы хотите оставить или удалить, например: names.alternative
или team.voice[0]
. С версии 2.8 появилась возможность получать значения одного ключа во всех объектах в массиве, например: torrents.list[*].torrent_id
/api/v2/getUpdates?filter=posters,type,status&limit=5
/api/v2/getUpdates?since=1590233417
[
[Возвращаемые поля идентичны /getTitle],
...
]
Получить список последних обновлений тайтлов
GET /v2/getChanges
Параметр | Тип | Описание | По умолчанию |
---|---|---|---|
filter | string, ... | Список значений, которые будут в ответе | |
remove | string, ... | Список значений, которые будут удалены из ответа | |
include | string, ... | Список типов файлов, которые будут возвращены в виде base64 строки подробнее | |
limit | int | Количество объектов в ответе | 5 |
since | int | Список тайтлов, у которых время обновления больше указанного timestamp | |
description_type | string | Тип получаемого описания, подробнее | plain |
after | int | Удаляет первые n записей из выдачи |
В параметрах filter
и remove
можно указать полный путь до ключа, который вы хотите оставить или удалить, например: names.alternative
или team.voice[0]
. С версии 2.8 появилась возможность получать значения одного ключа во всех объектах в массиве, например: torrents.list[*].torrent_id
/v2/getChanges?filter=posters,type,status&limit=5
/v2/getChanges?since=1590233417
[
[Возвращаемые поля идентичны /getTitle],
...
]
Получить список последних обновлений тайтлов
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 - Воскресенье.
/v2/getSchedule?filter=posters,type,status
/v2/getSchedule?days=5,6
[
{
"day": 5,
"list": [
[Возвращаемые поля идентичны /getTitle],
...
]
},{
"day": 6,
"list": [
[Возвращаемые поля идентичны /getTitle],
...
]
}
]
Список кеш серверов с которых можно брать данные отсортированные по нагрузке Севера сортируются в реальном времени, по этому рекомендуется для каждого сервера использовать один из самых верхних серверов.
GET /v2/getCachingNodes
/v2/getCachingNodes
[
"de3.libria.fun",
"de2.libria.fun",
"de8.libria.fun",
"de1.libria.fun",
"de6.libria.fun"
]
Возвращает случайный тайтл из базы
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
/v2/getRandomTitle
{
[Возвращаемые поля идентичны /getTitle],
}
Информация о вышедших роликах на наших YouTube каналах в хронологическом порядке
GET /v2/getYouTube
Параметр | Тип | Описание | По умолчанию |
---|---|---|---|
filter | string, ... | Список значений, которые будут в ответе | |
remove | string, ... | Список значений, которые будут удалены из ответа | |
limit | int | Количество объектов в ответе | 5 |
since | int | Список видеороликов, у которых время обновления больше указанного timestamp | |
after | int | Удаляет первые n записей из выдачи |
В параметрах filter
и remove
можно указать полный путь до ключа, который вы хотите оставить или удалить, например: names.alternative
или team.voice[0]
. С версии 2.8 появилась возможность получать значения одного ключа во всех объектах в массиве, например: torrents.list[*].torrent_id
/v2/getYouTube?limit=10
[
{
"id": 10861,
"title": "АНИМЕ Своя игра с АниЛибрией (Люпин, Шарон, Зозя, Сахарочек, Рокетту, Никанор47)",
"image": "https://img.youtube.com/vi/rvhfqzXXZaU/0.jpg",
"youtube_id": "rvhfqzXXZaU",
"comments": 29,
"views": 7911,
"timestamp": 1656844874
},
...
}
Список обновлений тайтлов и роликов на наших YouTube каналах в хронологическом порядке
GET /v2/getFeed?filter=
Параметр | Тип | Описание | По умолчанию |
---|---|---|---|
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 записей из выдачи |
В параметрах filter
и remove
можно указать полный путь до ключа, который вы хотите оставить или удалить, например: names.alternative
или team.voice[0]
. С версии 2.8 появилась возможность получать значения одного ключа во всех объектах в массиве, например: torrents.list[*].torrent_id
/v2/getFeed?limit=10
[
{
"youtube": {
[Возвращаемые поля идентичны /getYouTube]
}
},
{
"youtube": {
[Возвращаемые поля идентичны /getYouTube]
}
},
{
"title": {
[Возвращаемые поля идентичны /getTitle]
}
},
...
]
Возвращает список годов выхода доступных тайтлов отсортированный по возрастанию
GET /v2/getYears
/v2/getYears
[
1996,
1998,
2001,
2003,
...
]
Возвращает список жанров доступных тайтлов отсортированный по алфавиту
GET /v2/getGenres
Параметр | Тип | Описание | По умолчанию |
---|---|---|---|
sorting_type | int | Тип сортировки элементов | 0 |
0 - Сортировка по алфавиту |
|||
1 - Сортировка по рейтингу |
/v2/getGenres
[
"боевые искусства",
"вампиры",
"демоны",
...
]
Возвращает список найденных по фильтрам тайтлов
GET /v2/searchTitles
Параметр | Тип | Описание | По умолчанию |
---|---|---|---|
search | string, ... | Поиск по именам и описанию | |
year | string, ... | Список годов выхода | |
season_code | string, ... | Список сезонов, подробнее | |
genres | 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 записей из выдачи |
/v2/searchTitles?search=cудьба апокреф&voice=Amikiri,Silv,Hekomi&filter=id,names,team,genres[0]&limit=10
Поиск идет по неточному совпадению, так что опечатки допустимы.
{
[Возвращаемые поля идентичны /getTitle]
}
Возвращает список найденных по фильтрам тайтлов
GET /v2/advancedSearch
Параметр | Тип | Описание | По умолчанию |
---|---|---|---|
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 |
/v2/advancedSearch?query={season.code} == 1 and {season.year} == 2020&filter=id,names,in_favorites&order_by=in_favorites&sort_direction=0
{
[Возвращаемые поля идентичны /getTitle]
}
Возвращает список участников команды когда-либо существовавших на проекте.
GET /v2/getTeam
/v2/getTeam
{
"team": {
"voice": [...],
"translator": [...],
"editing": [...],
"decor": [...],
"timing": [...]
}
}
Возвращает топ пользователей по количеству загруженного и скачанного через наш торрент трекер.
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 |
/v2/getSeedStats?users=T1MOX4
[
{
"downloaded": 72110162198,
"uploaded": 1163165762554,
"user": "T1MOX4"
}
]
Возвращает список обновлений на сайте в одном из форматов RSS ленты
GET /v2/getRSS
Параметр | Тип | Описание | По умолчанию |
---|---|---|---|
rss_type | string | Предпочитаемый формат вывода | rss |
session | string | Уникальный идентификатор сессии пользователя | |
limit | int | Количество объектов в ответе | 10 |
since | int | Список тайтлов, у которых время обновления больше указанного timestamp | |
after | int | Удаляет первые n записей из выдачи |
- Если указан верный параметр session, то загрузка торрентов будет происходить от имени вашего аккаунта, и вам будет начисляться статистика.
- В случае если ключ указан неверно торрент клинт будет возвращать ошибку о неправильном формате торрента.
/v2/getRSS?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 /v2/getFavorites
Параметр | Тип | Описание | Обязательный |
---|---|---|---|
session | string | Уникальный идентификатор сессии пользователя | + |
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
/v2/getFavorites?session=qwertyqwertyqwerty1234567890
[
[Возвращаемые поля идентичны /getTitle],
...
]
Добавить тайтл в список избранных
PUT /v2/addFavorite
Параметр | Тип | Описание | Обязательный |
---|---|---|---|
session | string | Уникальный идентификатор сессии пользователя | + |
title_id | int | ID тайтла который вы хотите добавить | + |
/v2/addFavorite?session=qwertyqwertyqwerty1234567890&title_id=8500
{
"success": true
}
Удалить тайтл из списка избранных
DELETE /v2/delFavorite
Параметр | Тип | Описание | Обязательный |
---|---|---|---|
session | string | Уникальный идентификатор сессии пользователя | + |
title_id | int | ID тайтла который вы хотите удалить | + |
/v2/delFavorite?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 формате
blocked object – Информация о блокировках тайтла
player object – Информация о сериях в плеере
torrents object – Информация о торрент файлах
id int – ID записи в базе
title string – Название видео ролика
image string – Ссылка на превью к ролику
youtube_id string – ID видео на YouTube (Легко форматируется в https://youtu.be/{youtube_id})
timestamp int – Timestamp времени добавления в базу
comments int - Количество комментариев у ролика
views int - Количество просмотров у ролика
В случае отсутствия какой-то информации значения поля будет
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 – Тип тайтла в виде строки
series 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 - Осень
blocked bool – Тайтл заблокирован на территории РФ.
bakanim bool – Тайтл заблокирован из-за жалобы Wakanim.
alternative_player string – Ссылка на альтернативный плеер.
host object – Имена предпочитаемых серверов для построения ссылок на поток и скачивание.
playlist object – Список релизов тайтла со ссылками на просмотр и загрузку.
series object – Количество вышедших в плеере серий
hls string – Ссылка без домена на альтернативный плеер
Эти имена служат для того, чтобы использовать их как часть ссылки к файлу. Например:http://de3.libria.fun/videos/ts/8500/0001/playlist.m3u8
позволит скачать указанный файл с сервера.
serie int – Номер серии
created_timestamp int – Время создания/изменения плейлиста в формате unix timestamp
preview str - Ссылка без домена на превью серии
skips array[int] - Массив чисел с временем для пропуска опенинга и эндинга
hls object – Объект, содержащий ссылки на потоковое воспроизведение в разном качестве
fhd string – Ссылка без домена на потоковое воспроизведение в Full-HD качестве
hd string – Ссылка без домена на потоковое воспроизведение в HD качестве
sd string – Ссылка без домена на потоковое воспроизведение в SD качестве
series object – Серии содержащиеся в файле
list array[object] – Массив объектов с информацией о торрент файлах
Содержит массив объектов с информацией о торрент файлах.
torrent_id int – ID торрент файла
series object – Серии содержащиеся в файле
quality object – Информации о разрешении, кодировщике и типе релиза
leechers int – Количество личеров (личей)
seeders int – Количество сидеров (сидов)
downloads int – Количество загрузок файла
total_size int – Размер файлов в торренте в байтах
url 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 – Размер файла в байтах
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 |
Ключи объектов должны быть закрыты в фигурные скобки, например {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 |
Логическое НЕ |
x ? y : 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 числа вверх |
floor(x) |
Округление float числа вниз |
log(x) |
Натуральный логарифм |
max(a, b, c...) |
Максимальное число из указанных (число аргументов может быть любым) |
min(a, b, c...) |
Минимальное число из указанных (число аргументов может быть любым) |
random() |
Случайное float значение от 0.0 до 1.0 |
round(x) |
Простое округление float |
sqrt(x) |
Квадратный корень |
len(x) |
Длина массива или строки |
randomInt(min, max) |
Случайное число в указанном диапазоне |
Для получения ключа, нужно отправить 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 исправление различных ошибок, не влияет на совместимость.
- С версии 2.6.2. появилась поддержка старых версий api и был расширен функционал версионирования. Таким образом теперь можно использовать либо последнюю версию с последними исправлениями, либо старую минорную со старой схемой которая не будет обновляться и меняться со временем. Например, сейчас можно использовать ссылки следующего формата:
Ссылка на актуальную мажорную версию API - https://api.anilibria.tv/v2/... Ссылка на минорный патч со всеми исправлениями - https://api.anilibria.tv/v2.13/... Ссылка на патч - https://api.anilibria.tv/v2.13.15/...
- Полезно использовать фильтры при запросе информации о множестве тайтлов, к примеру: исключив информацию о плеере, вы существенно сэкономите время ответа, если она вам не нужна.
ws(s)://api.anilibria.tv/v2/ws/
или
ws(s)://api.anilibria.tv/v2/webSocket/
ВебСокет каждые 30 секунд отправляет ping пакет, который проверяет соединение.
При обновлении какой-либо информации о тайтле Веб Сокет отправляет всем клиентам строку в JSON формате:
{
"type": "title_update",
"title_update": {
"hash": "c3499c2729730a7f807efb8676a92dcb6f8a3f8f",
"title": {
[Возвращаемые поля идентичны /getTitle]
},
"diff": {
[Те ключи и значения, что были изменены, добавлены или удалены]
}
}
}
type string - Тип уведомления.
hash string – Хеш уведомления, для проверки уникальности уведомления
title object – Объект, содержащий все поля из /getTitle
diff object – Объект, содержащий информацию о том, какие данные были изменены, добавлены или удалены.
При обновлении плейлиста тайтла, что происходит при добавлении или перезаливе релиза, ВебСокет отправляет всем клиентам строку в формате:
{
"type": "playlist_update",
"playlist_update": {
"id": 8700,
"player": {объект плеера},
"updated_episode": {объект плейлиста},
"episode": "2",
"diff": {Те ключи и значения, что были изменены, добавлены или удалены},
"reupload": false
}
}
type string - Тип уведомления.
id int – ID обновленного тайтла.
player object – Объект, содержащий информация о плеере.
updated_episode object - Объект, содержащий все поля из объекта playlist.
episode int – Номер вышедшего или перезалитого релиза.
diff object – Объект, содержащий информацию о том, какие данные были изменены, добавлены или удалены.
reupload bool - Означает, перезалив это или нет.
При начале кодирования серии в плеер, что происходит при добавлении или перезаливе релиза, ВебСокет отправляет всем клиентам строку в формате:
{
"type": "encode_start",
"encode_start": {
"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",
"encode_end": {
"id": "8700",
"episode": "4",
"resolution": "480",
"quality": "sd"
}
}
id string – ID обновленного тайтла.
episode string – Номер вышедшего или перезалитого релиза.
resolution string - Разрешение, в котором была скодирована серия.
quality string – Качество, в котором стала доступна серия (одно из значений hls).
На каждые 5% кодирования в определённом качестве, Веб Сокет будет отправлять клиентам строку в формате:
{
"type": "encode_progress",
"encode_progress": {
"id": "8700",
"episode": "4",
"resolution": "480",
"quality": "sd",
"encoded_percent": "25"
}
}
id string – ID обновленного тайтла.
episode string – Номер вышедшего или перезалитого релиза.
resolution string - Разрешение, в котором была скодирована серия.
quality string – Качество, в котором кодируется серия (одно из значений hls).
encoded_percent string – процент кодирования.
Когда серия успешно скодирована во всех качествах, ВебСокет отправляет клиентам строку в формате:
{
"id": "8700",
"episode": "4"
}
id string – ID обновленного тайтла.
episode string – Номер вышедшего или перезалитого релиза.
При обновлении информации о торренте, Веб Сокет будет отправлять клиентам строку в формате:
{
"type": "torrent_update",
"torrent_update": {
"id": "9215",
"torrents": {
"series": {
"first": 1,
"last": 1,
"string": "1-1"
},
"list": [
{
"torrent_id": 19973,
"series": {
"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"
}
}
},
"hash": "81f7dbc27a1a445105b90c3096e3168008f2886e"
}
}
id string – ID обновленного тайтла.
torrents object – Информация о торрент файлах.
updated_torrent_id int - ID обновлённого торрента.
diff object – Объект, содержащий информацию о том, какие данные были изменены, добавлены или удалены.
hash string – Хеш уведомления, для проверки уникальности уведомления.
По умолчанию, при подключении, клиент подписывается на все уведомления сразу, но после добавления подписки, вебсокет будет отправлять только те уведомления, которые соответствуют заданым фильтрам.
{
"subscribe": {
"title_update": {
"title": {
"season": {
"year": 2022
}
}
}
// Тут могут быть любые поля и значения, которые отправляет вебсокет.
}
}
{
"subscribe": "success",
"subscription_id": 0
}
Можно отправить несколько запросов с подпиской, тогда вебсокет будет отправлять уведомление при совпадении с одним из них.
В качестве значения также можно указать *
, что будет соответствовать любому значению указанного поля.
Таким образом, к примеру, можно подписаться на получение уведомлений только о выходе всех серий начиная с 12.
{
"subscribe": {
"title_update": {
"title": {
"player": {
"playlist": {
"12": *
}
}
}
}
}
}
При добавлении подписки можно указать какие поля вебсокет будет вам отправлять.
Работает это так же, как и при указании фильтров к GET запросам.
Например:
{
"subscribe": {
"title_update": {
"title": {
"season": {
"year": 2022
}
}
}
},
"filter": "names,season",
"remove": "names.en"
}