SportAPI Документация
RU
S Документация продуктаSport Line API
v1
Услуга и цены ↗ Получить доступ ↗
Sport Line API / TOURNAMENTS — список турниров

Метод tournaments — список турниров и чемпионатов

Рекомендация: обычно лучше использовать menu

Метод tournaments возвращает турниры только для одного вида спорта и одной страны. Эти же турниры уже находятся внутри ответа метода menu.

Для обычной интеграции рекомендуется использовать menu, потому что за один запрос он возвращает всю структуру:

вид спорта → страна → турнир

При пошаговой загрузке потребуются отдельные запросы:

1. sports → получить sportId
2. countries → получить countryId
3. tournaments → получить tournamentId
4. events → получить матчи турнира

Метод tournaments является дополнительным. Используйте его, если турниры должны загружаться только после выбора вида спорта и страны. Если проекту сразу нужна полная спортивная структура, используйте menu.

Запрос

GET https://YOUR_API_DOMAIN/v1/tournaments/{sportId}/{countryId}/{type}/{lang}

API-ключ необходимо передавать в HTTP-заголовке:

Package: YOUR_API_KEY

Параметры пути

ПараметрТипОбязательныйОписание
sportIdnumberдаID вида спорта, полученный из sports или menu
countryIdnumberдаID страны, полученный из countries или menu
typestringдаТип спортивной линии: live или line
langstringдаЯзык названий. Язык должен поддерживаться API и входить в тариф клиента

Значения параметра type:

ЗначениеКакие данные возвращаются
liveТурниры, в которых доступны Live-матчи
lineТурниры, в которых доступны Prematch-матчи

Необязательный query-параметр

ПараметрТипЗначение по умолчаниюОписание
cybersportbooleanfalseПереключает метод на турниры киберспорта

Пример запроса киберспортивных данных:

GET https://YOUR_API_DOMAIN/v1/tournaments/{sportId}/{countryId}/live/ru?cybersport=true

Сохранённые в этой документации полные ответы получены без query-параметров, то есть при cybersport=false.

Пример запроса Live

В примере используются футбол (sportId=1) и Россия (countryId=1):

curl --request GET \
  --url 'https://YOUR_API_DOMAIN/v1/tournaments/1/1/live/ru' \
  --header 'Package: YOUR_API_KEY'

Пример запроса Prematch

curl --request GET \
  --url 'https://YOUR_API_DOMAIN/v1/tournaments/1/1/line/ru' \
  --header 'Package: YOUR_API_KEY'

Реальный пример ответа Live

В момент запроса для выбранных параметров был доступен один турнир, поэтому ниже показан полный ответ без сокращений.

{
  "status": 1,
  "page": "/v1/tournaments",
  "body": [
    {
      "id": 2916716,
      "name": "Чемпионат России. Молодежное первенство. Дивизион А",
      "counter": 1,
      "sport_id": 1,
      "countryId": 1
    }
  ]
}

Сокращённый пример ответа Prematch

Ниже показан фрагмент реального ответа. Значения сохранены без изменений, но массив body сокращён до трёх турниров.

{
  "status": 1,
  "page": "/v1/tournaments",
  "body": [
    {
      "id": 176125,
      "name": "Кубок России",
      "counter": 8,
      "sport_id": 1,
      "countryId": 1
    },
    {
      "id": 225733,
      "name": "Чемпионат России. Премьер-лига",
      "counter": 18,
      "sport_id": 1,
      "countryId": 1
    },
    {
      "id": 30079,
      "name": "Чемпионат России. Премьер-лига. Статистика тура",
      "counter": 1,
      "sport_id": 1,
      "countryId": 1
    }
  ]
}

Значения counter показывают состояние линии только в момент получения ответа и постоянно изменяются.

Поля ответа

Верхний уровень

ПолеТипОписание
statusnumberСтатус выполнения запроса. В успешном ответе возвращается 1
pagestringНазвание метода. Для tournaments возвращается /v1/tournaments
bodyarrayМассив доступных турниров выбранного вида спорта и страны

Объект турнира

ПолеТипОписание
idnumberID турнира. Используется как tournamentId в других методах
namestringНазвание турнира на языке, указанном в lang
counternumberКоличество доступных матчей этого турнира
sport_idnumberID вида спорта, к которому относится турнир
countryIdnumberID страны, к которой относится турнир

Обратите внимание на точное написание полей в JSON:

  • ID вида спорта называется sport_id;
  • ID страны называется countryId с заглавной буквой I.

Не заменяйте countryId на country_id при чтении ответа.

Готовые иконки турниров

Для каждого турнира или чемпионата можно использовать стандартную иконку SportAPI. Возьмите значение поля id из ответа и подставьте его вместо {tournamentId}:

https://cdn.sportapi.net/tournaments/v1/color/{tournamentId}.webp

Например, для турнира с id: 118737:

https://cdn.sportapi.net/tournaments/v1/color/118737.webp

Связь с методом menu

Объекты из массива body метода tournaments содержат те же поля, что и объекты турниров внутри menu для выбранного вида спорта и страны.

Если вызвать методы в разное время, состав турниров и значения counter могут отличаться, поскольку спортивная линия постоянно изменяется.

Что делать с полученным id

После выбора турнира возьмите его поле id. В URL метода получения матчей этот идентификатор обозначается как tournamentId.

Для запроса матчей выбранного турнира понадобятся:

  • sportId из выбранного вида спорта;
  • tournamentId из поля id выбранного турнира;
  • тип линии live или line;
  • язык ответа.

При использовании menu нужные sportId и tournamentId уже находятся в одном ответе, поэтому предварительные запросы sports, countries и tournaments не нужны.

Не запрашивайте матчи по заранее сохранённому tournamentId, не проверив актуальный ответ tournaments или menu. Турнир возвращается только пока в нём есть доступные матчи выбранного типа линии.

Если единственный матч турнира закончился, перешёл из Prematch в Live или исчез по другой причине, этот турнир перестанет возвращаться в соответствующей выдаче. Передавайте в events только tournamentId из актуальной навигационной цепочки.

Снимок сохранённых ответов

Во всех примерах использованы футбол (sportId=1) и Россия (countryId=1).

Тип линииРусский ответАнглийский ответ
Live1 турнир1 турнир
Prematch (line)14 турниров14 турниров

Это статистика конкретных ответов от 21 августа 2026 года, а не постоянный состав API.

Полные ответы без сокращений:

Файлы содержат только тело ответа API. API-ключ в них не сохраняется.

Частота обновления

Рекомендуется запрашивать tournaments:

  • Live — не чаще одного раза в 60 секунд;
  • Prematch (line) — не чаще одного раза в 120 секунд.

Подробнее: «Рекомендации по обновлению данных».

Ошибки ключа, тарифа и параметров описаны в документе «Обработка ошибок».