Skip to main content

Event Object (Prematch)

FieldTypeDescription
idnumberEvent ID — use with Event Detail.
sportIdnumberSport ID.
leagueIdnumberLeague ID.
leagueNamestringLeague display name.
homeTeam / awayTeamstringTeam names.
homeTeamId / awayTeamIdnumberTeam IDs.
homeImage / awayImagestring | nullTeam logo URLs.
startTimenumberUnix timestamp (seconds).
startTimeISOstringISO 8601 datetime, e.g. "2026-06-21T16:00:00.000Z".
marketCountnumberTotal betting markets available.
winProbabilityobject | null{ P1, PX, P2 } home / draw / away (0–1).
venuestring | nullStadium / venue name.
roundstring | nullRound info.
oddsobjectPre-parsed main odds — see below.

Odds Object

FieldTypeExample
odds.1x2object{ home: 1.107, draw: 11.8, away: 36 }
odds.double_chanceobject{ "1X": 1.001, "X2": 1.063, "12": 8.1 }
odds.totalsobject{ "over_2.5": 3.02, "under_2.5": 1.42 }
odds.bttsobject{ yes: 1.44, no: 2.75 }
odds.draw_no_betobject{ home: 1.375, away: 3.1 }
odds.handicaparray[{ type: "home", line: -2.5, odds: 1.782 }]

Live Event Object

Extends the prematch Event Object with:
FieldTypeDescription
isLivebooleanAlways true for live events.
scoreobject{ home, away } current full-time score.
periodScoresarray[{ period, name, home, away }].
currentPeriodnumberCurrent period number.
currentPeriodNamestringe.g. "1st half", "Half Time", "Extra Time".
timerSecondsnumber | nullMatch clock in seconds.
timerMinutesnumber | nullMatch clock in minutes.
infostring | nullExtra info ("Penalties 3-2", "Delayed").
hasVideobooleanStream availability flag.
videoIdstring | nullStream identifier.
statsarrayLive match statistics (only on /live/leagues/{id}).

Caching Behavior

EndpointTTL
/api/v1/sports600 s
/api/v1/sports/{id}/leagues300 s
/api/v1/events/top, /api/v1/leagues/{id}/events30 s
/api/v1/event/{id}60 s
/api/v1/live/sports10 s
/api/v1/live/events, /api/v1/live/leagues/{id}5 s
/api/v1/live/event/{id}5 s
Cache is in-memory with LRU eviction (max 500 entries). Stale entries trigger a fresh upstream fetch — stale data is never served.

Error Handling

Standard error response:
{ "error": "Error message here" }
HTTPMeaning
200Success
400Bad request (missing or invalid parameters)
401Unauthorized (missing or invalid x-api-key)
404Endpoint not found
500Internal server error (upstream failure)
Empty data is not an error. A sport with no live events returns { "data": [], "count": 0 }.
Last modified on June 22, 2026