Proba Bet
Prova gratis

Piano Sharp · REST · JSON

Documentazione API

I dati della tua dashboard, in JSON, con gli stessi filtri (i tuoi bookmaker, altrimenti quelli del tuo paese e quelli internazionali): opportunità dell'ultima scansione (una scansione al minuto), surebet, multiple e probabilità giuste di ogni partita (aggiornate ogni 5 minuti). URL di base: https://proba.bet.

Autenticazione

Crea una chiave in Impostazioni → API (piano Sharp, massimo 3 chiavi attive). Inviala nell'header Authorization: Bearer. Il parametro ?api_key= è accettato per i fogli di calcolo, ma sconsigliato: la chiave finisce così nei log e nella cronologia. La chiave viene mostrata una sola volta; conserviamo solo il suo hash SHA-256.

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

Limite giornaliero

20.000 richieste per chiave e per giorno (UTC), azzerate alle 00:00 UTC. Ogni risposta riuscita contiene X-RateLimit-Limit e X-RateLimit-Remaining (anche una 429, con Retry-After). Le opportunità cambiano al massimo una volta al minuto (quote dei bookmaker britannici: ogni 1-2 minuti), le probabilità delle partite ogni 5 minuti: interrogare più spesso è inutile.

Endpoint

EndpointParametriRestituisce
GET /api/v1/me—plan, daily_limit, remaining_today
GET /api/v1/opportunitieskind=value|surebet|combo (predefinito value) · min_ev (frazione; vantaggio per value, predefinito 0,02; profitto per surebet, predefinito 0,005; ignorato per combo) · sport (senza effetto su combo) · limit (≤ 1000, predefinito 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, predefinito 96; vincitori di torneo o di gara fino a 14 giorni) · limit (≤ 1000, predefinito 600) — oppure id=<event_id>: una riga per esito (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)

Esempio: value bet

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

Vengono restituite solo le scommesse giocabili sui tuoi bookmaker (Impostazioni) — in mancanza, su quelli del tuo paese e su quelli internazionali —; per una surebet, tutte le sue gambe. book / price / ev indicano la migliore offerta tra tutti i bookmaker: prendi la tua da book o alt_books. grade A = selezione di Babeth (tracciata nel track record pubblico); B = pubblicata con segnalazioni; C = da verificare prima di scommettere. ev_expected = parte del vantaggio attesa alla chiusura (base della puntata); kelly = Kelly pieno su ev_expected; published_at = ora della scansione; first_seen = prima comparsa. Le date sono in ISO 8601 UTC.

Esempio: probabilità delle partite

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"

Errori

Webhook

Invece di interrogare l'API, lascia che sia Babeth a chiamarti: in Impostazioni → Webhook, inserisci un URL HTTPS pubblico e lascia attivo “Attiva gli avvisi”. Ogni nuova scommessa della selezione sui tuoi bookmaker (stessi filtri dei tuoi avvisi, ore di silenzio comprese) viene inviata (POST) con la tua puntata. Una chiamata fallita (timeout, codice fuori da 2xx, reindirizzamento) viene ritentata alla scansione successiva; dopo 5 fallimenti, l'invio si ferma per 10 minuti. Eccezionalmente una stessa scommessa può arrivare due volte: deduplica su 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
  }]
}

Verifica la firma prima di fidarti del payload:

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

Rispondi 2xx entro 5 secondi, senza reindirizzamento. L'evento `test` arriva dal pulsante “Invia un test”.

Condizioni

Uso personale o per i tuoi strumenti. Nessuna rivendita dei dati, nessuna ridistribuzione pubblica. Le chiavi possono essere revocate in qualsiasi momento dalle Impostazioni. Dati di supporto alle decisioni, nessuna garanzia di vincita.

Ti serve l'API?

Il piano Sharp include l'API, i movimenti di quota, più bankroll e il comparatore completo.