> ## Documentation Index
> Fetch the complete documentation index at: https://docs.therundown.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Get events with markets for a sport and date

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

The response includes `meta.delta_last_id` which serves as the bootstrap cursor for the `/api/v2/markets/delta` polling endpoint.




## OpenAPI

````yaml get /api/v2/sports/{sportID}/events/{date}
openapi: 3.1.0
info:
  title: TheRundown Sports API
  version: 2.0.0
  description: >
    Real-time and historical sports betting data, odds, lines, and statistics
    across major North American and international sports leagues.


    ## Authentication

    All endpoints (except `/sports` and `/affiliates`) require authentication.
    Pass your API key using one of:

    - **Query parameter**: `?key=YOUR_API_KEY`

    - **Header**: `X-Therundown-Key: YOUR_API_KEY`

    ## Off-the-Board Sentinel Value

    The value **0.0001** indicates a line is "off the board" — the sportsbook
    has temporarily removed pricing (e.g., pending injury news). This is NOT an
    error. Display as "Off Board" or "N/A" in your UI.


    ## Rate Limiting

    Requests are rate-limited per API key tier. Check response headers for
    current limits.


    ## Data Updates

    - Live odds update in real-time during games

    - Use delta endpoints for efficient polling of changes

    - WebSocket connections available for streaming updates


    ## V1 vs V2

    V2 endpoints use market-based data structures (market_id, participants, line
    prices). V1 endpoints use legacy line-based structures (moneyline, spread,
    total objects). V2 is recommended for new integrations.
  contact:
    name: TheRundown API Support
    url: https://therundown.io
    email: support@therundown.io
  termsOfService: https://therundown.io/terms
servers:
  - url: https://therundown.io
    description: Production
security:
  - ApiKeyQuery: []
  - ApiKeyHeader: []
tags:
  - name: V2 Sports
    description: Sport listings, dates, and teams (V2)
  - name: V2 Events
    description: Events with market-based odds (V2)
  - name: V2 Markets
    description: Market definitions, odds, deltas, and history (V2)
  - name: V2 Teams
    description: Team data, players, and stats (V2)
  - name: V2 Players
    description: Player data (V2)
  - name: V2 Stats
    description: Team and player statistics (V2)
  - name: V2 WebSocket
    description: Real-time streaming via WebSocket (V2)
  - name: V2 Reference
    description: Reference data — affiliates, sportsbooks, season types (V2)
  - name: V1 Events
    description: Events with line-based odds (V1 legacy)
  - name: V1 Lines
    description: Moneyline, spread, total, best-line endpoints (V1 legacy)
  - name: V1 Sports
    description: Sport listings, dates, events, schedules (V1 legacy)
  - name: V1 Delta
    description: Delta/change feeds (V1 legacy)
  - name: V1 Reference
    description: Reference data (V1 legacy)
  - name: V1 WebSocket
    description: Real-time streaming via WebSocket (V1 legacy)
