The Odds API Sports API

Available sports and their keys.

OpenAPI Specification

the-odds-api-sports-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: The Odds Events Sports API
  description: The Odds API provides sports betting odds from major bookmakers worldwide. Access current and historical odds for head-to-head, spreads, totals, and outrights markets across 100+ sports. Also provides live scores and event listings. Requires an API key for all requests. Quota is consumed per request based on number of regions and markets requested.
  version: 4.0.0
  contact:
    url: https://the-odds-api.com/
  termsOfService: https://the-odds-api.com/terms
servers:
- url: https://api.the-odds-api.com
  description: Primary API server
- url: https://ipv6-api.the-odds-api.com
  description: IPv6 API server
security:
- apiKey: []
tags:
- name: Sports
  description: Available sports and their keys.
paths:
  /v4/sports:
    get:
      operationId: getSports
      summary: Get Available Sports
      description: Returns a list of available sports and their keys. Free endpoint — no quota consumed. Use the all parameter to include out-of-season sports.
      tags:
      - Sports
      parameters:
      - name: apiKey
        in: query
        required: true
        description: Your API key.
        schema:
          type: string
      - name: all
        in: query
        required: false
        description: When true, includes out-of-season sports in the response.
        schema:
          type: boolean
          default: false
      responses:
        '200':
          description: List of available sports.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Sport'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '429':
          $ref: '#/components/responses/RateLimited'
components:
  responses:
    Unauthorized:
      description: Unauthorized — invalid or missing API key.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    RateLimited:
      description: Too many requests — quota exceeded.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
  schemas:
    Error:
      type: object
      properties:
        message:
          type: string
          description: Error description.
    Sport:
      type: object
      description: A sport available for betting odds.
      properties:
        key:
          type: string
          description: Unique identifier for the sport (e.g., basketball_nba).
        group:
          type: string
          description: Sport group/category (e.g., Basketball, American Football).
        title:
          type: string
          description: Human-readable title (e.g., NBA).
        description:
          type: string
          description: Description of the sport or competition.
        active:
          type: boolean
          description: Whether the sport currently has events with odds.
        has_outrights:
          type: boolean
          description: Whether outrights/futures markets are available.
  securitySchemes:
    apiKey:
      type: apiKey
      name: apiKey
      in: query