Тариф Sharp · REST · JSON
Документация API
Данные вашего кабинета в формате JSON, с теми же фильтрами (ваши букмекеры, а если они не выбраны — букмекеры вашей страны и международные): возможности последнего скана (скан каждую минуту), вилки, экспрессы и справедливые вероятности каждого матча (обновляются каждые 5 минут). Базовый URL: https://proba.bet.
Аутентификация
Создайте ключ в Настройки → API (тариф Sharp, максимум 3 активных ключа). Передавайте его в заголовке Authorization: Bearer. Параметр ?api_key= допускается для электронных таблиц, но не рекомендуется: ключ тогда попадает в логи и историю. Ключ показывается один раз; мы храним только его хеш SHA-256.
curl -H "Authorization: Bearer pb_live_xxxxxxxx" "https://proba.bet/api/v1/me"{ "plan": "sharp", "daily_limit": 20000, "remaining_today": 19999 }Квота
20 000 запросов на ключ в день (UTC), сброс в 00:00 UTC. Каждый успешный ответ содержит X-RateLimit-Limit и X-RateLimit-Remaining (ответ 429 тоже, вместе с Retry-After). Возможности меняются не чаще раза в минуту (коэффициенты британских букмекеров — раз в 1–2 минуты), вероятности матчей — каждые 5 минут: опрашивать чаще бессмысленно.
Эндпоинты
| Endpoint | Параметры | Возвращает |
|---|---|---|
GET /api/v1/me | — | plan, daily_limit, remaining_today |
GET /api/v1/opportunities | kind=value|surebet|combo (по умолчанию value) · min_ev (доля; перевес для value, по умолчанию 0.02; прибыль для surebet, по умолчанию 0.005; игнорируется для combo) · sport (не влияет на combo) · limit (≤ 1000, по умолчанию 300) | kind, count, generated_at, data[] (event_id, sport_key, home, away, commence_time, market_key, outcome, point, book, book_title, price, link, fair_prob, fair_odds, ev, ev_expected, kelly, grade, flags, alt_books, exchange, first_seen, published_at… ; surebet : profit, legs[] ; combo : legs[]) |
GET /api/v1/matches | sport · hours (1–96, по умолчанию 96; победители турниров или гонок — до 14 дней) · limit (≤ 1000, по умолчанию 600) — или id=<event_id>: одна строка на исход (market_key, line, outcome, point, fair_prob, fair_odds) | count, generated_at, data[] (event_id, home, away, commence_time, p_home, p_draw, p_away, total_line, p_over, p_under, source, matched, thin, kind, updated_at) |
Пример: валуйные ставки
curl -H "Authorization: Bearer pb_live_xxxxxxxx" \
"https://proba.bet/api/v1/opportunities?kind=value&min_ev=0.02&sport=soccer_epl&limit=50"{
"kind": "value", "count": 12, "generated_at": "2026-09-19T21:03:44.120Z",
"data": [{
"event_id": "0ab3…", "sport_key": "soccer_epl", "home": "Arsenal", "away": "Chelsea", "commence_time": "2026-09-20T15:00:00+00:00",
"market_key": "h2h", "outcome": "Draw", "point": null,
"book": "unibet_fr", "book_title": "Unibet (FR)", "price": 3.60, "link": "https://…",
"fair_prob": 0.2914, "fair_odds": 3.43, "ev": 0.0490, "ev_expected": 0.0294, "kelly": 0.0113, "grade": "A", "flags": [],
"alt_books": [{ "book": "betclic_fr", "price": 3.55, "ev": 0.0344, "ev_expected": 0.0206, "grade": "A" }],
"first_seen": "2026-09-19T21:01:40+00:00", "published_at": "2026-09-19T21:02:41+00:00"
}]
}Возвращаются только ставки, доступные у ваших букмекеров (Настройки), а если они не выбраны — у букмекеров вашей страны и международных; для вилки — все её плечи. book / price / ev — лучшее предложение среди всех букмекеров: выберите своё в book или alt_books. grade A = подборка Бабет (отслеживается в публичной истории результатов); B = опубликовано с пометками; C = проверьте перед ставкой. ev_expected = доля перевеса, ожидаемая к закрытию (основа суммы ставки); kelly = полный Келли по ev_expected; published_at = время скана; first_seen = первое появление. Даты — в ISO 8601 UTC.
Пример: вероятности матчей
curl -H "Authorization: Bearer pb_live_xxxxxxxx" "https://proba.bet/api/v1/matches?sport=soccer_epl&hours=48"
curl -H "Authorization: Bearer pb_live_xxxxxxxx" "https://proba.bet/api/v1/matches?id=0ab3c9d1"Ошибки
400— недопустимый параметр (kind, id, sport)401 missing_or_invalid_api_key— нет заголовка Authorization или ключ имеет неверный формат401 unknown_api_key— ключ неизвестен или отозван403 plan_required:sharp— аккаунт ключа не на тарифе Sharp429 daily_quota_exceeded— дневная квота исчерпана — сброс в 00:00 UTC500 internal_error— внутренняя ошибка, повторите запрос503 upstream_unavailable— данные временно недоступны (/matches), повторите через минуту
Webhooks
Вместо опроса API пусть Бабет вызывает вас сама: в Настройки → Webhook укажите публичный HTTPS-URL и оставьте включённым «Включить уведомления». Каждая новая ставка из подборки у ваших букмекеров (те же фильтры, что и у ваших уведомлений, включая тихие часы) отправляется POST-запросом с вашей суммой. Неудачный запрос (таймаут, код не 2xx, перенаправление) повторяется при следующем скане; после 5 неудач отправка приостанавливается на 10 минут. В исключительных случаях одна и та же ставка может прийти дважды: устраняйте дубликаты по event_id + market_key + outcome + point.
POST https://example.com/proba (Settings → Webhook)
Content-Type: application/json
X-Proba-Event: picks | test
X-Proba-Signature: sha256=<HMAC-SHA256(secret, body)>
{
"event": "picks", "sent_at": "2026-09-20T09:00:12Z", "user_id": "…",
"picks": [{
"event_id": "0ab3…", "sport_key": "soccer_epl", "home": "Arsenal", "away": "Chelsea", "commence_time": "2026-09-20T15:00:00Z",
"sport_title": "EPL", "market_key": "h2h", "outcome": "Draw", "point": null,
"book": "unibet_fr", "book_title": "Unibet (FR)", "price": 3.60, "link": "https://…", "book_url": "https://…",
"fair_prob": 0.2914, "fair_odds": 3.43, "min_odds": 3.50, "ev": 0.049, "ev_expected": 0.0294, "grade": "A",
"stake": 3, "currency": "EUR", "exchange": null
}]
}Проверяйте подпись, прежде чем доверять данным:
# Node.js
const sig = req.headers["x-proba-signature"]; // "sha256=…"
const mac = crypto.createHmac("sha256", SECRET).update(rawBody).digest("hex");
const a = Buffer.from(sig || ""), b = Buffer.from("sha256=" + mac);
const ok = a.length === b.length && crypto.timingSafeEqual(a, b);
# Python
ok = hmac.compare_digest(sig, "sha256=" + hmac.new(SECRET.encode(), raw_body, hashlib.sha256).hexdigest())Отвечайте 2xx в течение 5 секунд, без перенаправления. Событие `test` приходит от кнопки «Отправить тест».
Условия
Личное использование или ваши собственные инструменты. Перепродажа данных и публичное распространение запрещены. Ключи можно отозвать в любой момент из Настроек. Данные для поддержки решений, выигрыш не гарантирован.
Нужен API?
Тариф Sharp включает API, движения линий, несколько банкроллов и полный компаратор.