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

Календарь матчей — events по периоду

Для чего нужен

Календарь возвращает Prematch-матчи, которые начнутся в выбранный период:

  • в ближайшие 2, 4, 6 или 12 часов;
  • сегодня — от текущего момента до конца суток;
  • в конкретный день: завтра, послезавтра и так далее, до 5 дней вперёд.

Это удобно для блоков «Ближайшие матчи», «Сегодня», «Завтра» и вкладок по дням: не нужно загружать всю линию вида спорта и фильтровать её на своей стороне.

Календарь — это тот же метод events с двумя дополнительными сегментами пути. Ответ имеет ту же структуру, в нём только матчи выбранного периода.

Запрос

GET https://YOUR_API_DOMAIN/v1/events/{sportId}/{tournamentId}/{format}/{count}/line/{hours}/{days}/{lang}

API-ключ передаётся в HTTP-заголовке:

Package: YOUR_API_KEY

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

ПараметрТипОбязательныйОписание
sportIdnumberдаID вида спорта — из menu или sports для line
tournamentIdnumberдаID турнира или 0 — все турниры вида спорта
formatstringдаsub — матчи сгруппированы по турнирам, как в events
countnumberдаПередавайте 50. Значение не влияет на ответ
typestringдаТолько line: календарь работает для Prematch
hoursnumberдаПериод в часах от текущего момента: 2, 4, 6 или 12. 0 — период задаётся days
daysnumberдаДень: 0 — сегодня (до конца суток), 1 — завтра, 2 — послезавтра … 5
langstringдаЯзык названий; должен входить в тариф клиента

Как выбирается период

hoursdaysКакие матчи возвращаются
2, 4, 6, 12любоеНачало от текущего момента до «сейчас + N часов» (days не учитывается)
00Сегодня: от текущего момента до конца суток
01…5Только этот календарный день целиком, 00:00–24:00 (1 — завтра)
0больше 5Пустой список: календарь смотрит не дальше 5 дней вперёд

Правила периода:

  • Сутки считаются по киевскому времени (Europe/Kyiv: UTC+3 летом, UTC+2 зимой).
  • Уже начавшиеся матчи в календарь не попадают — они в Live.
  • Другие значения hours (например 3) не дают ошибки: период определяется по days, как при hours=0.
  • Турниры без матчей в выбранном периоде в ответ не попадают.
  • Правило «Топ» из events к календарю не применяется: возвращаются все матчи периода. Турниры упорядочены по популярности (сначала топ-лиги), матчи в турнире — по времени начала.

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

ПараметрТипЗначение по умолчаниюОписание
oddsbooleantruefalse — ответ без коэффициентов: у матчей нет game_oc_list, остальные поля те же

Для расписания без ставок передавайте odds=false — ответ в несколько раз меньше. Киберспорт календарь не поддерживает: для него используйте events с cybersport=true.

Примеры запросов

Футбол, матчи ближайших 2 часов:

curl --request GET \
  --url 'https://YOUR_API_DOMAIN/v1/events/1/0/sub/50/line/2/0/ru' \
  --header 'Package: YOUR_API_KEY'

Футбол, все матчи сегодня (до конца суток), без коэффициентов:

curl --request GET \
  --url 'https://YOUR_API_DOMAIN/v1/events/1/0/sub/50/line/0/0/ru?odds=false' \
  --header 'Package: YOUR_API_KEY'

Футбол, все матчи завтра:

curl --request GET \
  --url 'https://YOUR_API_DOMAIN/v1/events/1/0/sub/50/line/0/1/en' \
  --header 'Package: YOUR_API_KEY'

Матчи одного турнира на послезавтра — замените 0 на tournamentId:

curl --request GET \
  --url 'https://YOUR_API_DOMAIN/v1/events/1/1706694/sub/50/line/0/2/ru' \
  --header 'Package: YOUR_API_KEY'

Ответ

Структура ответа такая же, как у events: body — список турниров, в каждом events_list с матчами. Поля матча описаны в модели матча.

{
  "status": 1,
  "page": "/v1/events",
  "body": [
    {
      "tournament_id": 1706694,
      "tournament_name": "Лига Наций УЕФА",
      "events_list": [
        {
          "game_id": 758182302,
          "game_start": 1791295200,
          "opp_1_name": "Казахстан",
          "opp_2_name": "Фарерские острова",
          "game_oc_counter": 1261
        }
      ]
    }
  ]
}

Пример сокращён: в ответе у матча те же поля, что и в events.

Если в выбранном периоде матчей нет, приходит успешный ответ с пустым списком:

{
  "status": 1,
  "page": "/v1/events",
  "body": []
}

Ошибки ключа, языка и доступа — те же, что у остальных методов: Обработка ошибок.

Сколько матчей в ответе

Пример для футбола (6 октября 2026 года, около 16:20 по Киеву):

ЗапросПериодТурнирыМатчи
.../line/2/0/ruближайшие 2 часа2534
.../line/4/0/ruближайшие 4 часа3173
.../line/12/0/ruближайшие 12 часов67223
.../line/0/0/ruсегодня до конца суток61204
.../line/0/1/ruзавтра78199
.../line/0/5/ruчерез 5 дней94351

Это статистика конкретных ответов, а не постоянный состав API.

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

Календарь строится из той же Prematch-линии, что и events, поэтому данные в нём такие же свежие. Период сдвигается со временем, поэтому запрашивать календарь достаточно раз в 1–2 минуты. Матчи, которые начались, переходят в Live — их нужно получать через events с type=live.