url: https://api.apostasseguras.com/request
Метод: get
Заголовки
Authorization = Bearer
api_token
api_token - токен, который вам предоставлен для получения API данных
product =
surebets|middles|valuebets
Тип запрашиваемых данных. Обязательный параметр.
source =
bookies
Перечисление id букмекеров, для которых необходимо запросить данные. Обязательный параметр.
sport =
sports
Перечисление id видов спорта, для которых необходимо запросить данные. Обязательный параметр.
limit =
25
Лимит по числу данных, которые можно получить за один запрос. По умолчанию это значение равно 25.
cursor =
sort_by:id
Параметр для навигации по результатам выдачи. В зависимости от того, нужно ли нам пойти вперед или назад по списку: sort_by и id должны быть взяты для последней или первой record текущей выдачи. Например, для выдачи, которая имеется внизу страницы sort_by:id: 4609118910833099900, id:785141488 (допустим, это id последней записи в выдаче), параметр cursor будет выглядеть так: cursor=4609118910833099900:785141488 Добавление этого параметра к запросу будет означать выдачу следующей (если id был последним) или предыдущей (если id был первым) страницы с данными.
commissions =
betfair:5,betdaq:1.5
Значения применяемых к ставкам комиссий. В данном примере указано, что к выигрышам ставок на Betfair будет применена комиссия в 5%, а для Betdaq 1.5%.
oddsFormat =
eu|us|uk|my|hk|pr
Odds display format.
eu - European (decimal)
us - American
uk - British (fractional)
my - Malaysian
hk - Hong Kong
pr - probability\
outcomes =
2|3
Число исходов вилки: может быть 2 либо 3. Если параметр не указан или указано любое другое значение (кроме 2 либо 3), то будут отображаться все возможные варианты.
min_group_size =
2
Минимальное число ставок для сравнения и расчета ставок с перевесом: может быть 2 и более. Также это поле отображается в JSON под именем "similar_size", записывается после "id".
для Valuebets:
group =
off
Отображение всех ставок с перевесом для данного события и рынка.
min-odds =
1.25
max-odds =
5
Фильтрация по коэффициенту.
min-overvalue =
1.25
max-overvalue =
5
По перевесу.
min-probability =
100.2
max-probability =
1523.44
По вероятности.
Для Surebets:
min-profit =
10
max-profit =
1000
По доходу.
min-roi =
10
max-roi =
100000
По ROI.
hide-different-rules =
true
Исключение вилок с разными правилами, где есть риск проигрыша по всем плечам.
Для Middles:
min-m-ev =
1
max-m-ev =
2
По математическому ожиданию (EV).
min-m-k =
1.25
max-m-k =
5
По коэффициенту.
min-m-bet =
1
max-m-bet =
10
По проигрышу при промахе (доход от выигрыша только одной ставки или проигрыш по обеим ставкам).
min-m-win =
1
max-m-win =
10
По выигрышу при попадании (когда выигрывают сразу две ставки).
min-probability =
100.2
max-probability =
1523.44
По оцененной вероятности попадания в коридор.
Для всех запросов API:
startOf =
1
endOf =
3
По времени начала, в часах.
startAge =
1
endAge =
3
По возрасту вилки/ставки с перевесом/коридора.
order =
field_desc
order =
field_asc
Устанавливает порядок сортировки по возрастанию или убыванию. Возможные значения для Field:
Например: start_at_asc
Не более 2 запросов в секунду.
https://api.apostasseguras.com/request?product=surebets&source=1xbet|pinnaclesports|parimatch|marathonbet&sport=Basketball|Football|Tennis
https://api.apostasseguras.com/request?product=surebets&source=1xbet|pinnaclesports|parimatch|marathonbet&sport=Basketball|Football|Tennis&limit=10&cursor=4609118910833099900:785141488
Чтобы быстро убедиться, что API работает, вы можете воспользоваться программой curl и выполнить там такой запрос:
curl "https://api.apostasseguras.com/request?product=surebets&source=bet365|22bet|unibet|pokerstars\_es&sport=Football|Volleyball" -H "Authorization: Bearer
api_token
"
Общие данные
{
/* время: когда был сформирован ответ */
updated_at: 1684171109017,
/* есть ли возможность итерироваться вперед по списку */
can_forward: true,
/* есть ли возможность итерироваться назад по списку */
can_backward: false,
/* количество records в выдаче */
limit: 25
}
Секция ставки
{
/* ID ставки */
id: 460444138,
/* название турнира, как оно значится на букмекерском сайте */
tournament: "Counter-Strike - BLAST Paris Major",
/* названия участников, как они значатся на букмекерском сайте */
teams: ["Fnatic", "G2"],
/* переоценённость ставки в диапазоне от 0 до 1; если 0, то значение еще не посчитано */
overvalue: 0,
/* вероятность выигрыша ставки в диапазоне от 0 до 1; если 0, то значение еще не посчитано */
probability: 0,
/* коэффициент ставки */
value: 4.56,
/* комиссия, которую берет букмекер с выигрыша; задана в диапазоне от 0 до 1 */
commission: 0,
/* название букмекерской конторы */
bk: "parimatch",
/* цифровой id матча в системе */
event_id: 460159166,
/* вид спорта */
sport_id: "CounterStrike",
/* время начала события, которое указал букмекерский сайт */
time: 1684157400000,
/*
Есть три типа элементов, которые описывают навигацию к ставке. Все они или какой-то из них могут присутствовать в выдаче, если их возможно получить для конкретного букмекера:
event_nav - ссылка до матча
view_nav - ссылка до конкретного маркета (группы ставок)
stake_nav - ссылка на конкретную ставку
При этом, если присутствует только event_nav, то этот же линк заменяет собой view_nav и stake_nav. Если есть event_nav и view_nav, но нет stake_nav, то view_nav заменяет собой stake_nav.
Каждый из этих элементов имеет одинаковую внутреннюю структуру. Ниже описан один из них - event_nav.
Элемент описания навигации к ставке на сайте букмекера. Сюда записываются любые данные, которые могут быть полезны для того, чтобы получить прямую ссылку на матч или конкретную ставку.
*/
"event_nav": {
/* указание на то, что ссылка на событие может быть открыта из iframe */
"direct": true,
/* набор ссылок (links) */
"links": [
//первый link с именем main
{
/* имя link */
"name": "main",
/* описание http-запроса */
"link": {
/* метод http-запроса */
"method": "GET",
/* url */
"url": "https://www.marathonbet.com/en/betting/Tennis/ITF/England/Roehampton/Men/Singles/Round+of+32/B.Blaydes+vs+F.Bondioli+-+16407509"
},
/* список имен ссылок, которые должны быть открыты вместе с этой */
"requirements": ["x"]
},
//второй линк с именем x
{
/* имя link */
"name": "x",
/* описание http-запроса */
"link": {
/* метод http-запроса */
"method": "POST",
/* url */
"url": "https://www.marathonbet.com/en/betslip/add.htm",
/* параметры http-запроса */
"params": {
"ch": "{\"ewc\":\"1/1 1\",\"cid\":126110536388,\"prt\":\"CP\",\"ewf\":\"1.0\",\"epr\":\"1.95\",\"prices\":{\"0\":\"19/20\",\"1\":\"1.95\",\"2\":\"-106\",\"3\":\"0.95\",\"4\":\"0.95\",\"5\":\"-1.06\"},\"u\":\"15139400,Total_Games7.Under_23\",\"mainEventTreeId\":\"16407509\"}",
"url": "https://www.marathonbet.com/en/betting/Tennis/ITF/England/Roehampton/Men/Singles/Round+of+32/B.Blaydes+vs+F.Bondioli+-+16407509"
}
},
/* желательное максимальное время задержки между открытием этой ссылки и предыдущей */
"maxDelay": 1500
}],
/*
Обычно данные этого раздела индивидуальны для каждого букмекера, и вам придется уточнить, как использовать это поле, если код не предоставляет ясных указаний для конкретного букмекера.
Мы понимаем, что для пользователей API важно знать, как быстро сделать ставку, однако, при продаже API мы не предоставляем подробной документации о том, как выполнять определенные действия с конкретными букмекерами.
В лучшем случае мы можем помочь пользователям, предоставив ответы на конкретные вопросы, или, если возможно, добавить некоторую информацию в выходные данные, которая может облегчить им навигацию.
*/
"markers": {
"id": 2000863629,
"inValue": 1.95,
"bk": "marathonbet",
"externalId": "441036222-126110536388",
"eventId": "16407509"
}
}
/* Описание характеристик для ставки */
type: {
/* условие, которое соответствует типу ставки, т. е. это дополнительный вариативный параметр, который описывает ставку */
condition: "3.5",
/*
Этот параметр отвечает за тип игровой ситуации, в рамках которого происходит событие.
regular - это игровая ситуация по умолчанию. Например, в рамках такой ситуации принимаются ставки на исход матча.
first - игровая ситуация, в которой команды соревнуются в том, кто забьёт первый гол / подаст первый угловой / получит первую карточку и т. д.
№ 2 - игровая ситуация для второго гола / углового / карточки и т. д.
last - аналогично ситуации first, только для последнего гола / углового / карточки и т. д.
openingPartnership - в крикете лучшая стартовая пара
и т.д.
*/
game: "regular",
/*
Этот параметр отвечает за команды, по отношению к которым принимается ставка, и может иметь такие значения, как:
overall - домашняя и/или гостевая команды
home - домашняя команда
away - гостевая команда
both - гостевая и домашняя команды
*/
base: "overall",
/*
Разновидность исчисляемых значений, по которым принимается ставка.
Гол, угловой, карточка, фрейм, сет, очко и т.д. - все это будет variety.
*/
variety: "map",
/*
Период времени или часть игры, во время которого принимается ставка.
Например: overtime, regularTime, period1, set1 и т.д. - это все будет period.
*/
period: "overtime",
/*
Тип ставки. этот параметр описывает логический смысл ставки и может принимать значения вида:
win1 - победа команды 1
win1RetX - победа команды 1, но если ничья - возврат
win2 - победа команды 2
win2RetX - победа команды 2, но если ничья - возврат
draw - ничья
over - больше
under - меньше
yes - будет
no - не будет
odd - нечет
even - чет
ah1 - азиатский гандикап команды 1
ah2 - азиатский гандикап команды 2
eh1 - европейский гандикап команды 1
ehx - европейский гандикап на ничью
eh2 - европейский гандикап команды 2
и другие
Некоторые типы ставок могут подразумевать дополнительное условие. Например, для ставок over и under - это число total,
для ставок типа ah1/ah2/eh1/ehx/eh2 - это число гандикапа. Все такие значения будут идти в отдельном параметре condition.
*/
type: "over",
/*
Параметр, отвечающий за представление ставок в формате back/lay, который может встречаться на биржах ставок типа Betfair.
По умолчанию все ставки back=true, и этот параметр отсутствует в выдаче. Однако если ставка будет lay, то этот параметр будет иметь значение
back:false.
*/
back: true,
/*
Параметр, отвечающий за отрицания ставки, т. е. ставка описана таким образом, что игрок выигрывает, если описанное событие НЕ происходит.
В этом случае в выдаче будет
no:true. По умолчанию no:false.
*/
no: false,
}
}
/valuebets
Records: это и есть перечисление ставок, которые являются valuebets.
Общая часть у /surebets и /middles
{
/* код сортировки, согласно которому возвращен результат */
sort_by: 4609118910833099900
/* record (surebet/middle/valuebet) id */
id: 785141488,
/* время начала события исхода, которое относится к surebet/middle */
time: 1685835600000,
/* время возникновения surebet/middle */
created: 1684229420000,
/* число surebets/middles, которые относятся к заданной группе ставок */
group_size: 2,
/* коллекция ставок, входящих в surebet */
prongs: [...],
/* опциональное поле, наличие которого означает, что ставки в surebet/middle могут применяться по разным правилам */
rd: [[0], [1], [1]]
}
/surebets
{
...
/* доходность surebet */
profit: 11.2812,
/* roi surebet */
roi: 222.6584,
/*
список флагов, где каждый флаг соответствует prongs, при этом отдельный флаг может принимать значения:
0 - обычные ставки
1 - вероятно генеративные ставки
2 - явно генеративные ставки
Генеративная ставка - это такая ставка, которая собой порождает surebet.
*/
generatives: "0,2"
}
/middles
{
...
/* возможный проигрыш в случае, если сыграет только одна ставка */
bet: 0.2452,
/* возможный выигрыш, если сыграют сразу две ставки*/
win: 0.5097,
/* вероятность попадания в коридор, т.е. того, что сыграют обе ставки */
probability: 0.3379,
/* коэффициент коридора, т.е. отношение возможного выигрыша к возможному проигрышу */
overvalue: 1.0404,
/*математическое ожидание middle. Чем оно выше, тем более выгоден middle. */
ev: 0.0099
}