Перейти к основному содержимому
REST + WebSocket · OpenAPI 3.1

Sport API

Спортивные данные в реальном времени для 7 видов спорта. Единая структура запросов, живые обновления, переводы и букмекерские коэффициенты.

curl -H "Authorization: KEY" https://api.api-sport.ru/v2/football/matches

REST + WebSocket

Единый контур /v2/{sportSlug}/… и live-канал: match_snapshot + инкрементальные match_delta.

7 видов спорта

Футбол, хоккей, баскетбол, волейбол, теннис, наст. теннис, киберспорт — единая модель.

Мультиязычность

Переводы ~99% имён игроков, команд, турниров на русский — поле translations.ru.

Букмекерские коэффициенты

Базовые рынки oddsBase (1×2, тоталы, гандикапы) и расширенные oddsBk.

Полнотекстовый поиск

Мультиязычный поиск (RU + EN) по игрокам, командам и турнирам через /search.

Schema Explorer

Интерактивное дерево полей с переключением по видам спорта — прямо в документации.

Sport Schema Explorer

Одна модель — разные виды спорта. Выберите спорт и посмотрите, какие поля появляются, приглушаются или меняют смысл. Это живой компонент, а не картинка.

Sport Schema Explorer

Выберите вид спорта — поля, специфичные для него, подсветятся и раскроются; неприменимые приглушатся. Поля без бейджей — общие для всех видов спорта.

idinteger

Уникальный идентификатор матча

statusstring

Статус матча

enum: notstartedinprogressfinishedcanceledpostponedinterruptedsuspendeddelayedwillcontinue

statusDescriptionstringnullable

Человекочитаемое описание статуса матча

dateEventstring

Дата события

startTimestampinteger

Время начала матча в миллисекундах

currentMatchMinuteinteger

Текущая минута матча

currentMatchSecondinteger

Текущая секунда матча (в пределах минуты)

overtimeLengthinteger

Добавленное время в секундах. Присутствует только когда оно есть.

tournamentTournamentBrief
idinteger

ID турнира

namestring

Название турнира

translationsobject
imagestring

URL изображения турнира

categoryCategoryBrief
idinteger

ID категории

namestring

Название категории

translationsobject
imagestring

URL изображения

roundInfoRoundInfo
namestring

Название раунда

roundinteger

Номер раунда

seasonSeasonBrief
idinteger
namestring
yearstring
venueVenue
idintegernullable

ID стадиона

namestringnullable

Название стадиона

translationsobject
capacityintegernullable

Вместимость

cityobject
countryobject
refereeRefereeФутбол
idintegernullable

ID арбитра

namestring

Имя арбитра

yellowCardsinteger

Количество жёлтых карточек показанных арбитром (статистика)

redCardsinteger

Количество красных карточек показанных арбитром (статистика)

yellowRedCardsinteger

Количество вторых жёлтых карточек показанных арбитром (статистика)

gamesinteger

Количество игр проведённых арбитром (статистика)

countryobject
translationsobject
homeTeamTeamWithLineup
idintegernullable

Уникальный идентификатор команды

namestringnullable

Название команды

fullNamestringnullable

Полное название команды

translationsobject
genderstringnullable

Пол команды

enum: MF

countrystringnullable

Название страны

managerManagernullable

Тренер команды; null, если не задан.

imagestring

URL изображения команды

lineupLineupnullableФутболХоккейБаскетболВолейбол

Состав команды на матч; null, если состав недоступен.

awayTeamTeamWithLineup
idintegernullable

Уникальный идентификатор команды

namestringnullable

Название команды

fullNamestringnullable

Полное название команды

translationsobject
genderstringnullable

Пол команды

enum: MF

countrystringnullable

Название страны

managerManagernullable

Тренер команды; null, если не задан.

imagestring

URL изображения команды

lineupLineupnullableФутболХоккейБаскетболВолейбол

Состав команды на матч; null, если состав недоступен.

homeScoreScore
currentinteger

Текущий счет

period1integer

Счет в первом тайме

Значение зависит от вида спорта: тайм (футбол), период (хоккей), четверть (баскетбол), геймы в сете (теннис, наст. теннис), очки в партии (волейбол), счёт в карте (киберспорт)

period2integer

Счет во втором тайме / геймы во 2-м сете (теннис)

period3integernullable

Счет в третьем периоде / геймы в 3-м сете (теннис)

period4integernullable

Счет в четвертом периоде / геймы в 4-м сете (теннис, Grand Slam)

period5integernullable

Счет в пятом периоде / геймы в 5-м сете (теннис, Grand Slam)

period6integernullableБаскетболНастольный теннис

