Proba Bet
Essai gratuit

Plan Sharp · REST · JSON

Documentation de l'API

Les données de votre tableau de bord, en JSON, avec les mêmes filtres (vos bookmakers, sinon ceux de votre pays et les internationaux) : opportunités du dernier scan (un scan par minute), surebets, combinés, et probabilités justes de chaque match (mises à jour toutes les 5 minutes). URL de base : https://proba.bet.

Authentification

Créez une clé dans Paramètres → API (plan Sharp, 3 clés actives maximum). Envoyez-la dans l'en-tête Authorization: Bearer. Le paramètre ?api_key= est accepté pour les tableurs, mais déconseillé : la clé finit alors dans les journaux et l'historique. La clé n'est affichée qu'une fois ; nous ne conservons que son empreinte SHA-256.

curl -H "Authorization: Bearer pb_live_xxxxxxxx" "https://proba.bet/api/v1/me"
{ "plan": "sharp", "daily_limit": 20000, "remaining_today": 19999 }

Quota

20 000 requêtes par clé et par jour (UTC), remises à zéro à 00:00 UTC. Chaque réponse réussie porte X-RateLimit-Limit et X-RateLimit-Remaining (une 429 aussi, avec Retry-After). Les opportunités changent au plus une fois par minute (cotes des bookmakers britanniques : toutes les 1 à 2 minutes), les probabilités des matchs toutes les 5 minutes : interroger plus vite ne sert à rien.

Points d'accès

EndpointParamètresRenvoie
GET /api/v1/me—plan, daily_limit, remaining_today
GET /api/v1/opportunitieskind=value|surebet|combo (défaut value) · min_ev (fraction ; avantage pour value, défaut 0,02 ; profit pour surebet, défaut 0,005 ; ignoré pour combo) · sport (sans effet sur combo) · limit (≤ 1000, défaut 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/matchessport · hours (1–96, défaut 96 ; vainqueurs de tournoi ou de course jusqu'à 14 jours) · limit (≤ 1000, défaut 600) — ou id=<event_id> : une ligne par issue (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)

Exemple : value bets

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"
  }]
}

Seuls les paris jouables chez vos bookmakers (Paramètres) — à défaut, chez ceux de votre pays et les internationaux — sont renvoyés ; pour un surebet, toutes ses jambes. book / price / ev désignent la meilleure offre tous bookmakers confondus : prenez la vôtre dans book ou alt_books. grade A = sélection Babeth (suivie dans le track record public) ; B = publié avec des réserves (flags) ; C = à vérifier avant de parier. ev_expected = part de l'avantage attendue à la clôture (base de la mise) ; kelly = Kelly plein sur ev_expected ; published_at = heure du scan ; first_seen = première apparition. Les dates sont en ISO 8601 UTC.

Exemple : probabilités des matchs

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"

Erreurs

Webhooks

Plutôt que d'interroger l'API, laissez Babeth vous appeler : dans Paramètres → Webhook, indiquez une URL HTTPS publique et laissez l'interrupteur Alertes activé. Chaque nouveau pari de la sélection chez vos bookmakers (mêmes filtres que vos alertes, heures calmes comprises) est envoyé avec votre mise. Un appel en échec (délai dépassé, code hors 2xx, redirection) est retenté au scan suivant ; après 5 échecs, l'envoi est suspendu 10 minutes. Un même pari peut exceptionnellement arriver deux fois : dédupliquez sur 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
  }]
}

Vérifiez la signature avant de faire confiance au message :

# 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())

Répondez 2xx en moins de 5 secondes, sans redirection. L'événement `test` vient du bouton « Envoyer un test ».

Conditions

Usage personnel ou vos propres outils. Pas de revente des données ni de redistribution publique. Les clés peuvent être révoquées à tout moment depuis Paramètres. Données d'aide à la décision, aucune garantie de gain.

Besoin de l'API ?

Le plan Sharp inclut l'API, les mouvements de ligne, plusieurs bankrolls et le comparateur complet.