Changelog
История изменений REST + WebSocket API Sport Events. Семантика версий — SemVer.
v2.0.9 (текущая)
Составы (lineups)
- Новое поле
lineup.missingPlayers— травмы и дисквалификации (отсутствующие игроки). Каждый элемент:player(id, имя, позиция, игровой номер,translations.ru, изображение),type(missing/doubtful),reason(код + кодовое имя + RU/ES),description(уточнение причины с RU/ES, либоnull) иexpectedEndDateMs(дата возвращения, либоnull). Доступно для командных видов с составами: football, ice-hockey, basketball, volleyball; карточные причины (коды 11/12/13) — только для футбола. - Новая схема:
MissingPlayer. Полный справочник причин и уточнений — Словарь причин.
Детали сезона: турнирные таблицы и сетки плей-офф
- Эндпоинт
GET /v2/{sportSlug}/tournament/{tournamentId}/seasons/{seasonId}теперь возвращает расширенный объектSeasonDetails(раньше — краткийSeason). Список сезонов и вложенныйSeasonвTournamentостаются краткими. - Новое поле
SeasonDetails.standings— турнирные таблицы: массив таблиц (лига или группы); строка содержит расширенный объект команды (id,name,shortName,image,country,teamColors,translations.ru),position, сыгранные/победы/ничьи/поражения, забито/пропущено,goalDifference+ сыройscoreDiffFormatted,points,promotion. Доступно во всех видах спорта; пусто, если у сезона нет таблиц. - Новое поле
SeasonDetails.cupTrees— сетки плей-офф: дерево → раунды → пары (ties) → участники, с матчами[{ id, leg }], перенумерованнымиblockId, счётом/пенальти и пометкой матча за 3-е место. Доступно во всех видах спорта; пусто, если у сезона нет плей-офф. - Новые схемы:
SeasonDetails,StandingsTable,StandingsRow,StandingsTeam,Promotion,TeamColors,CupTree,CupTreeRound,CupTreeTie,CupTreeParticipant,CupTeam. - Подробнее — Concepts → Структура данных, API Reference → Детали сезона.
Документация и портал разработчика
- Новый портал разработчика на docs.api-sport.ru.
- Спецификация OpenAPI обновлена до 3.1.0 (с 3.0.3) — корректные
null-типы и описания рядом с$ref. - Метаданные
x-sportsна свойствах схем — указывают, для каких видов спорта применимо поле; их использует Sport Schema Explorer. - Sport Schema Explorer — интерактивное дерево полей
Match/SeasonDetails/Team/Playerс переключателем по 7 видам спорта (подсветка спорт-специфичных полей). См. Структура данных.
v2.0.8
Букмекерские коэффициенты (Bookmaker Odds)
- Новый query-параметр
has_bk_odds=trueна/v2/{sportSlug}/matches— фильтр: оставить только матчи с букмекерскими коэффициентами. Можно комбинировать сbookmaker_ids. - Новый query-параметр
with_bk_odds=trueна/v2/{sportSlug}/matchesи/v2/{sportSlug}/matches/{matchId}— добавляет в Match полеoddsBkс детальными рынками и исходами. - Новый query-параметр
bookmaker_ids(CSV, доступно:melbet) — фильтрует букмекерские данные по указанным букмекерам. Применяется кhas_bk_oddsи/илиwith_bk_odds. - Новое поле
Match.hasBkOdds—{ "melbet": true|false }. Присутствует всегда в ответе матча. - Новое поле
Match.oddsBk— детальная структура с рынками, исходами, линиями, аргументами. Присутствует только приwith_bk_odds=true. - Новые схемы:
BookmakerOdds,BookmakerOddsData,BkOddsMarket,BkOddsStake,BkOddsLine,BkTranslatedName. Подробнее — Concepts → Bookmaker Odds.
v2.0.7
Переводы (Русский язык)
- Переведено на русский ≈99 % имён игроков, команд, турниров, сезонов, менеджеров, мест проведения и городов (поле
translations.ru/translation.ruу соответствующих сущностей). Точечные корректировки добавляются по мере необходимости.
Календарь матчей
- Новый эндпоинт
/v2/{sportSlug}/matches/{yearMonth}/calendar(operationId: getCalendarByMonth) — сводка по дням за месяц.- Параметры:
yearMonth(path,YYYY-MM),exclude_amateur,tournament_id,season_id,category_ids,team_id. - Ответ:
{ month, totalDays, days: [{ date, totalTournaments, totalMatches }] }. Возвращает все дни месяца, включая пустые с нулями. Один агрегационный запрос. - Рецепт — Recipes → Календарь за месяц.
- Параметры:
Расширение /matches/{date}/tournaments
- В эндпоинт
getTournamentsByDateдобавлены query-параметрыtournament_id,season_id,category_ids,team_id— фильтрация агрегации турниров.
Полнотекстовый поиск
- Новый эндпоинт
/v2/{sportSlug}/search(operationId: search) — мультиисточник по players / teams / tournaments в одном запросе.- Параметры:
q(required, мин. 1 символ),type(CSV изplayer,team,tournament),limit(1–50, default 20),offset(0–500, default 0),country(ISO Alpha-2). - Ответ:
SearchResponseс группамиplayers,teams,tournaments(SearchResultGroup { total, items[] }). - Особенности: мультиязычность (en + ru), ранжирование по популярности, prefix matching.
- Подробнее — Concepts → Search, Recipes → Search.
- Параметры:
- Новый параметр
qв существующих списках/players,/teams,/tournaments— полнотекстовый поиск в рамках одного типа сущности с тем жеlimit/offset. - Новый эндпоинт
/v2/{sportSlug}/tournaments(operationId: getTournaments) — список турниров с фильтрамиq/ids,limit,offset. Ответ:{ totalTournaments, tournaments[] }.
v2.0.6
Расширенные данные для тенниса
- Новый sport-specific объект
Match.tennis: TennisDataдляtennis-матчей в/v2/{sportSlug}/matchesи/v2/{sportSlug}/matches/{matchId}.bestOf(3 или 5),groundType(Hardcourt outdoor,Hardcourt indoor,Clay,Grass),firstToServe(home/away),homePlayerSeed/awayPlayerSeed.sets[]— по каждому сету:setNumber,homeGames,awayGames,winner,durationSeconds,tiebreak(если был —{ homePoints, awayPoints }).momentum[]— momentum-график по геймам:set,game,value(-100..+100),breakOccurred.pointByPoint[]— только при запросе одного матча (getMatchById). Каждый розыгрыш: тип (ace,doubleFault,winner,loser,error), сервер, счёт в гейме (0/15/30/40/A).- Схемы:
TennisData,TennisSet,TennisTiebreak,TennisMomentumItem,TennisPointByPointSet,TennisGame,TennisGameScore,TennisPoint.
- Новое поле
Score.point— текущее очко в теннисном гейме live-матча:"0","15","30","40","A". - Подробнее — Sport-specific → Tennis.
v2.0.5
Расширенные данные для киберспорта
- Новый sport-specific объект
Match.esports: EsportsDataдляesports-матчей в/v2/{sportSlug}/matchesи/v2/{sportSlug}/matches/{matchId}. - Поддерживаемые дисциплины: CS2 (Counter-Strike 2), Dota 2, League of Legends.
esportsсодержит:bestOf— формат серии.games[]— массив игр серии. По каждой игре: счёт, статус, длительность, карта (CS2),homeTeamStartingSide(T/CT для CS2, Radiant/Dire для Dota 2, Blue/Red для LoL), индивидуальная статистика игроков (KDA, ADR, KAST, headshots — CS2; goldPerMin, xpPerMin, denies, lastHits, netWorth, heroLevel — Dota 2; goldEarned, level, minionsKilled, role — LoL), играемые герои/чемпионы, забаненные герои/чемпионы (Dota 2 / LoL), детализация раундов (CS2: T/CT, исход elimination/defuse/explosion/timeout).- Командная статистика: towers/barracks (Dota 2), dragons/inhibitors/baron (LoL), firstBlood.
- Схемы:
EsportsData,EsportsGame,EsportsPlayer,EsportsTeamStatistics,EsportsRounds,EsportsRound,EsportsBans,EsportsCharacter. - Подробнее — Sport-specific → Esports.
v2.0.4
Турниры по дате
- Новый эндпоинт
/v2/{sportSlug}/matches/{date}/tournaments(operationId: getTournamentsByDate) — список уникальных турниров за дату с количеством матчей иstatusBreakdownпо всем девяти статусам матча (notstarted,inprogress,finished,canceled,postponed,interrupted,suspended,delayed,willcontinue).
Новые параметры фильтрации
exclude_amateur=trueна/v2/{sportSlug}/matchesи/v2/{sportSlug}/matches/{date}/tournaments— скрывает любительские матчи и низшие лиги. Рекомендуется включать по умолчанию. В одной из будущих версий планируется сделать значением по умолчанию.pageиpage_sizeна/v2/{sportSlug}/matches— offset-based пагинация.page1–100,page_size1–500. Если параметры не переданы — поведение не меняется (обратная совместимость, до 6000 матчей streaming-режимом). Подробнее — Concepts → Pagination.
v2.0.3
Новый вид спорта
- 🏐 Волейбол (
sportSlug: volleyball). Базовая структура Match без отдельного sport-specific объекта; sport-specific поля будут добавляться со временем.
WebSocket API
- Запущен WebSocket-канал для real-time обновлений матчей.
- URL:
wss://ws.api.api-sport.ru. - Авторизация — через query-параметр
?apiKey=. - Поддерживаются подписки на весь спорт (
sport:{sportSlug}) и на отдельный матч (match:{sportSlug}:{matchId}). - Сообщения:
connected,subscribed,unsubscribed,match_snapshot,match_delta(полеchangesсadded/updated/flatChanges),pong,error. - Схемы:
WebSocketSubscribeMessage,WebSocketUnsubscribeMessage,WebSocketPingMessage,WebSocketConnectedResponse,WebSocketSubscribedResponse,WebSocketMatchSnapshotResponse,WebSocketMatchDeltaResponse,WebSocketErrorResponse. - Подробнее — WebSocket → Overview.
v2.0.2
Match.referee
- Новое поле
Match.referee— арбитр матча (имя, страна, статистика жёлтых/красных/жёлто-красных карточек и количество судейских матчей в сезоне). - На данный момент данные есть только для football; для других видов спорта поле может быть пустым. В будущем планируется расширение на другие виды.
- Схема:
Referee.
v2.0.1
Live-данные матча
- Новое поле
Match.currentMatchMinute— текущая минута live-матча. - Новое поле
Match.liveEventsв/v2/{sportSlug}/matches/{matchId}— массив live-событий матча (голы, карточки, замены, пенальти, VAR-решения и т. д.). - Новое поле
Match.matchStatisticsв/v2/{sportSlug}/matchesи/v2/{sportSlug}/matches/{matchId}— массив групп статистики (для футбола — наиболее богатый набор: ballPossession, totalShotsOnGoal, cornerKicks, fouls, и т. д.).
Фильтрация по нескольким турнирам
tournament_idв/v2/{sportSlug}/matchesтеперь принимает CSV-список ID турниров (tournament_id=7,17,23), а не одно значение.
v2.0.0
Базовая платформа
defaultTournaments— поле в ответе эндпоинтов/v2/{sportSlug}/categoriesи/v2/{sportSlug}/categories/{categoryId}(рядом сcategories; это не полеMatch). Объект{ ru: DefaultTournament[], en: DefaultTournament[] }для отображения популярных турниров пользователю. Схемы:DefaultTournament,DefaultTournaments.Match.oddsBase— базовые рынки коэффициентов (1×2, тотал голов, азиатский гандикап и др.) с текущими и начальными коэффициентами, направлением изменения и статусом рынка. Схемы:OddsMarket,OddsChoice.Match.highlights— массив видеохайлайтов матча:title,url(обычно YouTube),image(превью). Схема:Highlight.
Это канонический список изменений API. По фактам API (схемы, поля, параметры) источник правды — OpenAPI-спецификация.