Счёт в 6-м периоде: 2-й овертайм (баскетбол) или геймы в 6-м сете (наст. теннис, best-of-7). При множественных овертаймах возможны и дальнейшие периоды (period7+) — редко.

period7integernullableБаскетболНастольный теннис

Счёт в 7-м периоде: 3-й овертайм (баскетбол) или геймы в 7-м сете (наст. теннис, best-of-7).

period1TieBreakintegernullableТеннис

Очки в тайбрейке 1-го сета (только теннис, только если был тайбрейк)

period2TieBreakintegernullableТеннис

Очки в тайбрейке 2-го сета (только теннис, только если был тайбрейк)

period3TieBreakintegernullableТеннис

Очки в тайбрейке 3-го сета (только теннис, только если был тайбрейк)

period4TieBreakintegernullableТеннис

Очки в тайбрейке 4-го сета (только теннис, только если был тайбрейк)

period5TieBreakintegernullableТеннис

Очки в тайбрейке 5-го сета (только теннис, только если был тайбрейк)

penaltiesintegernullableФутболХоккей

Счёт по послематчевым пенальти. Присутствует только если была серия пенальти.

displaystringnullable

Текстовое представление счёта, как отдаёт источник (например, "2-2 (5-4 pen.)" в футболе или "3 (6-4, 4-6, 7-6)" в теннисе).

pointstringnullableТеннис

Текущее очко в теннисном гейме (для live-матчей). Значения: "0", "15", "30", "40", "A" (advantage) для обычных геймов, или числа "0"-"7"+ для тайбрейков

awayScoreScore
currentinteger

Текущий счет

period1integer

Счет в первом тайме

Значение зависит от вида спорта: тайм (футбол), период (хоккей), четверть (баскетбол), геймы в сете (теннис, наст. теннис), очки в партии (волейбол), счёт в карте (киберспорт)

period2integer

Счет во втором тайме / геймы во 2-м сете (теннис)

period3integernullable

Счет в третьем периоде / геймы в 3-м сете (теннис)

period4integernullable

Счет в четвертом периоде / геймы в 4-м сете (теннис, Grand Slam)

period5integernullable

Счет в пятом периоде / геймы в 5-м сете (теннис, Grand Slam)

period6integernullableБаскетболНастольный теннис

Счёт в 6-м периоде: 2-й овертайм (баскетбол) или геймы в 6-м сете (наст. теннис, best-of-7). При множественных овертаймах возможны и дальнейшие периоды (period7+) — редко.

period7integernullableБаскетболНастольный теннис

Счёт в 7-м периоде: 3-й овертайм (баскетбол) или геймы в 7-м сете (наст. теннис, best-of-7).

period1TieBreakintegernullableТеннис

Очки в тайбрейке 1-го сета (только теннис, только если был тайбрейк)

period2TieBreakintegernullableТеннис

Очки в тайбрейке 2-го сета (только теннис, только если был тайбрейк)

period3TieBreakintegernullableТеннис

Очки в тайбрейке 3-го сета (только теннис, только если был тайбрейк)

period4TieBreakintegernullableТеннис

Очки в тайбрейке 4-го сета (только теннис, только если был тайбрейк)

period5TieBreakintegernullableТеннис

Очки в тайбрейке 5-го сета (только теннис, только если был тайбрейк)

penaltiesintegernullableФутболХоккей

Счёт по послематчевым пенальти. Присутствует только если была серия пенальти.

displaystringnullable

Текстовое представление счёта, как отдаёт источник (например, "2-2 (5-4 pen.)" в футболе или "3 (6-4, 4-6, 7-6)" в теннисе).

pointstringnullableТеннис

Текущее очко в теннисном гейме (для live-матчей). Значения: "0", "15", "30", "40", "A" (advantage) для обычных геймов, или числа "0"-"7"+ для тайбрейков

liveEventsLiveEvent[]ФутболХоккейБаскетболВолейболНастольный теннис
timeinteger

Время события в минутах

timeSecondsinteger

Время события в секундах

typestring

Тип события

enum: cardgoalsubstitutioninGamePenaltypenaltyShootoutvarDecisioninjuryTimeperiod

classstring

Класс события

teamstring

Команда события

enum: homeaway

playerobject
playerInobject

Игрок входящий (для замен)

playerOutobject

Игрок выходящий (для замен)

reasonstring

Причина события

fromstring

Откуда (например, penalty для гола)

homeScoreinteger

Счет хозяев после события

awayScoreinteger

Счет гостей после события

periodintegernullable

Номер периода/тайма, к которому относится событие

descriptionstring

