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

# 期货赔率

> 获取期货的最新赔率。

查询模式：必需 `futureId` + 可选过滤器（`bookmakers`、`since`、`mainLines`、`includeFuture`）。



## OpenAPI

````yaml /zh/api-reference/openapi.json get /futures/odds
openapi: 3.1.0
info:
  title: 赔率 API v5
  version: 5.0.0
  description: 高性能赔率API，由Valkey + Supabase RPC发现支持。
servers:
  - url: https://v5.oddspapi.io/zh
security:
  - ApiKeyAuth: []
tags:
  - name: common
  - name: fixtures
  - name: fixtures/odds
  - name: futures
  - name: futures/odds
  - name: mapping
  - name: media
  - name: settlement
paths:
  /futures/odds:
    get:
      tags:
        - futures/odds
      summary: 期货赔率
      description: >-
        获取期货的最新赔率。


        查询模式：必需 `futureId` +
        可选过滤器（`bookmakers`、`since`、`mainLines`、`includeFuture`）。
      operationId: futures_odds__lang__futures_odds_get
      parameters:
        - $ref: '#/components/parameters/futureIdStringRequired'
        - name: bookmakers
          in: query
          required: false
          schema:
            anyOf:
              - type: string
              - type: 'null'
          description: 'Comma/space-separated bookmaker slugs (default: all)'
        - name: since
          in: query
          required: false
          schema:
            anyOf:
              - type: integer
              - type: 'null'
          description: createdAt >= since (unix sec)
        - name: mainLines
          in: query
          required: false
          schema:
            type: boolean
            default: false
          description: Only return main lines
        - name: includeFuture
          in: query
          required: false
          schema:
            type: boolean
            default: false
          description: If true, includes futureMeta in the response.
      responses:
        '200':
          description: Returns FutureOddsResponse
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FutureOddsResponse'
              examples:
                example:
                  summary: Future odds
                  value:
                    futureId: pm6980037088158379224
                    bookmakers:
                      polymarket:
                        odds:
                          - oddsId: pm6980037088158379224:polymarket:5432
                            bookmaker: polymarket
                            participantId: 5432
                            price: 3.8
                            active: true
                            changedAt: 1776667441000
        '400':
          $ref: '#/components/responses/ApiError'
        '401':
          $ref: '#/components/responses/ApiError'
        '403':
          $ref: '#/components/responses/ApiError'
        '422':
          $ref: '#/components/responses/ValidationError'
        '429':
          $ref: '#/components/responses/ApiError'
