> ## 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 line price chart data for a specific market

> Returns time-series price data suitable for charting line movement. To chart one participant, first discover its public `participant_id` with `GET /api/v2/markets/participants` for the same event and market, then pass that value here. For totals (market `3`), discover the `TYPE_RESULT` Over and Under participants and request each side separately. Series are grouped by affiliate and can otherwise contain points for more than one participant. `main_line=true` keeps only the points that were the main line when written.



## OpenAPI

````yaml get /api/v2/events/{eventID}/markets/{marketID}/history
openapi: 3.1.0
info:
  title: TheRundown Sports API
  version: 2.0.0
  description: >
    **Resolve the event first.** Ambiguous date, team, player, or timezone? The
    agent asks instead of guessing.


    **Every price carries evidence.** Event, market, affiliate ID, line, and the
    price update time. A fetch time is not freshness.


    **Missing stays missing.** No remembered odds, no synthetic prices, no
    filled gaps.


    **IDs come from the API.** Sports, markets, and affiliates are discovered at
    runtime. Retired affiliates stay out.


    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.
    Send your API key from a private server-side environment variable in the
    `X-TheRundown-Key` header.

    The query-key security scheme is retained for compatibility with existing
    integrations and deprecated for new integrations; do not put keys in URLs,
    prompts, browser bundles, or public code.

    ## 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:
  - 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 Futures
    description: >-
      Futures/outright competition events — championship and tournament-winner
      boards (V2, early access)
  - 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)
externalDocs:
  description: Build with AI guide
  url: https://therundown.io/build-with-ai
paths:
  /api/v2/events/{eventID}/markets/{marketID}/history:
    get:
      tags:
        - V2 Markets
      summary: Get line price chart data for a specific market
      description: >-
        Returns time-series price data suitable for charting line movement. To
        chart one participant, first discover its public `participant_id` with
        `GET /api/v2/markets/participants` for the same event and market, then
        pass that value here. For totals (market `3`), discover the
        `TYPE_RESULT` Over and Under participants and request each side
        separately. Series are grouped by affiliate and can otherwise contain
        points for more than one participant. `main_line=true` keeps only the
        points that were the main line when written.
      operationId: v2GetMarketLineHistoryByEvent
      parameters:
        - $ref: '#/components/parameters/EventIDPath'
        - name: marketID
          in: path
          required: true
          schema:
            type: integer
          description: Market ID
        - name: participant_id
          in: query
          schema:
            type: integer
          description: >-
            Filter by the public canonical `participant_id` returned by `GET
            /api/v2/markets/participants` for this event and market. For totals
            (market `3`), use the discovered `TYPE_RESULT` Over or Under
            participant ID; do not substitute the participant record `id`.
        - $ref: '#/components/parameters/AffiliateIDsQuery'
        - name: line
          in: query
          schema:
            type: string
          description: Filter by line value
        - name: from
          in: query
          schema:
            type: string
            format: date-time
          description: Inclusive start time (RFC3339)
        - name: to
          in: query
          schema:
            type: string
            format: date-time
          description: Inclusive end time (RFC3339)
        - name: limit
          in: query
          schema:
            type: integer
            default: 1000
            maximum: 5000
          description: >-
            Maximum total points across all returned sportsbooks. Invalid or
            out-of-range values use 1000.
        - $ref: '#/components/parameters/MainLineHistoryQuery'
      responses:
        '200':
          description: >-
            Chart series data, oldest first. The limit applies across all
            returned sportsbooks; there is no paging cursor or truncation flag.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ChartResponse'
              example:
                meta:
                  event_id: 09bfa53f8484a63e584398545c035932
                  market_id: 3
                  market_name: totals
                series:
                  '19':
                    affiliate_name: Affiliate 19
                    data:
                      - t: '2026-02-10T14:00:00Z'
                        p: '-110'
                        l: '224.5'
                        m: true
                      - t: '2026-02-11T09:30:00Z'
                        p: '-112'
                        l: '224.5'
                        m: true
                      - t: '2026-02-11T22:00:00Z'
                        p: '-108'
                        l: '225.5'
                        m: true
                  '23':
                    affiliate_name: Affiliate 23
                    data:
                      - t: '2026-02-10T14:05:00Z'
                        p: '-108'
                        l: '224.5'
                        m: true
                      - t: '2026-02-11T10:00:00Z'
                        p: '-110'
                        l: '224.5'
                        m: true
components:
  parameters:
    EventIDPath:
      name: eventID
      in: path
      required: true
      schema:
        type: string
      description: >-
        Canonical V2 event ID from the `event_id` field returned by event
        endpoints
    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), BookMaker (7),
        BetCRIS (9), Pinnacle (3), Polymarket US (31), Circa Sports (32), Bet105
        (33), and Heritage Sports (34). Availability varies by sport and market.

        On V2 event endpoints (`/api/v2/sports/{sportID}/events/{date}`,
        `/api/v2/events/{eventID}`, and their openers/closing siblings),
        `affiliate_ids=0` is a scores-only sentinel: the response keeps events,
        scores, and status and omits markets and price objects. Other endpoints
        that share this parameter treat `affiliate_ids` as a sportsbook filter
        only.
    MainLineHistoryQuery:
      name: main_line
      in: query
      schema:
        type: string
        enum:
          - 'true'
          - 'false'
        default: 'false'
      description: >-
        When `true`, return only history rows (or chart points) that were the
        sportsbook's main line when written — `is_main_line` = true on history
        rows, `m` = true on chart points. Sorted by time, each change of the
        line value for a participant is a main-line move at that timestamp.
  schemas:
    ChartResponse:
      type: object
      properties:
        meta:
          type: object
          properties:
            event_id:
              type: string
            market_id:
              type: integer
              format: int64
            market_name:
              type: string
        series:
          type: object
          description: Keyed by affiliate ID
          additionalProperties:
            $ref: '#/components/schemas/ChartSeries'
    ChartSeries:
      type: object
      properties:
        affiliate_name:
          type: string
        data:
          type: array
          items:
            type: object
            properties:
              t:
                type: string
                format: date-time
                description: Timestamp. Points are ordered oldest first.
              p:
                type: string
                description: Price
              c:
                type: string
                format: date-time
                description: >-
                  Closing timestamp for this history point; omitted if no
                  recorded closure.
              l:
                type: string
                description: >-
                  Line value the point belongs to (for example "-3.5" or
                  "224.5"; empty for moneylines). Select a participant with
                  `participant_id`, then group on `l` or pass `main_line=true`
                  to follow that participant's main line.
              m:
                type: boolean
                description: >-
                  Whether this line was the main line when the point was
                  written. Always present. With `participant_id` and
                  `main_line=true`, each change of `l` across the series is a
                  main-line move for that participant.
  securitySchemes:
    ApiKeyHeader:
      type: apiKey
      in: header
      name: X-TheRundown-Key
      description: Recommended API key request header for new integrations

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.