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

Метод topmatches — топ-матчи

Для чего нужен метод

Метод topmatches возвращает готовую подборку топ-матчей сразу по всем видам спорта, доступным API-ключу клиента.

Его удобно использовать для отдельного блока «Топ-матчи» на главной странице. Для запроса не нужно заранее получать sportId, countryId или tournamentId.

SportAPI самостоятельно формирует состав и порядок подборки. В одном ответе возвращается до 10 матчей. Критерии попадания матча в подборку через параметры запроса не настраиваются.

Для Live и Prematch формируются отдельные списки.

Запрос

GET https://YOUR_API_DOMAIN/v1/topmatches/{type}/{lang}

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

Package: YOUR_API_KEY

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

ПараметрТипОбязательныйОписание
typestringдаТип спортивной линии: live или line
langstringдаЯзык названий. Язык должен поддерживаться API и входить в тариф клиента

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

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

Параметр full

full — необязательный query-параметр, который определяет детализацию каждого матча.

ЗначениеРезультат
параметр отсутствует или full=falseСокращённая карточка матча без коэффициентов, ID страны и ID турнира
full=trueРасширенный объект матча с командами, страной, турниром, счётом и кратким списком коэффициентов

Пример URL с расширенными объектами:

GET https://YOUR_API_DOMAIN/v1/topmatches/live/ru?full=true

Важно: full=true возвращает полный набор полей карточки, но не полный список всех коэффициентов матча. В game_oc_list остаётся краткий набор основных групп и лучших коэффициентов, аналогичный методу events. Чтобы получить все доступные группы и исходы, выполните запрос event по game_id.

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

Сокращённые карточки:

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

Расширенные объекты:

curl --request GET \
  --url 'https://YOUR_API_DOMAIN/v1/topmatches/live/ru?full=true' \
  --header 'Package: YOUR_API_KEY'

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

Сокращённые карточки:

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

Расширенные объекты:

curl --request GET \
  --url 'https://YOUR_API_DOMAIN/v1/topmatches/line/ru?full=true' \
  --header 'Package: YOUR_API_KEY'

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

Ниже показана одна карточка из реального Live-ответа без full=true:

{
  "status": 1,
  "page": "/v1/topmathes",
  "body": [
    {
      "sgame_id": "0",
      "stat_id": "0",
      "game_id": 746267958,
      "game_mid": 746267958,
      "game_start": 1787382000,
      "tournament_name": "Mobile Legends. MPL Indonesia",
      "opp_1_name": "Team Liquid ID",
      "opp_2_name": "Evos",
      "opp_1_icon": "2b86bbc5fe28202aaddb53e2fe651a46.png",
      "opp_2_icon": "459077.png",
      "sport_id": 40,
      "sport_name": "КиберСпорт",
      "score_full": "1:0",
      "period_name": "2-я карта",
      "timer": 0,
      "va": 1,
      "vi": "20072803",
      "zp": null
    }
  ]
}

Значения взяты из снимка спортивной линии и со временем изменятся.

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

ПолеТипОписание
statusnumberСтатус выполнения запроса. В успешном ответе возвращается 1
pagestringВ текущем ответе API возвращается строка /v1/topmathes
bodyarrayПлоский массив топ-матчей без группировки по видам спорта или турнирам

В значении page сейчас используется /v1/topmathes без буквы c. Это фактическое значение ответа API. Сам URL запроса при этом пишется правильно: /v1/topmatches/.... Не используйте поле page для формирования следующего URL.

Поля сокращённой карточки

ПолеТипОписание
sgame_idstringЗарезервированное тестовое поле. Пока не используется в API
stat_idstringЗарезервированное тестовое поле. Пока не используется в API
game_idnumberID матча для запроса подробного метода event
game_midnumber или nullID основного матча
game_startnumberВремя начала в формате Unix Timestamp, в секундах
tournament_namestringНазвание турнира на выбранном языке
opp_1_namestringПервая команда или участник
opp_2_namestringВторая команда или участник
opp_1_iconstringИмя файла иконки первой команды или участника
opp_2_iconstringИмя файла иконки второй команды или участника
sport_idnumberID вида спорта
sport_namestringНазвание вида спорта на выбранном языке
score_fullstringТекущий общий счёт. В Prematch обычно возвращается 0:0
period_namestringТекущий период Live-матча. В Prematch возвращается пустая строка
timernumberТаймер Live-матча в секундах. Для получения минут разделите на 60. В Prematch обычно возвращается 0
vanumber или null1 — есть видеотрансляция; null — трансляции нет
vistring или nullID видеотрансляции Live-матча
zpnumber или nullID Live 3D Tracker; передаётся в трекер как gameid

Ответ с full=true

При full=true поле body остаётся плоским массивом матчей, но каждый элемент содержит расширенный объект, близкий к объекту матча из events:

  • ID и название страны;
  • ID и название турнира;
  • ID команд или участников;
  • счёт и период;
  • краткий список групп и коэффициентов в game_oc_list;
  • признаки доступности видео и Live 3D Tracker;
  • дополнительные поля объекта матча.

В topmatches?full=true поле game_oc_list имеет такую же структуру, как в events: oc_list внутри группы является обычным массивом исходов. В методе event с форматом group структура отличается: там oc_list содержит вложенные массивы колонок.

В сохранённых ответах topmatches?full=true поля sub_games и event_plan возвращаются пустыми массивами. Для получения доступных субматчей или состава сложного события нужно запросить конкретный матч через метод event.

Полное описание полей расширенного объекта находится в «Едином справочнике полей Sport Line API».

Иконки

Иконка вида спорта формируется по sport_id:

https://cdn.sportapi.net/sports/v1/color/{sport_id}.webp

При full=true иконку турнира можно сформировать по tournament_id:

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

Для иконки команды удалите расширение из opp_1_icon или opp_2_icon и подставьте оставшееся имя в URL:

https://cdn.sportapi.net/opp/v1/color/{iconName}.webp

Ограничения тарифа

Метод возвращает топ-матчи только тех видов спорта, которые доступны API-ключу клиента. Один ответ может содержать матчи разных видов спорта.

Если нужно получить обычный список матчей конкретного спорта или турнира, используйте events. Для подробных данных одного матча используйте event.

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

На момент запросов каждый Live- и Prematch-ответ содержал по 10 матчей. Это снимок динамических данных от 22 августа 2026 года, а не постоянный состав подборки.

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

Сокращённые карточки

Расширенные объекты (full=true)

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

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

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

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

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

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