---
title: "Get events with markets for a sport and date"
method: GET
path: "/api/v2/sports/{sportID}/events/{date}"
tags: ["V2 Events"]
---

# Get events with markets for a sport and date

`GET /api/v2/sports/{sportID}/events/{date}`

## Request

- Base URL: `https://therundown.io`
- URL: `https://therundown.io/api/v2/sports/{sportID}/events/{date}`
- Auth: API key in header `X-TheRundown-Key`

Returns events with full market/odds data for the specified sport and date. This is the primary endpoint for building odds screens.

`main_line=true` also excludes closed prices while selecting main lines.

For known zero-delay access, this response's positive whole-integer `meta.delta_last_id` can bootstrap `/api/v2/markets/delta` only when this response explicitly reports `X-Data-Delay-Seconds: 0`. If that header is positive, absent, or invalid, use scoped snapshots instead; do not start market-delta polling with `0`.

## Path parameters

- `sportID` integer, required
- `date` string, date, required

## Query parameters

- `offset` integer
- `market_ids` string
- `participant_ids` string
- `participant_type` 'TYPE_TEAM' | 'TYPE_PLAYER' | 'TYPE_RESULT'
- `affiliate_ids` string
- `main_line` 'true' | 'false'
- `hide_closed` 'true' | 'false'
- `hide_no_markets` 'true' | 'false'
- `event_status` string
- `exclude_status` string

## Response `200`

Events with markets

