{ "$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)" } } } } }