Live Events
GET /events/live returns all currently in-play events, optionally filtered by sport:
clock object with the current match clock. The same clock field also appears on live events returned by GET /events?status=live and GET /events/{id}.
The Clock Object
Live events carry an optionalclock field:
A few things to know:
clockis omitted entirely when no clock data is available for an event. Treat it as optional.minuteandplayedSecondsare extrapolated server-side from the live feed, so they stay accurate even when the response is served from cache.- The clock only advances while
runningistrue. During half-time and other breaks it freezes at the last played second. - For a per-second ticker in your UI, extrapolate client-side from
playedSecondsat the moment you received the response, whilerunningistrue.
statusDetail values
statusDetail is the live feed’s phase description passed through as-is. The exact
strings vary by sport; treat it as display text rather than an enum, and use
period + running for any betting logic. Values you can expect:
Rendering a football clock the conventional way
minute is cumulative elapsed play, so first-half stoppage time reads 46, 47,
48… To render the conventional 45+X / 90+X style, cap the minute at the
period boundary:
injuryTime carries the announced stoppage minutes when the fourth official
raises the board, so 45+2 with injuryTime: 4 tells you about two more
minutes of the half remain.
Participant Logos
GET /participants/{id}/logo returns the team or player crest as a PNG, served directly from the Odds-API domain:
homeId / awayId fields from event responses as the participant id, or look ids up via GET /participants.
- Responses include
Cache-Control: public, max-age=86400, so browsers and CDNs cache them for a day. You can hotlink the URL in an<img>tag. - Returns
404when no logo exists for the participant. Misses are cached server-side, so repeated lookups for logo-less participants stay fast. - Logos are served from our infrastructure; no third-party provider URLs are exposed to your users.
Next Steps
- Stream live scores and match status over WebSocket instead of polling, see the WebSocket guide
- Fetch odds for live events with Fetching Odds