Перейти к основному содержимому

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

API возвращает коэффициенты двух уровней:

  • oddsBase — базовые рынки (1×2, Over/Under, Handicap). Бесплатно для всех тарифов.
  • oddsBk — расширенные рынки от конкретных букмекеров. На v2.0.8 поддерживается единственный букмекер: Melbet (slug melbet). Список slug'ов из текущей версии API: bookmaker_ids принимает melbet. Дополнительные букмекеры будут добавлены в следующих версиях — следите за Changelog.

Фильтрация матчей с коэффициентами

# Только матчи с букмекерскими коэффициентами
curl -H "Authorization: YOUR_KEY" \
"https://api.api-sport.ru/v2/football/matches?has_bk_odds=true"

# Включить рынки Melbet в payload
curl -H "Authorization: YOUR_KEY" \
"https://api.api-sport.ru/v2/football/matches/12345678?with_bk_odds=true&bookmaker_ids=melbet"

Структура oddsBk

oddsBk — объект, где ключи — слаги букмекеров (сейчас единственный — melbet). Значение — данные букмекера (BookmakerOddsData):

{
"oddsBk": {
"melbet": {
"slug": "melbet",
"name": { "en": "Melbet", "ru": "Мелбет" },
"updatedAt": 1717000000000,
"isBettingActive": true,
"markets": {
"match_result": {
"name": { "en": "Match Result", "ru": "Исход матча" },
"hasArgument": false,
"stakeKeys": ["home_win", "draw", "away_win"],
"stakes": {
"home_win": { "name": { "en": "Home Win", "ru": "Победа хозяев" }, "factor": 1.85 },
"draw": { "name": { "en": "Draw", "ru": "Ничья" }, "factor": 3.40 },
"away_win": { "name": { "en": "Away Win", "ru": "Победа гостей" }, "factor": 4.20 }
}
},
"total_goals": {
"name": { "en": "Total Goals", "ru": "Тотал голов" },
"hasArgument": true,
"stakeKeys": ["over", "under"],
"stakes": {
"over": { "name": { "en": "Over", "ru": "Больше" }, "lines": [ { "argument": 2.5, "factor": 1.95, "dateUpdateMs": 1717000000000 } ] },
"under": { "name": { "en": "Under", "ru": "Меньше" }, "lines": [ { "argument": 2.5, "factor": 1.88, "dateUpdateMs": 1717000000000 } ] }
}
}
}
}
}
}

Ключевые моменты (схемы BookmakerOdds / BookmakerOddsData / BkOddsMarket / BkOddsStake / BkOddsLine):

  • markets — это объект, ключи которого — слаги рынков (match_result, total_goals, handicap, …), а не массив. Порядок исходов — в stakeKeys.
  • stakes — тоже объект, ключи — слаги исходов (home_win, over, …).
  • hasArgument: false → у исхода поле factor (коэффициент).
  • hasArgument: true → вместо factor у исхода массив lines[]: каждый элемент имеет argument (значение тотала/гандикапа), factor (коэффициент) и dateUpdateMs. lines отсортирован по argument.
  • name везде — мультиязычный объект { en, ru }.
  • updatedAt — время обновления коэффициентов (timestamp в мс); isBettingActive — активны ли ставки сейчас.

⚠️ Не путайте с oddsBase: там другой формат — массив OddsMarket[] с choices[].decimal. У oddsBk коэффициенты лежат в marketsstakesfactor / lines[].factor, как показано выше.

Поле hasBkOdds

Всегда присутствует в Match:

{ "hasBkOdds": { "melbet": true } }

Это позволяет быстро отфильтровать матчи без загрузки полных коэффициентов.

Словарь рынков

Полное описание market'ов (английские названия, ID, переводы) — /v2/BkOddsDict.json:

curl https://api.api-sport.ru/v2/BkOddsDict.json

Это статический файл (~МБ), кэшируйте на 24 часа.

Изменение коэффициентов в реальном времени

Коэффициенты приходят в match_snapshot и match_delta через WebSocket. См. WebSocket → snapshot vs delta.