Метод sports — список видов спорта
Рекомендация: обычно лучше использовать menu
Метод sports возвращает только список доступных видов спорта. Эти же данные уже
находятся на верхнем уровне ответа метода menu.
Для обычной интеграции рекомендуется использовать menu, потому что за один запрос он
возвращает всю структуру:
вид спорта → страна → турнир
Если использовать отдельные методы, ту же структуру придётся получать пошагово:
1. sports → получить виды спорта
2. countries → выбрать страну для нужного вида спорта
3. tournaments → получить турниры выбранной страны
4. events → получить матчи выбранного турнира
Таким образом, перед запросом матчей выбранного турнира потребуются три навигационных
запроса вместо одного запроса menu.
Методы sports, countries и tournaments созданы как дополнительные. Используйте их,
если проекту действительно нужна пошаговая загрузка данных или только один уровень
спортивной структуры. Не используйте их автоматически вместо menu без необходимости.
Когда отдельный метод sports может быть полезен
Метод подходит, если необходимо:
- получить только короткий список видов спорта;
- загрузить страны и турниры позже, после действия пользователя;
- реализовать интерфейс с пошаговой загрузкой разделов;
- выполнить отдельную задачу, для которой страны и турниры не нужны.
Если после списка видов спорта всё равно потребуются страны и турниры, используйте
menu.
Запрос
GET https://YOUR_API_DOMAIN/v1/sports/{type}/{lang}
API-ключ необходимо передавать в HTTP-заголовке:
Package: YOUR_API_KEY
Параметры пути
| Параметр | Тип | Обязательный | Описание |
|---|---|---|---|
type | string | да | Тип спортивной линии: live или line |
lang | string | да | Язык названий. Язык должен поддерживаться API и входить в тариф клиента |
Значения параметра type:
| Значение | Какие данные возвращаются |
|---|---|
live | Виды спорта, для которых сейчас доступны Live-матчи |
line | Виды спорта, для которых доступны предстоящие Prematch-матчи |
Необязательный query-параметр
| Параметр | Тип | Значение по умолчанию | Описание |
|---|---|---|---|
cybersport | boolean | false | Переключает метод на список видов киберспорта |
Пример запроса киберспортивных данных:
GET https://YOUR_API_DOMAIN/v1/sports/live/ru?cybersport=true
Сохранённые в этой документации полные ответы получены без query-параметров, то есть
при cybersport=false.
Пример запроса Live
curl --request GET \
--url 'https://YOUR_API_DOMAIN/v1/sports/live/ru' \
--header 'Package: YOUR_API_KEY'
Пример запроса Prematch
curl --request GET \
--url 'https://YOUR_API_DOMAIN/v1/sports/line/ru' \
--header 'Package: YOUR_API_KEY'
Сокращённый пример ответа Live
Ниже показан фрагмент реального ответа. Значения сохранены без изменений, но массив
body сокращён до трёх видов спорта.
{
"status": 1,
"page": "/v1/sports",
"body": [
{
"id": 1,
"name": "Футбол",
"counter": 48
},
{
"id": 2,
"name": "Хоккей",
"counter": 16
},
{
"id": 3,
"name": "Баскетбол",
"counter": 22
}
]
}
Сокращённый пример ответа Prematch
Этот фрагмент также взят из реального ответа. Массив body сокращён.
{
"status": 1,
"page": "/v1/sports",
"body": [
{
"id": 1,
"name": "Футбол",
"counter": 2568
},
{
"id": 2,
"name": "Хоккей",
"counter": 168
},
{
"id": 3,
"name": "Баскетбол",
"counter": 103
}
]
}
Значения counter показывают состояние линии только в момент получения ответа и
постоянно изменяются.
Поля ответа
Верхний уровень
| Поле | Тип | Описание |
|---|---|---|
status | number | Статус выполнения запроса. В успешном ответе возвращается 1 |
page | string | Название метода. Для sports возвращается /v1/sports |
body | array | Массив доступных видов спорта |
Объект вида спорта
| Поле | Тип | Описание |
|---|---|---|
id | number | ID вида спорта. Используется как sportId в других методах |
name | string | Название вида спорта на языке, указанном в lang |
counter | number | Количество доступных матчей этого вида спорта |
Готовые иконки видов спорта
Для каждого вида спорта можно использовать стандартную иконку SportAPI. Возьмите
значение поля id из ответа и подставьте его вместо {sportId}:
https://cdn.sportapi.net/sports/v1/color/{sportId}.webp
Например, для вида спорта с id: 1:
https://cdn.sportapi.net/sports/v1/color/1.webp
Связь с методом menu
Объекты из массива body метода sports имеют те же поля, что и объекты видов спорта
на верхнем уровне body метода menu:
| Поле | sports | menu |
|---|---|---|
id | да | да |
name | да | да |
counter | да | да |
sub со странами и турнирами | нет | да |
Список и счётчики относятся к состоянию линии на момент запроса. Если вызвать sports
и menu в разное время, значения counter и состав доступных видов спорта могут уже
измениться.
Что делать с полученным id
После выбора вида спорта возьмите его поле id. В следующих URL этот идентификатор
обозначается как sportId.
При пошаговой схеме его нужно передать в метод countries, чтобы получить страны
выбранного вида спорта. Затем потребуется метод tournaments, и только после выбора
турнира можно запросить его матчи через events.
Если использовать menu, идентификаторы спорта, страны и турнира уже будут находиться
в одном ответе.
Не используйте заранее записанный sportId, не проверив текущий ответ sports или
menu. Метод возвращает только виды спорта, в которых сейчас есть доступные матчи. Если
завершился или исчез единственный матч определённого спорта, этот спорт не вернётся при
следующем запросе для соответствующего типа live или line.
При пошаговой навигации передавайте в countries только sportId, полученный из
актуального ответа sports.
Снимок сохранённых ответов
| Тип линии | Русский ответ | Английский ответ |
|---|---|---|
| Live | 22 вида спорта | 22 вида спорта |
Prematch (line) | 32 вида спорта | 32 вида спорта |
Это статистика конкретных ответов от 21 августа 2026 года, а не постоянный состав API.
Полные ответы без сокращений:
Файлы содержат только тело ответа API. API-ключ в них не сохраняется.
Частота обновления
Рекомендуется запрашивать sports:
- Live — не чаще одного раза в 60 секунд;
- Prematch (
line) — не чаще одного раза в 120 секунд.
Подробнее: «Рекомендации по обновлению данных».
Ошибки ключа, тарифа и параметров описаны в документе «Обработка ошибок».