components:
  parameters:
    futureIdStringRequired:
      name: futureId
      in: query
      required: true
      schema:
        type: string
      description: Single future ID (e.g. id11000132131631).
  schemas:
    FutureOddsResponse:
      type: object
      properties:
        futureId:
          type: string
        bookmakers:
          type: object
          additionalProperties:
            $ref: '#/components/schemas/FutureBookmakerOdds'
        futureMeta:
          $ref: '#/components/schemas/FutureMeta'
      required:
        - futureId
        - bookmakers
      additionalProperties: true
    FutureBookmakerOdds:
      type: object
      properties:
        odds:
          type: array
          items:
            $ref: '#/components/schemas/FutureOddsRow'
      required:
        - odds
      additionalProperties: true
    FutureMeta:
      type: object
      properties:
        futureId:
          type: string
        status:
          $ref: '#/components/schemas/Status'
        sport:
          $ref: '#/components/schemas/SportRef'
        tournament:
          $ref: '#/components/schemas/TournamentRef'
        season:
          $ref: '#/components/schemas/SeasonRef'
        startTime:
          type: integer
        endTime:
          type: integer
        market:
          $ref: '#/components/schemas/FutureMarketRef'
        participants:
          type: array
          items:
            type: object
            properties:
              participantId:
                type: integer
              participantName:
                type:
                  - string
                  - 'null'
            required:
              - participantId
            additionalProperties: true
          description: >-
            List of participants (teams/players) competing in this futures
            market.
        externalProviders:
          $ref: '#/components/schemas/ExternalProviders'
        bookmakers:
          type: object
          additionalProperties:
            $ref: '#/components/schemas/BookmakerFutureMeta'
      required:
        - futureId
        - status
        - sport
        - tournament
        - season
        - startTime
        - endTime
        - market
        - participants
        - externalProviders
        - bookmakers
      additionalProperties: true
    Error:
      type: object
      description: Concrete error format returned by this API (no FastAPI detail wrapper).
      properties:
        error:
          type: integer
          description: HTTP status code
        message:
          type: string
          description: Human-readable error message
        code:
          type: string
          description: Machine-readable reason code
        details:
          description: Optional extra details (string/object/array depending on the error).
      required:
        - error
        - message
      additionalProperties: true
    HTTPValidationError:
      title: HTTPValidationError
      type: object
      properties:
        detail:
          title: Detail
          type: array
          items:
            $ref: '#/components/schemas/ValidationError'
    FutureOddsRow:
      type: object
      description: >-
        A single futures odds entry. The key for futures odds is
        futureId:bookmaker:participantId.
      properties:
        oddsId:
          type: string
        bookmaker:
          type: string
        participantId:
          type:
            - integer
            - 'null'
        price:
          type: number
        active:
          type: boolean
        bookmakerOutcomeId:
          type:
            - string
            - 'null'
        bookmakerChangedAt:
          type:
            - int
            - 'null'
        priceFractional:
          type:
            - string
            - 'null'
        priceAmerican:
          type:
            - integer
            - 'null'
        meta:
          type:
            - json
            - 'null'
        limit:
          type:
            - number
            - 'null'
        betslip:
          type:
            - string
            - 'null'
        changedAt:
          type: int
      required:
        - oddsId
        - bookmaker
      additionalProperties: true
    Status:
      type: object
      properties:
        live:
          type: boolean
        statusId:
          type: integer
        statusName:
          type: string
      required:
        - live
        - statusId
        - statusName
      additionalProperties: true
    SportRef:
      type: object
      properties:
        sportId:
          type: integer
        sportName:
          type: string
      required:
        - sportId
        - sportName
      additionalProperties: true
    TournamentRef:
      type: object
      properties:
        tournamentId:
          type: integer
        tournamentName:
          type: string
        categoryName:
          type:
            - string
            - 'null'
      required:
        - tournamentId
        - tournamentName
      additionalProperties: true
    SeasonRef:
      type: object
      properties:
        seasonId:
          type:
            - integer
            - 'null'
        seasonName:
          type:
            - string
            - 'null'
        seasonRound:
          type:
            - integer
            - 'null'
      additionalProperties: true
    FutureMarketRef:
      type: object
      properties:
        marketId:
          type:
            - integer
            - 'null'
        marketName:
          type:
            - string
            - 'null'
        marketType:
          type:
            - string
            - 'null'
      additionalProperties: true
    ExternalProviders:
      type: object
      additionalProperties: true
    BookmakerFutureMeta:
      type: object
      properties:
        bookmaker:
          type: string
        bookmakerFutureId:
          type:
            - string
            - 'null'
        participantsRotated:
          type: boolean
      required:
        - bookmaker
        - participantsRotated
      additionalProperties: true
    ValidationError:
      title: ValidationError
      type: object
      required:
        - loc
        - msg
        - type
      properties:
        loc:
          title: Location
          type: array
          items:
            anyOf:
              - type: string
              - type: integer
        msg:
          title: Message
          type: string
        type:
          title: Error Type
          type: string
  responses:
    ApiError:
      description: API error
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          examples:
            invalid_filters:
              summary: Invalid filters
              value:
                error: 400
                message: Invalid filters.
                reason: invalid_filters
            invalid_api_key:
              summary: Invalid apiKey
              value:
                error: 401
                message: invalid apiKey
                reason: invalid_api_key
            rate_limited:
              summary: Rate limited
              value:
                error: 429
                message: rate limit exceeded
                reason: rate_limited
                retryAfterSec: 1
    ValidationError:
      description: Validation Error (framework-level)
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/HTTPValidationError'
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: query
      name: apiKey
      description: Your API key (query-based auth for v5).

````