Подборки¶
Подборка — именованный список тайтлов в заданном редактором порядке.
GET /collections¶
Перечисляет доступные подборки.
Параметры¶
| имя | тип | обязательный | по умолчанию | описание |
|---|---|---|---|---|
limit |
целое | нет | 50 | размер страницы, максимум 50 |
offset |
целое | нет | 0 | смещение |
Запрос¶
Ответ¶
{
"has_more": false,
"items": [
{
"slug": "series-best250",
"name": "Топ-250 сериалов",
"description": "Топ-250 сериалов Кинопоиска",
"poster_url": "https://api.kinodata.space/uploads/843590034d274b077b035816bb0e7d8e2f15d88755bfe970e45ea0a2372fb365.png",
"language": "ru",
"items_count": 250,
"created_at": "2026-06-24T09:41:15.177186Z",
"updated_at": "2026-09-12T12:01:05.473757Z"
},
{
"slug": "all-popular1000",
"name": "Топ-1000 популярных тайтлов",
"description": "Популярные тайтлы Кинопоиска",
"poster_url": "https://api.kinodata.space/uploads/34686cdc02b2a6e8c2cb387020c4497f5f16d246c3380550e899669f79ad7b97.png",
"language": "ru",
"items_count": 1000,
"created_at": "2026-06-23T19:02:47.25172Z",
"updated_at": "2026-09-12T11:53:43.661448Z"
}
],
"limit": 50,
"offset": 0,
"total": 5
}
Ошибки¶
| статус | код | когда |
|---|---|---|
400 |
invalid_request |
нечисловой limit или offset |
401 |
unauthorized |
ключ отсутствует или недействителен |
Примечания¶
slug — то, что подставляется в путь подборки. Имя и описание меняются,
slug — нет.
items_count считает тайтлы, готовые к отдаче, — ровно те, по которым потом
страницует эндпоинт подборки, так что число совпадает с её total.
updated_at обновляется при каждом пересборе состава: подборки вроде «В тренде
за день» переписываются ежедневно.
GET /collections/{slug}¶
Отдаёт подборку и её тайтлы.
Параметры¶
| имя | тип | обязательный | по умолчанию | описание |
|---|---|---|---|---|
slug |
путь | да | — | идентификатор подборки из списка |
sort |
строка | нет | порядок редактора | ключ со знаком, как в каталоге |
lang |
строка | нет | ru |
язык производного title |
fields |
CSV | нет | вся карточка | выбор ключей; доступны ord и note |
limit |
целое | нет | 50 | размер страницы, максимум 50 |
offset |
целое | нет | 0 | смещение |
Плюс вся фильтрация каталога: ?kind=, ?genre=, ?year.gte=, ?q=.
Запрос¶
curl -H "X-API-Key: $KINODATA_KEY" \
"https://api.kinodata.space/v1.2/collections/all-popular1000?kind=series&sort=-rating_imdb&limit=1"
Ответ¶
{
"collection": {
"slug": "all-popular1000",
"name": "Топ-1000 популярных тайтлов",
"description": "Популярные тайтлы Кинопоиска",
"poster_url": "https://api.kinodata.space/uploads/34686cdc02b2a6e8c2cb387020c4497f5f16d246c3380550e899669f79ad7b97.png",
"language": "ru",
"items_count": 1000,
"created_at": "2026-06-23T19:02:47.25172Z",
"updated_at": "2026-09-12T11:53:43.661448Z"
},
"has_more": true,
"items": [
{
"imdb_id": "tt0903747",
"kp_id": "404900",
"tmdb_id": null,
"tmdb_tv_id": "1396",
"title_ru": "Во все тяжкие",
"title_en": "Breaking Bad",
"title_original": "Breaking Bad",
"year": 2008,
"release_date": "2008-01-20",
"kind": "series",
"poster_kp": "https://avatars.mds.yandex.net/get-kinopoisk-image/1900788/fb35416f-3b0d-4b96-bc65-cf6923f9e329/600x900",
"poster_tmdb": "https://image.tmdb.org/t/p/original/gwB6E7Zi5L3J9WA2y0zLeKuc3ul.jpg",
"poster_imdb": null,
"rating_kp": 8.9,
"rating_tmdb": 8.9,
"rating_imdb": 9.5,
"votes_kp": 856364,
"votes_tmdb": 18589,
"votes_imdb": 2673881,
"countries": [ { "code": "us", "name_ru": "США", "name_en": "United States" } ],
"genres": ["crime", "drama", "thriller"],
"rating_kr": 9.0,
"rating_letterboxd": null,
"kinorium_id": "400796",
"title": "Во все тяжкие",
"poster_url": "https://avatars.mds.yandex.net/get-kinopoisk-image/1900788/fb35416f-3b0d-4b96-bc65-cf6923f9e329/600x900",
"ord": 90,
"note": null
}
],
"limit": 1,
"offset": 0,
"total": null
}
Ошибки¶
| статус | код | когда |
|---|---|---|
400 |
invalid_request |
неизвестное значение фильтра, ключа сортировки или lang |
401 |
unauthorized |
ключ отсутствует или недействителен |
404 |
not_found |
подборки с таким slug нет |
Примечания¶
Без параметров тайтлы приходят в порядке редактора, а ord показывает место в
нём. Как только появляется фильтр, ?q= или ?sort=, состав подборки
становится областью поиска, и работает вся грамматика каталога — при этом ord
остаётся при карточке, так что «90-е место из 1000» видно и в отфильтрованной
выдаче.
note — комментарий редактора к конкретному тайтлу, чаще всего null.
total приходит числом, пока выдача — вся подборка целиком, и null, когда её
сузил фильтр: точное число тогда требует отдельного подсчёта. Размер подборки
в любом случае лежит рядом — в collection.items_count.
Хотите только порядок и названия — ?fields=title,ord отдаёт две колонки
вместо целой карточки.