paths:
  /api/v2/sports/{sportID}/events/{date}:
    get:
      tags:
        - V2 Events
      summary: Get events with markets for a sport and date
      description: >
        Returns events with full market/odds data for the specified sport and
        date. This is the primary endpoint for building odds screens.


        The response includes `meta.delta_last_id` which serves as the bootstrap
        cursor for the `/api/v2/markets/delta` polling endpoint.
      operationId: v2GetEventsBySportAndDate
      parameters:
        - $ref: '#/components/parameters/SportIDPath'
        - name: date
          in: path
          required: true
          schema:
            type: string
            format: date
            example: '2026-01-15'
        - $ref: '#/components/parameters/OffsetQuery'
        - $ref: '#/components/parameters/MarketIDsQuery'
        - $ref: '#/components/parameters/ParticipantIDsQuery'
        - $ref: '#/components/parameters/ParticipantTypeQuery'
        - $ref: '#/components/parameters/AffiliateIDsQuery'
        - $ref: '#/components/parameters/MainLineQuery'
        - name: hide_no_markets
          in: query
          schema:
            type: string
            enum:
              - 'true'
              - 'false'
            default: 'false'
          description: Hide events with no market data
        - name: exclude_status
          in: query
          schema:
            type: string
          description: Comma-separated event status strings to exclude
      responses:
        '200':
          description: Events with markets
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EventsV2Response'
              example:
                meta:
                  delta_last_id: 11ef-abcd-1234-5678-9012-abcdef123456
                events:
                  - event_id: 816efd1e5767d7133b5bc70c77173a18
                    sport_id: 4
                    event_uuid: 11f1-197d-e93ea800-8c2a-ef6a554ca62d
                    event_date: '2026-01-15T00:00:00Z'
                    score:
                      event_status: STATUS_SCHEDULED
                      score_away: 0
                      score_home: 0
                      game_period: 0
                      game_clock: 0
                    teams:
                      - team_id: 145
                        name: Los Angeles
                        mascot: Lakers
                        abbreviation: LAL
                        record: 38-18
                        is_away: true
                        is_home: false
                      - team_id: 153
                        name: Boston
                        mascot: Celtics
                        abbreviation: BOS
                        record: 42-14
                        is_away: false
                        is_home: true
                    schedule:
                      event_name: Los Angeles Lakers at Boston Celtics
                      season_type: Regular Season
                      season_year: 2026
                    markets:
                      - market_id: 1
                        period_id: 0
                        name: moneyline
                        participants:
                          - id: 145
                            type: TYPE_TEAM
                            name: Los Angeles Lakers
                            lines:
                              - value: ''
                                prices:
                                  '19':
                                    price: 150
                                    is_main_line: true
                                    updated_at: '2026-01-14T22:30:00Z'
                                  '23':
                                    price: 155
                                    is_main_line: true
                                    updated_at: '2026-01-14T22:28:00Z'
                          - id: 153
                            type: TYPE_TEAM
                            name: Boston Celtics
                            lines:
                              - value: ''
                                prices:
                                  '19':
                                    price: -180
                                    is_main_line: true
                                    updated_at: '2026-01-14T22:30:00Z'
                                  '23':
                                    price: -185
                                    is_main_line: true
                                    updated_at: '2026-01-14T22:28:00Z'
                      - market_id: 2
                        period_id: 0
                        name: handicap
                        participants:
                          - id: 145
                            type: TYPE_TEAM
                            name: Los Angeles Lakers
                            lines:
                              - value: '4.5'
                                prices:
                                  '19':
                                    price: -110
                                    is_main_line: true
                                    updated_at: '2026-01-14T22:30:00Z'
                                  '23':
                                    price: -108
                                    is_main_line: true
                                    updated_at: '2026-01-14T22:28:00Z'
                          - id: 153
                            type: TYPE_TEAM
                            name: Boston Celtics
                            lines:
                              - value: '-4.5'
                                prices:
                                  '19':
                                    price: -110
                                    is_main_line: true
                                    updated_at: '2026-01-14T22:30:00Z'
                                  '23':
                                    price: -112
                                    is_main_line: true
                                    updated_at: '2026-01-14T22:28:00Z'
                      - market_id: 3
                        period_id: 0
                        name: totals
                        participants:
                          - id: 1001
                            type: TYPE_RESULT
                            name: Over
                            lines:
                              - value: '224.5'
                                prices:
                                  '19':
                                    price: -110
                                    is_main_line: true
                                    updated_at: '2026-01-14T22:30:00Z'
                          - id: 1002
                            type: TYPE_RESULT
                            name: Under
                            lines:
                              - value: '224.5'
                                prices:
                                  '19':
                                    price: -110
                                    is_main_line: true
                                    updated_at: '2026-01-14T22:30:00Z'
