Sportsbook API · Schema

Sportsbook API Odds Response

Sports betting odds data from multiple sportsbooks for a given sport and league

Sports BettingOddsSports DataGambling

Properties

Name Type Description
sport string Sport category
league string League abbreviation
events array List of events with odds
View JSON Schema on GitHub

JSON Schema

sportsbook-api-odds-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://sportsbookapi.com/schemas/odds",
  "title": "Sportsbook API Odds Response",
  "description": "Sports betting odds data from multiple sportsbooks for a given sport and league",
  "type": "object",
  "required": ["sport", "league", "events"],
  "properties": {
    "sport": {
      "type": "string",
      "description": "Sport category",
      "enum": ["football", "basketball", "baseball", "hockey", "soccer"]
    },
    "league": {
      "type": "string",
      "description": "League abbreviation",
      "examples": ["NFL", "NBA", "MLB", "NHL", "NCAAF", "NCAAB", "EPL", "MLS"]
    },
    "events": {
      "type": "array",
      "description": "List of events with odds",
      "items": {
        "$ref": "#/$defs/EventOdds"
      }
    }
  },
  "$defs": {
    "EventOdds": {
      "type": "object",
      "required": ["eventId", "homeTeam", "awayTeam", "startTime"],
      "properties": {
        "eventId": {
          "type": "string",
          "description": "Unique event identifier"
        },
        "homeTeam": {
          "type": "string",
          "description": "Home team name"
        },
        "awayTeam": {
          "type": "string",
          "description": "Away team name"
        },
        "startTime": {
          "type": "string",
          "format": "date-time",
          "description": "Game start time in UTC"
        },
        "status": {
          "type": "string",
          "enum": ["scheduled", "live", "final"],
          "description": "Current game status"
        },
        "markets": {
          "type": "array",
          "description": "Available betting markets with odds",
          "items": {
            "$ref": "#/$defs/MarketOdds"
          }
        }
      }
    },
    "MarketOdds": {
      "type": "object",
      "required": ["market", "bookmakers"],
      "properties": {
        "market": {
          "type": "string",
          "description": "Market type",
          "enum": ["spread", "moneyline", "total", "prop", "future"]
        },
        "period": {
          "type": "string",
          "description": "Game period",
          "enum": ["fullgame", "firsthalf", "firstquarter", "secondhalf", "secondquarter"]
        },
        "bookmakers": {
          "type": "array",
          "description": "Odds from each sportsbook",
          "items": {
            "$ref": "#/$defs/BookmakerOdds"
          }
        }
      }
    },
    "BookmakerOdds": {
      "type": "object",
      "required": ["bookmaker"],
      "properties": {
        "bookmaker": {
          "type": "string",
          "description": "Sportsbook name",
          "examples": ["FanDuel", "DraftKings", "BetMGM", "Kalshi", "BetRivers", "Bovada"]
        },
        "homeOdds": {
          "type": "number",
          "description": "Home team or over odds in American format",
          "examples": [-110, 150, -300]
        },
        "awayOdds": {
          "type": "number",
          "description": "Away team or under odds in American format",
          "examples": [-110, -170, 250]
        },
        "line": {
          "type": "number",
          "description": "Point spread or total line",
          "examples": [-3.5, 47.5, 2.5]
        },
        "lastUpdated": {
          "type": "string",
          "format": "date-time",
          "description": "When odds were last updated (updates every minute)"
        }
      }
    }
  }
}