- EventsV2Response
  - `meta` EventsSnapshotMeta, nullable
    - `delta_last_id` union: Positive whole-integer cursor for `/api/v2/markets/delta`. The API may return it as an integer or a numeric string. Use a snapshot value to begin market-delta polling only for known zero-delay access when that snapshot explicitly reports `X-Data-Delay-Seconds: 0`; otherwise use scoped snapshots and never substitute `0`.
      - integer
      - string
  - `events` EventV2[]
    - `event_id` string: Canonical event identifier string used by V2 endpoints, filters, and delta feeds.
    - `event_uuid` string: Compatibility identifier retained for older integrations. Do not assume it matches `event_id`.
    - `sport_id` integer
    - `event_date` string, date-time
    - `rotation_number_away` integer
    - `rotation_number_home` integer
    - `score` Score
      - `event_id` string
      - `event_status` string: Event status. Common values: STATUS_SCHEDULED, STATUS_IN_PROGRESS, STATUS_FINAL, STATUS_POSTPONED, STATUS_CANCELED, STATUS_SUSPENDED, STATUS_DELAYED, STATUS_RAIN_DELAY, STATUS_HALFTIME, STATUS_END_PERIOD, STATUS_END_OF_REGULATION, STATUS_OVERTIME, STATUS_FIRST_HALF, STATUS_SECOND_HALF
      - `team_id_away` integer: Away team ID. Omitted when zero.
      - `team_id_home` integer: Home team ID. Omitted when zero.
      - `score_away` integer
      - `score_home` integer
      - `winner_away` integer
      - `winner_home` integer
      - `score_away_by_period` integer[]: Away team's per-period scores, not running totals; index `0` is the first period. Overtime periods are appended. Read this array by its own length. Its sum is not guaranteed to equal `score_away`; verify before using it.
      - `score_home_by_period` integer[]: Home team's per-period scores, not running totals; index `0` is the first period. Overtime periods are appended. Read this array by its own length. Its sum is not guaranteed to equal `score_home`; verify before using it.
      - `venue_name` string: Arena or stadium name. May be an empty string when unavailable.
      - `venue_location` string: City and state. May be an empty string when unavailable.
      - `game_clock` integer
      - `display_clock` string
      - `is_clock_running` boolean: Clock-running flag when supplied. Omitted when unavailable.
      - `game_period` integer
      - `broadcast` string
      - `event_status_detail` string
      - `updated_at` string, date-time
    - `teams` TeamNormalized[]
      - `team_id` integer
      - `name` string
      - `mascot` string
      - `abbreviation` string
      - `record` string
      - `is_home` boolean
      - `is_away` boolean
      - `ranking` integer, nullable
      - `conference` Conference
        - `conference_id` integer
        - `sport_id` integer
        - `name` string
      - `division` Division
        - `division_id` integer
        - `conference_id` integer
        - `sport_id` integer
        - `name` string
    - `schedule` Schedule
      - `season_type` string
      - `season_year` integer
      - `conference_competition` boolean, nullable
      - `conference_name` string
      - `league_name` string, nullable
      - `event_name` string
      - `attendance` string
      - `event_headline` string
      - `game_number` 1 | 2: Game number for a true MLB doubleheader. Omitted for ordinary and standalone makeup games.
      - `game_type` 'doubleheader' | 'makeup' | 'doubleheader_makeup': Structured MLB doubleheader or makeup classification. Omitted for ordinary games.
      - `week` integer
      - `week_name` string
      - `week_detail` string
    - `pitcher_away` Pitcher
      - `id` integer
      - `name` string
      - `throws_left_handed` boolean, nullable
      - `throws_right_handed` boolean, nullable
      - `bats_left_handed` boolean, nullable
      - `bats_right_handed` boolean, nullable
    - `pitcher_home` Pitcher
      - `id` integer
      - `name` string
      - `throws_left_handed` boolean, nullable
      - `throws_right_handed` boolean, nullable
      - `bats_left_handed` boolean, nullable
      - `bats_right_handed` boolean, nullable
    - `markets` MarketResponse[]
      - `id` integer
      - `market_id` integer
      - `period_id` integer
      - `name` string
      - `market_description` string
      - `participants` MarketParticipantResponse[]
        - `id` integer: Stable, joinable participant identifier. Join on this field rather than name to avoid shared-name collisions. Its meaning depends on `type`: for `TYPE_TEAM` it is the normalized team ID (stable across seasons, matches `event.teams[].team_id`; full record at GET /api/v2/teams/{team_id}); for `TYPE_PLAYER` it is the player ID (full record at GET /api/v2/players/{player_id}); for `TYPE_RESULT` it is a small outcome index (e.g. 0/1 for Over/Under) and is not a team or player resource key.
        - `type` 'TYPE_TEAM' | 'TYPE_PLAYER' | 'TYPE_RESULT': Kind of participant. Determines what `id` points to (team, player, or result outcome).
        - `name` string: Display name. Not guaranteed unique across participants: join on `id`, not `name`.
        - `lines` MarketLinesResponse[]
          - `id` string
          - `value` string: Line value. For spreads/totals this is numeric; for some prop and special markets it can be a method, round, threshold, or other display value. When `line_value_is_participant` is true, the participant usually carries the selection.
          - `selection` string
          - `handicap` string
          - `prices` object: Prices keyed by affiliate ID
    - `live_game_state` LiveGameState: Real-time game-state snapshot embedded on live event payloads. Requires the live game state entitlement (Ultra plan or higher); keys without it never receive this field. Sport-specific blocks (`mlb`, `football`, `basketball`, `hockey`) are present only for the relevant sport.
      - `event_id` string
      - `sport_id` integer
      - `sport` string: Sport slug: `mlb`, `nba`, `nba-summer`, `ncaab`, `nfl`, `ncaaf`, `nhl`, `wnba`, or `soccer`
      - `period` integer: Current period/inning/quarter number
      - `half_indicator` string: Half within the period where applicable (e.g. `top`/`bottom` for MLB innings)
      - `display_clock` string: Clock display string. Omitted when inapplicable or not yet known.
      - `clock_seconds` integer: The same clock in seconds. Omitted when inapplicable or not yet known.
      - `clock_running` boolean: Whether the clock has been observed running. Omitted when inapplicable or not yet known.
      - `clock_as_of` string, date-time: When this clock value was observed, separate from the state row's updated_at.
      - `last_play` LastPlayRef: Reference to the most recent play, mirrored from the play-by-play timeline
        - `play_id` integer
        - `sequence` integer
        - `type` string
        - `result` string
        - `description` string
        - `team_id` integer
        - `scoring_play` boolean
        - `score_value` integer
        - `occurred_at` string, date-time
        - `win_probability_home` number
        - `participants` PlayParticipant[]
          - `player_id` integer: Normalized player ID: joins to the players endpoints
          - `name` string
          - `team_id` integer
          - `role` string
          - `position` string
      - `updated_at` string, date-time
      - `mlb` object: Baseball-only snapshot
        - `balls` integer
        - `strikes` integer
        - `outs` integer
        - `on_first` PlayPlayerSummary
          - `player_id` integer
          - `name` string
          - `team_id` integer
        - `on_second` PlayPlayerSummary
          - `player_id` integer
          - `name` string
          - `team_id` integer
        - `on_third` PlayPlayerSummary
          - `player_id` integer
          - `name` string
          - `team_id` integer
        - `current_batter` PlayPlayerSummary
          - `player_id` integer
          - `name` string
          - `team_id` integer
        - `current_pitcher` PlayPlayerSummary
          - `player_id` integer
          - `name` string
          - `team_id` integer
      - `football` object: NFL/NCAAF-only snapshot
        - `possession_team_id` integer
        - `down` integer
        - `distance` integer
        - `yard_line` integer
        - `down_distance_text` string
        - `short_down_distance_text` string
        - `possession_text` string
        - `is_red_zone` boolean
        - `home_timeouts` integer
        - `away_timeouts` integer
      - `basketball` object: NBA/WNBA/NCAAB-only snapshot
        - `possession_team_id` integer
        - `home_timeouts` integer
        - `away_timeouts` integer
        - `home_in_bonus` boolean
        - `away_in_bonus` boolean
      - `hockey` object: NHL-only snapshot
        - `possession_team_id` integer
        - `strength` string: Skater strength situation (e.g. even strength, power play)
        - `power_play_team_id` integer
        - `home_shots_on_goal` integer
        - `away_shots_on_goal` integer
        - `home_goalie_pulled` boolean
        - `away_goalie_pulled` boolean
    - `affiliate_source_ids` object: Map of affiliate ID (as a string) to that sportsbook's own identifier for this event, when available. Useful for deep-linking or joining against a book's data. For Polymarket (affiliate 26) the value is the Polymarket event slug; see the Source identifiers section of the Sportsbook reference.

