Skip to main content
GET
/
v2
/
sports
/
live
List Live States
curl --request GET \
  --url https://api.predexon.com/v2/sports/live \
  --header 'x-api-key: <api-key>'
{
  "live_states": [
    {
      "game_id": "mlb-ari-pit-2026-05-07",
      "league": "mlb",
      "sport": "baseball",
      "game_date": "2026-05-07",
      "title": "Arizona Diamondbacks vs Pittsburgh Pirates",
      "home_team": null,
      "away_team": null,
      "participants": [
        {
          "code": "ari",
          "name": "Arizona Diamondbacks"
        },
        {
          "code": "pit",
          "name": "Pittsburgh Pirates"
        }
      ],
      "status": "open",
      "status_text": null,
      "live": false,
      "ended": false,
      "period": null,
      "clock": null,
      "score": {
        "home": null,
        "away": null,
        "display": null
      },
      "winner": null,
      "ended_at": null,
      "last_play": null,
      "significant_events": [],
      "reliability": {
        "state": "no_data",
        "source_count": 0,
        "sources": [],
        "conflict": false,
        "stale": true
      },
      "sources": [],
      "updated_at": null
    }
  ],
  "pagination": {
    "limit": 1,
    "has_more": true,
    "pagination_key": "eyJybyI6MS..."
  }
}

Overview

Returns live game-state snapshots keyed by canonical sports game_id. This endpoint is intentionally separate from market discovery. Use /v2/sports/games and /v2/sports/markets to discover tradeable outcomes, then use /v2/sports/live to read score, period, clock, winner, and source reliability for the broad real-world game.
If live state is not yet available for a game, games can still appear with reliability.state = "no_data" and null score fields.
For the broader model and source reliability semantics, see Sports Live State. For the websocket contract, see Sports Live WebSocket.

Query Parameters

ParamTypeDefaultDescription
sportstring-Filter by sport: basketball, soccer, hockey, baseball.
leaguestring-Filter by league code, e.g. mlb, nba, epl.
game_datestring-Exact game date, YYYY-MM-DD.
live_onlybooleanfalseOnly return games currently marked live.
include_sourcesbooleanfalseInclude source-level snapshots under sources[].
limitint501-200.
pagination_keystring-Opaque cursor from the previous response. Omit on the first request.

Response Fields

FieldTypeDescription
game_idstringBroad real-world sports fixture ID.
leaguestringLeague code.
sportstringSport name.
game_datestringCalendar date, YYYY-MM-DD.
titlestringDisplay title.
home_teamobject?Home team when known by source mapping.
away_teamobject?Away team when known by source mapping.
participants[]arrayKnown participants from canonical sports game metadata.
statusstringCurrent aggregate status or canonical market status fallback.
status_textstring?Source-derived display status, e.g. "Full-Time".
livebooleanWhether the game is currently live.
endedbooleanWhether the game has ended.
periodstring?Current period/inning/half/quarter.
clockstring?Current game clock where applicable.
score.homenumber?Home score when home/away mapping is known.
score.awaynumber?Away score when home/away mapping is known.
score.displaystring?Source/aggregate display score.
winnerstring?home, away, draw, or a source-native winner value.
last_playobject?Latest notable play when available. When present, it maps to the most recent item in significant_events[]. It can be null when no notable incident has happened yet or the source has not supplied one at that time.
significant_events[]arrayNormalized key incident list. Can include score changes, cards, substitutions, period events, game start/end, or source-supported other events. Empty when no incidents are available.
reliabilityobjectAggregate source reliability state.
sources[]arraySource-level snapshots when include_sources=true.
updated_atstring?Last aggregate update timestamp.

Event List Coverage

The event list uses the significant_events[] field on each live-state object. It is intended for key incidents, not every vendor-specific stat or full box score. Supported normalized event types include:
Event typeMeaning
score_changeScoring event, including soccer goals, basketball made shots/free throws, or other source-supported score changes.
yellow_cardSoccer yellow card.
red_cardSoccer red card.
substitutionSource-supplied substitution event.
period_startStart of a period, half, quarter, map, or similar segment when exposed by the source.
period_endEnd of a period, half, quarter, map, or similar segment when exposed by the source.
game_startGame started.
game_endGame ended or final status reached.
otherSource-supplied incident that does not map cleanly to a standard type yet.
Game coverage follows the same matched sports universe as GET /v2/sports/games and the sports venue coverage matrix. Incident availability is source- and sport-dependent. Kalshi soccer milestones commonly include goals, cards, substitutions, period events, and game-end events. Kalshi basketball can include made shots/free throws and period boundaries. Baseball play-by-play may be available for some games, but typed key incidents are less consistent. If no key incidents are available for a game, significant_events is returned as [].

Reliability States

StateMeaning
no_dataThe game exists, but no source has written live state.
single_sourceOne source has current state.
confirmedTwo or more sources agree on material fields.
conflictSources disagree on material fields such as score, winner, or ended status.
staleLatest available source state is too old for a live game.

Example

GET /v2/sports/live?league=mlb&limit=1
{
  "live_states": [
    {
      "game_id": "mlb-ari-pit-2026-05-07",
      "league": "mlb",
      "sport": "baseball",
      "game_date": "2026-05-07",
      "title": "Arizona Diamondbacks vs Pittsburgh Pirates",
      "home_team": null,
      "away_team": null,
      "participants": [
        { "code": "ari", "name": "Arizona Diamondbacks" },
        { "code": "pit", "name": "Pittsburgh Pirates" }
      ],
      "status": "open",
      "status_text": null,
      "live": false,
      "ended": false,
      "period": null,
      "clock": null,
      "score": {
        "home": null,
        "away": null,
        "display": null
      },
      "winner": null,
      "last_play": null,
      "significant_events": [],
      "reliability": {
        "state": "no_data",
        "source_count": 0,
        "sources": [],
        "conflict": false,
        "stale": true
      },
      "sources": [],
      "updated_at": null
    }
  ],
  "pagination": {
    "limit": 1,
    "has_more": true,
    "pagination_key": "eyJybyI6MS..."
  }
}

Authorizations

x-api-key
string
header
required

Data key provided by Predexon. The trading key used by the Order Router on trade.predexon.com is a separate credential.

Query Parameters

sport
enum<string>

Filter by sport.

Available options:
basketball,
soccer,
hockey,
baseball
league
string

Filter by league code.

game_date
string

Exact game date (YYYY-MM-DD).

live_only
boolean
default:false

Only return games currently marked live.

include_sources
boolean
default:false

Include source-level live state snapshots.

limit
integer
default:50

Max live states to return.

Required range: 1 <= x <= 200
pagination_key
string

Cursor from the previous response. Omit on the first request.

Response

200 - application/json

Successful response