Текстовое описание события (если есть)

playerNamestring

Имя игрока, связанного с событием (дублирует player.name для удобства)

assist1Namestring

Имя игрока, сделавшего первый ассист (голы)

assist2Namestring

Имя игрока, сделавшего второй ассист (голы)

managerobject

Тренер/официальное лицо — для карточки, показанной не игроку (type=card)

rescindedboolean

Карточка отменена (type=card)

playerInNamestring

Имя вышедшего на замену игрока (type=substitution)

playerOutNamestring

Имя заменённого игрока (type=substitution)

injuryboolean

Замена из-за травмы (type=substitution)

sequenceintegernullable

Порядковый номер удара в серии пенальти (type=penaltyShootout)

confirmedbooleannullable

Подтверждено ли решение VAR (type=varDecision)

addedTimeinteger

Добавленное время в минутах (type=injuryTime / varDecision)

lengthintegernullable

Длительность добавленного времени (type=injuryTime)

textstring

Текст метки периода, напр. начало/конец тайма (type=period)

isLiveboolean

Идёт ли период в данный момент (type=period)

matchStatisticsobject[]

Статистика матча

oddsBaseOddsMarket[]

Доступные коэффициенты для матча

namestring

Название рынка ставок

groupstring

Группа ставки

periodstring

Период матча для ставки

isLiveboolean

Доступна ли ставка в live режиме

suspendedboolean

Приостановлена ли ставка

choicesOddsChoice[]

Варианты ставок с коэффициентами

highlightsHighlight[]

Видео / хайлайты матча

titlestring

Название видео/хайлайта

urlstring

URL видео (обычно YouTube)

imagestring

URL изображения превью видео

esportsEsportsDatanullableКиберспорт

Детальные данные по киберспортивному матчу. Присутствует только для матчей с sportSlug=esports (CS2, Dota 2, League of Legends). Содержит информацию о каждой игре серии, индивидуальную статистику игроков, раунды (CS2), баны героев/чемпионов (Dota 2, LoL) и командную статистику.

bestOfintegernullable

Формат серии — максимальное количество игр (например, 1, 3 или 5). Best of 3 означает, что для победы нужно выиграть 2 игры из 3.

gamesEsportsGame[]

Список отдельных игр (карт) в серии. Каждая игра содержит счёт, статистику игроков, раунды (CS2) или баны (Dota 2/LoL).

tennisTennisDatanullableТеннис

Детальные данные по теннисному матчу. Присутствует только для матчей с sportSlug=tennis. Содержит информацию о сетах (геймы, тайбрейки, длительность, победитель), подаче, посеве игроков, типе покрытия и momentum-графике. При запросе одного матча (/matches/{matchId}) также включает point-by-point данные с детализацией каждого очка.

bestOfintegernullable

Формат матча — максимальное количество сетов (3 или 5). Best of 3 — для WTA и большинства ATP турниров, Best of 5 — для мужских Grand Slam.

groundTypestringnullable

Тип покрытия корта

enum: Hardcourt outdoorHardcourt indoorClayGrass

firstToServestringnullable

Кто подаёт первым в матче

enum: homeaway

homePlayerSeedstringnullable

Посев (seed) домашнего игрока в турнире. Посев определяет рейтинг игрока в сетке турнира.

awayPlayerSeedstringnullable

Посев (seed) гостевого игрока в турнире

setsTennisSet[]nullable

Детализация по сыгранным сетам. Каждый элемент содержит количество геймов, победителя, длительность и данные тайбрейка (если был).

momentumTennisMomentumItem[]nullable

График импульса (momentum) матча. Показывает доминирование одного из игроков в каждом гейме. Положительные значения — доминирование домашнего игрока, отрицательные — гостевого.

pointByPointTennisPointByPointSet[]nullable

Подробные данные по каждому очку матча, сгруппированные по сетам и геймам. Доступно только при запросе одного матча (/matches/{matchId}). Содержит тип каждого розыгрыша (эйс, двойная ошибка, виннер) и текущий счёт.

hasBkOddsobject

Наличие букмекерских коэффициентов по каждому букмекеру. Всегда присутствует в ответе

melbetboolean

Есть ли коэффициенты букмекера Melbet для данного матча

oddsBkBookmakerOddsnullable

Букмекерские коэффициенты. Присутствует только при with_bk_odds=true. Ключи объекта — идентификаторы букмекеров (например 'melbet'). Если with_bk_odds не указан, поле отсутствует

melbetBookmakerOddsData

Коэффициенты букмекера Melbet

required обязательноеnullable может быть null без бейджа спорта — поле общее для всех 7 видов