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