LIVE · ~20 сек обновление

Live-счёт и расписание матчей

Счёт в реальном времени, события матча, минута, период — через REST API. Обновления ~каждые 20 секунд. Голы, карточки, замены и VAR сразу после фиксации.

Получить ключ Документация Live API
// LIVE DATA

Что отдаёт live API

Всё необходимое для live-страницы матча — в одном endpoint. Без склейки источников и без парсинга.

GET /v1/event/8842 LIVE
РПЛ · 24-й тур67'
ЦСКЦСКА
2:1
ЗЕНЗенит
xG 1.84ожидаемые голыxG 1.12
64'Гол — Облеков (ЦСКА)2:1
51'Жёлтая — Барриос (Зенит)
38'Гол — Кассьерра (Зенит)1:1
Счёт и статус

Текущий счёт, статус матча (live / finished / scheduled / postponed) и минута по ходу игры.

Минута, период, добавленное время

Текущая минута, номер периода, добавленное время первого и второго тайма.

События: голы, карточки, замены, VAR

Полная лента событий матча в хронологическом порядке с минутой и игроком.

xG и статистика по ходу матча

Ожидаемые голы, владение и удары обновляются в реальном времени вместе со счётом.

// BEST PRACTICES

Как обновлять данные

Правильная стратегия polling снижает нагрузку на лимиты и делает live-страницу более отзывчивой.

Интервал polling: 20–30 секунд

Данные live-матчей обновляются на сервере примерно раз в 15–20 секунд. Polling чаще 20 сек не даст свежих данных, но быстро исчерпает лимит запросов. Оптимально — 20–30 секунд.

Rate limit awareness

Следите за заголовком X-RateLimit-Remaining. При значении близком к 0 добавьте экспоненциальный backoff. При 429 используйте значение из Retry-After.

Кешируйте статические данные

Составы, логотипы команд и турнирная таблица меняются редко. Кешируйте их на 5–30 минут на своей стороне, чтобы не тратить лимиты на неизменяющиеся данные.

Обновляйте только live-матчи

Матчи со статусом finished или scheduled не нужно запрашивать часто. Активный polling нужен только для матчей с status: "live".

Пример polling-логики (JavaScript)
// Запрашиваем только live-матчи каждые 20 сек
async function pollLive(eventId) {
  const res = await fetch(
    `https://api.sportwire.ru/v1/event/${eventId}?key=…`
  );

  // следим за лимитами
  const remaining = res.headers.get('X-RateLimit-Remaining');
  if (remaining !== null && +remaining < 5) {
    const reset = res.headers.get('X-RateLimit-Reset');
    const delay = (+reset * 1000) - Date.now() + 500;
    await sleep(delay); // ждём сброса окна
  }

  const data = await res.json();
  if (data.status === 'live') {
    updateUI(data);
    setTimeout(() => pollLive(eventId), 20000);
  }
}
// ТАРИФЫ

Тарифы для live-страниц

Выберите тариф исходя из количества одновременных пользователей и частоты обновлений.

Trial
0/ тест
30req/min
Live-матчейдо 1
Одновр. юзеров~1–3

Разработка и тестирование. Для продакшна недостаточно.

Попробовать бесплатно
Start
9 900/ мес
60req/min
Live-матчейдо 3
Одновр. юзеров~10–30

Небольшие сайты и блоги с матч-центром.

Подключить Start
Business
79 900/ мес
1 000req/min
Live-матчей50+
Одновр. юзеров1 000+

Крупные порталы с высокой нагрузкой в реальном времени.

Подключить Business
Нужно больше одновременных матчей? Согласуем индивидуальный лимит. Все тарифы и сравнение →

Добавьте live-счёт в ваш продукт

Тестовый ключ бесплатно, поддержка на русском. Запустите live-страницу за один день.

Оплата в рублях Договор с ИП / ООО Лимиты можно расширить