## Changes

- **2026-10-29** `5a4eb15704f7`: 5 info
  - added the optional property `events/items/live_game_state/clock_as_of` to the response with the `200` status
  - added the optional property `events/items/live_game_state/clock_running` to the response with the `200` status
  - added the optional property `events/items/live_game_state/clock_seconds` to the response with the `200` status
  - added the optional property `events/items/live_game_state/display_clock` to the response with the `200` status
  - …1 more
- **2026-09-08** `8d16611813bf`: 2 breaking, 1 warning, 1 info
  - the response property `meta` became nullable for the status `200`
  - response property `meta/delta_last_id` list-of-types was widened by adding types `integer` to media type `application/json` of response `200`
  - removed the optional property `events/items/espn_uid` from the response with the `200` status
  - added the new optional `query` request parameter `hide_closed`
- **2026-08-13** `5aa0aa5c5f66`: 1 info
  - added the optional property `events/items/markets/items/participants/items/lines/items/prices/additionalProperties/liquidity_usd` to the response with the `200` status
- **2026-08-05** `f069d4e82f52`: 2 info
  - added the optional property `events/items/schedule/game_number` to the response with the `200` status
  - added the optional property `events/items/schedule/game_type` to the response with the `200` status

[Operation history](https://skmtc.dev/therundown/apis/therundown-sports-api/changes/api/v2/sports/:sportID/events/:date/get.md)

---

[API](https://skmtc.dev/therundown/apis/therundown-sports-api.md) - [All operations](https://skmtc.dev/therundown/apis/therundown-sports-api/llms.txt) - [OpenAPI document](https://skmtc.dev/therundown/apis/therundown-sports-api/revisions/b1735c57a340?raw)
