AlyBet Odds API — Enterprise Integration

Real-time betting odds. Zero auth. Stable polling API.

Checking API...
API Docs 🔌 Test Connection System Status Live Odds
START HERE (2 minutes)
Base URL
https://alybet.io
Main Endpoint
GET /api/v2/odds
Format
JSON
Auth
NONE

Quick Start — 3 Steps

1
Test now
curl https://alybet.io/api/v2/odds | jq '.matches[0]'
If you see JSON → API is working.
2
Integrate (copy-paste)
// alybet.js
const BASE = "https://alybet.io";

export async function getOdds(bookmaker) {
  const url = bookmaker
    ? `${BASE}/api/v2/odds?bookmaker=${bookmaker}`
    : `${BASE}/api/v2/odds`;
  const res = await fetch(url);
  if (!res.ok) throw new Error(`HTTP ${res.status}`);
  return await res.json();
}

// Usage:
// const data = await getOdds();
// const winner = await getOdds("winner");
3
Poll correctly (important)
Poll every 10–30s. Check version — process only when it changes.
let lastVersion = 0;
setInterval(async () => {
  const data = await (await fetch('https://alybet.io/api/v2/odds')).json();
  if (data.version !== lastVersion) {
    lastVersion = data.version;
    // process data.matches
  }
}, 15000);

Endpoint Decision Table

EndpointWhen to useStatus
/api/v2/oddsProduction — all new integrationsREQUIRED
/api/oddsLegacy clients onlyDEPRECATED
/api/capabilitiesStartup discoveryOPTIONAL
/healthMonitoring / uptime checksOPTIONAL
/api/statsInternal debuggingOPTIONAL

Response Format — /api/v2/odds

{
  "version": 8,
  "matches": [
    {
      "id": "superbet_11521552",
      "sport": "football",
      "bookmaker": "Superbet",
      "home": "Lech Poznan",
      "away": "Gornik Zabrze",
      "league": "Ekstraklasa",
      "odds": { "1": 2.10, "X": 3.40, "2": 3.20 },
      "start_time": 1772722800,
      "updated": 1770477003
    }
  ],
  "matches_count": 150
}
FieldTypeNotes
idstring{bookmaker}_{source_id}
sportstringCurrently "football"
bookmakerstringBetika, Superbet, or Winner
home / awaystringTeam names (empty entries excluded)
leaguestring"Unknown" if unavailable
oddsobject{"1": home, "X": draw, "2": away}
start_timenumber|nullUnix ts, null if unknown
updatednumberUnix ts of last data update

API Contract

Guarantees
  • Stable JSON schema
  • Documented fields only
  • Backward compat on /api/odds
  • Versioning via version field
  • No auth required
Non-guarantees
  • No WebSocket / push
  • No authentication tokens
  • No SLA (best-effort uptime)
  • Match count may vary
  • Bookmaker list may change

Production Checklist

Using /api/v2/odds (not v1)
Polling every 10–30 seconds
Retry on 500/504 with exponential backoff
Caching by version field
Calling /api/capabilities at startup

Downloads

Import Postman collection for instant endpoint testing. Sample JSON for local dev without API calls.

Error Handling

HTTPMeaningAction
200SuccessProcess response
404Not foundCheck /api/capabilities
500Server errorRetry with exponential backoff
504TimeoutRetry after 5s

Live Test