Каталог и поиск
GET/v1.3/titles
Поиск тайтлов по названию и выборка по фильтрам из всей базы.
Главный список API: поиск, витрины и выборки по любым признакам. Фильтры, сортировка и пресеты подробно разобраны в Фильтры и сортировка, пагинация и fields — в Списки и пагинация.
Без sort каталог идёт по популярности, тайтлы без голосов — в конце. К сортировке по оценке добавляйте порог голосов: оценку ставят и несколько человек.
Параметры запроса
qstringПоиск по названию на любом языке. Прощает опечатки: «матрца» и «matrx» найдут «Матрицу». С
qсортировка по умолчанию — по релевантности.Пример:q=матрицафильтрыЛюбой фильтр каталога с операторами
.any,.all,.not,.gte,.lte:kind=anime,country=jp,year.gte=1990,votes_imdb.gte=50000,person=kp:41477. Полный список — в Фильтры и сортировка.sortstringПорядок: ключ со знаком,
-— по убыванию,+— по возрастанию. Можно два ключа через запятую:sort=-rating_imdb,+year. По умолчанию — по популярности, а сq— по релевантности.popularityrelevancerelease_dateyearruntimeratingrating_imdbrating_kprating_tmdbrating_krrating_letterboxdrating_rtrating_metacriticrating_criticsvotes_imdbvotes_kpvotes_tmdbvotes_krvotes_letterboxdvotes_totalrating_weighteddivergencebudgetbox_office_usrevenue_worldwins_imdboscars_wonrandomПо умолчанию:
Пример:popularity, сq—relevancesort=-rating_imdbpresetenumГотовый набор фильтров. Явные параметры его уточняют. Что внутри каждого — в Фильтры и сортировка.
tophidden_gemstrendingnewclassicsПример:preset=toplimitintegerСколько тайтлов на странице, от 1 до 50.
По умолчанию:50
Пример:limit=20offsetintegerСколько тайтлов пропустить от начала.
По умолчанию:0
cursorstringКурсор для глубокой прокрутки. Первый запрос — с пустым
cursor=, дальше — значениеnext_cursorиз ответа. Не работает сsort=random. Есть только у каталога.fieldscsvКакие поля элемента вернуть:
fields=title,year. Со знаком-— какие убрать:fields=-genres.titleоставляетtitle_ruиtitle_en,poster_url—poster_url_ruиposter_url_en. ID приходят всегда.titletitle_originalyearrelease_datekindposter_urlposters_by_sourcerating_kprating_tmdbrating_imdbrating_krrating_letterboxdvotes_kpvotes_tmdbvotes_imdbcountriesgenresПример:fields=title,yearlangru | enОставить в ответе один язык.
Поля ответа
itemsarrayТайтлы.
Показать 24 поля
imdb_id · kp_id · tmdb_id · tmdb_tv_id · kinorium_idstring | nullID тайтла в каталогах. Приходят всегда, даже с
fields.title_ru · title_en · title_originalstring | nullНазвания: на русском, на английском и на языке оригинала.
yearinteger | nullГод выхода.
release_datestring | nullПервая дата выхода,
YYYY-MM-DD.kindenumВид тайтла:
movie,series,mini_series,tv_show,anime,cartoon,short.poster_url_ru · poster_url_enstring | nullПостер для русской и английской витрины.
posters_by_sourceobjectПостер каждого источника:
kp,tmdb,imdb,kinorium.rating_kp · rating_tmdb · rating_imdb · rating_kr · rating_letterboxdnumber | nullОценки Кинопоиска, TMDB, IMDb, Кинориума и Letterboxd, шкала 0–10.
votes_kp · votes_tmdb · votes_imdbinteger | nullГолоса Кинопоиска, TMDB и IMDb.
countriesarrayСтраны:
code,name_ru,name_en.genresarrayЖанры:
slug,name_ru,name_en.
totalnullКаталог не считает общее число тайтлов: точный подсчёт по фильтру — второй проход по всей базе. Листайте по
has_more.limit · offsetintegerРазмер страницы и смещение.
offsetнет, когда вы листаете курсором.has_morebooleanЕсть ли следующая страница.
next_cursorstring | nullКурсор следующей страницы, только если в запросе был
cursor.null— дальше ничего нет.
Ошибки
| статус | код | когда |
|---|---|---|
| 400 | invalid_request | Неизвестный фильтр, оператор, ключ |
| 401 | unauthorized | Нет заголовка |
| 429 | rate_limited | Исчерпан предел в секунду или квота на сутки. |
Все коды и что с ними делать — на странице Ошибки.