components:
  parameters:
    SportIDPath:
      name: sportID
      in: path
      required: true
      schema:
        type: integer
      description: >
        Sport ID. Common values: 1=NCAAF, 2=NFL, 3=MLB, 4=NBA, 5=NCAAB, 6=NHL,
        7=UFC, 8=WNBA, 9=CFL, 10=MLS, 11=EPL, 16=UEFA Champions League, 33=UEFA
        Europa League, 38=ATP Tennis, 39=WTA Tennis
    OffsetQuery:
      name: offset
      in: query
      schema:
        type: integer
        default: 0
        example: 300
      description: >-
        UTC offset in **minutes** for the date boundary. Use `300` for US
        Central, `240` for Eastern, `360` for Mountain, `420` for Pacific.
        Without this, the API day boundary is midnight UTC.
    MarketIDsQuery:
      name: market_ids
      in: query
      schema:
        type: string
        default: 1,2,3
      description: >
        Comma-separated market IDs. Defaults to `1,2,3` (Moneyline, Spread,
        Total).

        **Limit: 12 market IDs per request.** IDs beyond the 12th are silently
        ignored.

        Common IDs: 1=Moneyline, 2=Spread, 3=Total, 29=Player Points, 35=Player
        Rebounds, 38=Three Pointers, 39=Player Assists, 93=Player PRA, 94=Team
        Totals.

        Live variants: 41=Live ML, 42=Live Spread, 43=Live Total.

        If you need more than 12 markets, make multiple requests.
    ParticipantIDsQuery:
      name: participant_ids
      in: query
      schema:
        type: string
      description: Comma-separated participant IDs to filter (max 99)
    ParticipantTypeQuery:
      name: participant_type
      in: query
      schema:
        type: string
        enum:
          - TYPE_TEAM
          - TYPE_PLAYER
          - TYPE_RESULT
      description: Filter participants by type
    AffiliateIDsQuery:
      name: affiliate_ids
      in: query
      schema:
        type: string
      description: >-
        Comma-separated sportsbook/affiliate IDs to filter. Common values
        include DraftKings (19), FanDuel (23), BetMGM (22), Bovada (2), Pinnacle
        (3).
    MainLineQuery:
      name: main_line
      in: query
      schema:
        type: string
        enum:
          - 'true'
          - 'false'
        default: 'false'
      description: Only return main lines (primary odds, not alternates)
  schemas:
    EventsV2Response:
      type: object
      properties:
        meta:
          $ref: '#/components/schemas/Meta'
        events:
          type: array
          items:
            $ref: '#/components/schemas/EventV2'
    Meta:
      type: object
      properties:
        delta_last_id:
          type: string
    EventV2:
      type: object
      properties:
        event_id:
          type: string
          description: >-
            Canonical event identifier string used by V2 endpoints, filters, and
            delta feeds.
          example: 816efd1e5767d7133b5bc70c77173a18
        event_uuid:
          type: string
          description: >-
            Compatibility identifier retained for older integrations. Do not
            assume it matches `event_id`.
          example: 11f1-197d-e93ea800-8c2a-ef6a554ca62d
        sport_id:
          type: integer
          example: 4
        event_date:
          type: string
          format: date-time
        rotation_number_away:
          type: integer
        rotation_number_home:
          type: integer
        score:
          $ref: '#/components/schemas/Score'
        teams:
          type: array
          items:
            $ref: '#/components/schemas/TeamNormalized'
        schedule:
          $ref: '#/components/schemas/Schedule'
        pitcher_away:
          $ref: '#/components/schemas/Pitcher'
        pitcher_home:
          $ref: '#/components/schemas/Pitcher'
        markets:
          type: array
          items:
            $ref: '#/components/schemas/MarketResponse'
    Score:
      type: object
      properties:
        event_id:
          type: string
        event_status:
          type: string
          description: >
            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:
          type: integer
          description: Away team ID. Omitted when zero.
        team_id_home:
          type: integer
          description: Home team ID. Omitted when zero.
        score_away:
          type: integer
        score_home:
          type: integer
        winner_away:
          type: integer
        winner_home:
          type: integer
        score_away_by_period:
          type: array
          items:
            type: integer
        score_home_by_period:
          type: array
          items:
            type: integer
        venue_name:
          type: string
          description: >-
            Arena or stadium name. May be an empty string when unavailable from
            the live feed.
        venue_location:
          type: string
          description: >-
            City and state. May be an empty string when unavailable from the
            live feed.
        game_clock:
          type: integer
        display_clock:
          type: string
        game_period:
          type: integer
        broadcast:
          type: string
        event_status_detail:
          type: string
        updated_at:
          type: string
          format: date-time
    TeamNormalized:
      type: object
      properties:
        team_id:
          type: integer
        name:
          type: string
        mascot:
          type: string
        abbreviation:
          type: string
        record:
          type: string
        is_home:
          type: boolean
        is_away:
          type: boolean
        ranking:
          type: integer
          nullable: true
        conference:
          $ref: '#/components/schemas/Conference'
        division:
          $ref: '#/components/schemas/Division'
    Schedule:
      type: object
      properties:
        season_type:
          type: string
          example: Regular Season
        season_year:
          type: integer
          example: 2026
        conference_competition:
          type: boolean
          nullable: true
        conference_name:
          type: string
        league_name:
          type: string
          nullable: true
        event_name:
          type: string
        attendance:
          type: string
        event_headline:
          type: string
        week:
          type: integer
        week_name:
          type: string
        week_detail:
          type: string
    Pitcher:
      type: object
      properties:
        id:
          type: integer
        name:
          type: string
        throws_left_handed:
          type: boolean
          nullable: true
        throws_right_handed:
          type: boolean
          nullable: true
        bats_left_handed:
          type: boolean
          nullable: true
        bats_right_handed:
          type: boolean
          nullable: true
    MarketResponse:
      type: object
      description: Market with participants and prices for a specific event
      properties:
        id:
          type: integer
          format: int64
        market_id:
          type: integer
          example: 1
        period_id:
          type: integer
        name:
          type: string
          example: Money Line
        market_description:
          type: string
        participants:
          type: array
          items:
            $ref: '#/components/schemas/MarketParticipantResponse'
    Conference:
      type: object
      properties:
        conference_id:
          type: integer
        sport_id:
          type: integer
        name:
          type: string
    Division:
      type: object
      properties:
        division_id:
          type: integer
        conference_id:
          type: integer
        sport_id:
          type: integer
        name:
          type: string
    MarketParticipantResponse:
      type: object
      properties:
        id:
          type: integer
          description: >-
            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.
          example: 51
        type:
          type: string
          description: >-
            Kind of participant. Determines what `id` points to (team, player,
            or result outcome).
          enum:
            - TYPE_TEAM
            - TYPE_PLAYER
            - TYPE_RESULT
        name:
          type: string
          description: >-
            Display name. Not guaranteed unique across participants — join on
            `id`, not `name`.
          example: New England Patriots
        lines:
          type: array
          items:
            $ref: '#/components/schemas/MarketLinesResponse'
    MarketLinesResponse:
      type: object
      properties:
        id:
          type: string
        value:
          type: string
          description: >-
            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:
          type: string
        handicap:
          type: string
        prices:
          type: object
          description: Prices keyed by affiliate ID
          additionalProperties:
            $ref: '#/components/schemas/MarketLinePriceResponse'
    MarketLinePriceResponse:
      type: object
      properties:
        id:
          type: string
        price:
          type: number
          description: American odds price. Value of 0.0001 means "off the board".
          example: -110
        price_delta:
          type: number
          nullable: true
          description: Change from previous price
        is_main_line:
          type: boolean
          description: Whether this is the primary/main line
        updated_at:
          type: string
          format: date-time
        closed_at:
          type: string
          format: date-time
          nullable: true
  securitySchemes:
    ApiKeyQuery:
      type: apiKey
      in: query
      name: key
      description: API key as query parameter
    ApiKeyHeader:
      type: apiKey
      in: header
      name: X-Therundown-Key
      description: API key as request header

````