SportsGameOdds · Schema

SportsGameOdds Event

A sporting event with odds data from multiple sportsbooks

Sports BettingOddsSports DataFantasy SportsGambling

Properties

Name Type Description
eventId string Unique identifier for the event
sport string Sport name
league string League abbreviation
startTime string Event start time in UTC ISO 8601 format
status string Current event status
homeTeam object
awayTeam object
odds array Odds lines from multiple sportsbooks
View JSON Schema on GitHub

JSON Schema

sportsgameodds-event-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://sportsgameodds.com/schemas/event",
  "title": "SportsGameOdds Event",
  "description": "A sporting event with odds data from multiple sportsbooks",
  "type": "object",
  "required": ["eventId", "sport", "league", "startTime", "status"],
  "properties": {
    "eventId": {
      "type": "string",
      "description": "Unique identifier for the event"
    },
    "sport": {
      "type": "string",
      "description": "Sport name",
      "examples": ["football", "basketball", "baseball", "hockey", "soccer", "mma", "golf", "tennis"]
    },
    "league": {
      "type": "string",
      "description": "League abbreviation",
      "examples": ["NFL", "NBA", "MLB", "NHL", "EPL", "UCL", "UFC", "PGA", "ATP"]
    },
    "startTime": {
      "type": "string",
      "format": "date-time",
      "description": "Event start time in UTC ISO 8601 format"
    },
    "status": {
      "type": "string",
      "enum": ["scheduled", "live", "completed", "cancelled"],
      "description": "Current event status"
    },
    "homeTeam": {
      "$ref": "#/$defs/Team"
    },
    "awayTeam": {
      "$ref": "#/$defs/Team"
    },
    "odds": {
      "type": "array",
      "description": "Odds lines from multiple sportsbooks",
      "items": {
        "$ref": "#/$defs/OddsLine"
      }
    }
  },
  "$defs": {
    "Team": {
      "type": "object",
      "required": ["teamId", "name"],
      "properties": {
        "teamId": {
          "type": "string",
          "description": "Unique team identifier"
        },
        "name": {
          "type": "string",
          "description": "Full team name"
        },
        "abbreviation": {
          "type": "string",
          "description": "Team abbreviation (e.g., NE, LAL)",
          "maxLength": 5
        },
        "league": {
          "type": "string",
          "description": "League the team belongs to"
        }
      }
    },
    "OddsLine": {
      "type": "object",
      "required": ["bookmaker", "market"],
      "properties": {
        "bookmaker": {
          "type": "string",
          "description": "Sportsbook name (e.g., DraftKings, FanDuel)"
        },
        "market": {
          "type": "string",
          "description": "Betting market type",
          "enum": ["moneyline", "spread", "total", "prop"]
        },
        "period": {
          "type": "string",
          "description": "Game period for the bet",
          "enum": ["full_game", "first_half", "second_half", "first_quarter", "second_quarter", "third_quarter", "fourth_quarter"]
        },
        "oddId": {
          "type": "string",
          "description": "Unique odds identifier in OddID composite format"
        },
        "homeOdds": {
          "type": "number",
          "description": "Home team or over odds in American format (e.g., -110, +150)"
        },
        "awayOdds": {
          "type": "number",
          "description": "Away team or under odds in American format"
        },
        "line": {
          "type": "number",
          "description": "Point spread or total points line value"
        },
        "lastUpdated": {
          "type": "string",
          "format": "date-time",
          "description": "Timestamp when odds were last updated"
        }
      }
    }
  }
}