SportsGameOdds MCP

Query real-time sports betting odds, scores, player props and results from 85+ sportsbooks across 67+ leagues directly from your AI coding assistant plus endpoint discovery, documentation search and API usage monitoring.

Documentation

AI-Assisted Development - MCP Server and Context

AI tools can significantly speed up your development process. However, these tools need proper context in order to generate accurate, production-ready code. The information below is designed to help you do just that.

Copy-Paste Context

We highly recommend you either paste the AI Context below into your prompt or add it to an applicable context/rules file.

AI-Friendly Docs

Indexed Documentation

View llms.txt — Includes URLs and descriptions of each of our documentation pages. AI tools can use this to identify specific documentation pages to fetch/read when needed. Length: ~2k tokens

Full Documentation

View llms-full.txt — Includes our entire documentation in a single file. This is helpful for AI tools that have a large context window. Length: ~85k tokens

OpenAPI Specification

View OpenAPI Spec — A full machine-readable API definition with exact schemas for all endpoints/requests and responses. Every page also advertises it via <link rel="service-desc">, so agents can find it without being told the URL. Length: ~600k tokens

Markdown Versions of Any Page

Every page on this site has a Markdown representation — no HTML, no nav, no scripts. Request it either way:

# Content negotiation (acceptmarkdown.com)
curl -H "Accept: text/markdown" https://sportsgameodds.com/docs/basics/quickstart

# Or append .md / .mdx to the URL
curl https://sportsgameodds.com/docs/basics/quickstart.mdx
curl https://sportsgameodds.com/leagues/nfl-odds-api.md

MCP Server

Our MCP server enables AI tools to directly make calls to the API.

You can find the server here: sports-odds-api-mcp.

It provides the following resources/tools:

  • List endpoints - Discover available API operations
  • Fetch live data - Get events, odds, teams, players, leagues, etc.
  • Search documentation - Find relevant info from the documentation
  • Monitor usage - Check your API quota and rate limits
  • Stream events - Get notified when Events change (AllStar plan only)

Below are installation instructions. Be sure to replace your-api-key-here with your actual API key.

Claude Code

claude mcp add sports-game-odds --env SPORTS_ODDS_API_KEY_HEADER="your-api-key-here" -- npx -y sports-odds-api-mcp
{
  "mcpServers": {
    "sports-game-odds": {
      "command": "npx",
      "args": ["-y", "sports-odds-api-mcp@latest"],
      "env": {
        "SPORTS_ODDS_API_KEY_HEADER": "your-api-key-here"
      }
    }
  }
}

Cursor

{
  "mcpServers": {
    "sports-game-odds": {
      "command": "npx",
      "args": ["-y", "sports-odds-api-mcp@latest"],
      "env": {
        "SPORTS_ODDS_API_KEY_HEADER": "your-api-key-here"
      }
    }
  }
}

VS Code

Install in VS Code

code --add-mcp '{"name":"sports-game-odds","command":"npx","args":["-y","sports-odds-api-mcp@latest"],"env":{"SPORTS_ODDS_API_KEY_HEADER":"your-api-key-here"}}'
{
  "name": "sports-game-odds",
  "command": "npx",
  "args": ["-y", "sports-odds-api-mcp@latest"],
  "env": {
    "SPORTS_ODDS_API_KEY_HEADER": "your-api-key-here"
  }
}

AI Context

Paste the following into your prompt or add it to an applicable rules file:

# SportsGameOdds API Reference

Real-time and historical sports and odds data.

## Primary Documentation Resources

If your environment can fetch external URLs, use these as your primary sources of truth. **Do not guess or make up information.**

| Resource                             | URL                                             | Use Case                                                                 |
| ------------------------------------ | ----------------------------------------------- | ------------------------------------------------------------------------ |
| Documentation Index (~2k tokens)     | https://sportsgameodds.com/docs/llms.txt        | Quick overview of all documentation pages with descriptions              |
| Full Documentation (~85k tokens)     | https://sportsgameodds.com/docs/llms-full.txt   | Detailed explanations of fields, parameters, and examples                |
| OpenAPI Specification (~600k tokens) | https://sportsgameodds.com/openapi.json          | Exact request/response schemas, parameter definitions, example responses |
| Any page as Markdown                 | Append \`.md\` to a page URL, or send \`Accept: text/markdown\` | Clean prose without HTML — e.g. https://sportsgameodds.com/leagues/nfl-odds-api.md |

> **Note:** If you cannot access URLs directly, ask the user to paste in the relevant resource instead of guessing.

## Authentication

- **API Key Required:** Users can obtain one at https://sportsgameodds.com/pricing
  - Free tier available
  - Paid tiers include free trials
  - API key is emailed after signup
- **Security:** Treat the API key as secret. Never invent an API key.
- **Usage:** Include the API key in all requests using one of these methods:
  - Query parameter: \`?apiKey=API_KEY\`
  - Header: \`x-api-key: API_KEY\`

## Response Format

- All responses are JSON
- Main response data is returned in the \`data\` field

## Endpoints

### Events Endpoint (Most Common)

**URL:** \`GET https://api.sportsgameodds.com/v2/events\`

**Full Documentation:** https://sportsgameodds.com/docs/endpoints/getEvents

#### Common Query Parameters

| Parameter         | Example                    | Description                                          |
| ----------------- | -------------------------- | ---------------------------------------------------- |
| \`oddsAvailable\`   | \`true\`                     | Only return live/upcoming events with odds available |
| \`leagueID\`        | \`NBA,NFL,MLB\`              | Filter by leagues (comma-separated)                  |
| \`oddID\`           | \`points-home-game-ml-home\` | Filter by odds markets (comma-separated)             |
| \`includeAltLines\` | \`true\`                     | Include alternate spread/over/under lines            |
| \`cursor\`          | \`<nextCursor>\`             | Pagination cursor for next page                      |
| \`limit\`           | \`10\`                       | Max events to return (default: 10, max: variable)    |

#### Event Object Key Fields

| Field                | Type    | Description                                 |
| -------------------- | ------- | ------------------------------------------- |
| \`eventID\`            | string  | Unique identifier for the event             |
| \`sportID\`            | string  | ID of the sport                             |
| \`leagueID\`           | string  | ID of the league                            |
| \`teams.home.teamID\`  | string  | ID of the home team (if applicable)         |
| \`teams.away.teamID\`  | string  | ID of the away team (if applicable)         |
| \`status.startsAt\`    | date    | Start time of the event                     |
| \`status.started\`     | boolean | Whether the event has started               |
| \`status.ended\`       | boolean | Whether the event has ended                 |
| \`status.finalized\`   | boolean | Whether the event's data has been finalized |
| \`players.<playerID>\` | object  | Information about a participating player    |
| \`odds\`               | object  | Odds data for the event                     |

> **Tip:** When the user has a specific use case (e.g., "get NFL games today with moneyline odds"), help them choose appropriate filters and construct the full request URL or HTTP client code.

## OddID Format

Each \`oddID\` uniquely identifies a specific side/outcome on a betting market.

**Format:** \`{statID}-{statEntityID}-{periodID}-{betTypeID}-{sideID}\`

**Examples:**

| oddID                                     | Description                                         |
| ----------------------------------------- | --------------------------------------------------- |
| \`points-home-game-ml-home\`                | Moneyline bet on the home team to win the full game |
| \`points-away-1h-sp-away\`                  | Spread bet on the away team to win the first half   |
| \`points-all-game-ou-over\`                 | Over bet on total points for the full game          |
| \`assists-LEBRON_JAMES_1_NBA-game-ou-over\` | Over bet on LeBron James assists for the full game  |

## Bookmaker Odds Structure

**Path:** \`odds.<oddID>.byBookmaker.<bookmakerID>\`

| Field       | Type              | Description                                                                                                                            |
| ----------- | ----------------- | -------------------------------------------------------------------------------------------------------------------------------------- |
| \`odds\`      | string            | Current odds in American format                                                                                                        |
| \`available\` | boolean           | Whether this market is currently available                                                                                             |
| \`spread\`    | string (optional) | Current spread/line (when \`betTypeID === "sp"\`)                                                                                        |
| \`overUnder\` | string (optional) | Current over/under line (when \`betTypeID === "ou"\`)                                                                                    |
| \`deeplink\`  | string (optional) | Direct URL to the market on bookmaker's website                                                                                        |
| \`altLines\`  | array (optional)  | Alternate lines (only if \`includeAltLines=true\`). Each object may contain: \`odds\`, \`available\`, \`spread\`, \`overUnder\`, \`lastUpdatedAt\` |

> **Note:** Use the docs and/or OpenAPI spec to confirm additional or optional fields.

## Reference: Common Identifiers

### sportID

| ID           | Sport      |
| ------------ | ---------- |
| \`BASKETBALL\` | Basketball |
| \`FOOTBALL\`   | Football   |
| \`SOCCER\`     | Soccer     |
| \`HOCKEY\`     | Hockey     |
| \`TENNIS\`     | Tennis     |
| \`GOLF\`       | Golf       |
| \`BASEBALL\`   | Baseball   |

### leagueID

| ID                      | League                   |
| ----------------------- | ------------------------ |
| \`NBA\`                   | NBA                      |
| \`NFL\`                   | NFL                      |
| \`MLB\`                   | MLB                      |
| \`NHL\`                   | NHL                      |
| \`EPL\`                   | Premier League           |
| \`UEFA_CHAMPIONS_LEAGUE\` | Champions League         |
| \`NCAAB\`                 | Men's College Basketball |
| \`NCAAF\`                 | Men's College Football   |

### bookmakerID

| ID           | Bookmaker  |
| ------------ | ---------- |
| \`draftkings\` | DraftKings |
| \`fanduel\`    | FanDuel    |
| \`bet365\`     | Bet365     |
| \`circa\`      | Circa      |
| \`caesars\`    | Caesars    |
| \`betmgm\`     | BetMGM     |
| \`betonline\`  | BetOnline  |
| \`prizepicks\` | PrizePicks |
| \`pinnacle\`   | Pinnacle   |

### betTypeID & sideID

| betTypeID | Description     | Valid sideIDs                                                |
| --------- | --------------- | ------------------------------------------------------------ |
| \`ml\`      | Moneyline       | \`home\`, \`away\`                                               |
| \`sp\`      | Spread          | \`home\`, \`away\`                                               |
| \`ou\`      | Over/Under      | \`over\`, \`under\`                                              |
| \`eo\`      | Even/Odd        | \`even\`, \`odd\`                                                |
| \`yn\`      | Yes/No          | \`yes\`, \`no\`                                                  |
| \`ml3way\`  | 3-Way Moneyline | \`home\`, \`away\`, \`draw\`, \`away+draw\`, \`home+draw\`, \`not_draw\` |

### periodID

| ID     | Period         |
| ------ | -------------- |
| \`game\` | Full Game      |
| \`1h\`   | First Half     |
| \`2h\`   | Second Half    |
| \`1q\`   | First Quarter  |
| \`2q\`   | Second Quarter |
| \`3q\`   | Third Quarter  |
| \`4q\`   | Fourth Quarter |

### statID (varies by sport)

| ID                | Description                                                                                                                                                    |
| ----------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| \`points\`          | Stats that determine the winner (points in Baseball/Football, goals in Soccer/Hockey, sets in Tennis, strokes against par in Golf, fight winner in MMA/Boxing) |
| \`rebounds\`        | Rebounds                                                                                                                                                       |
| \`assists\`         | Assists                                                                                                                                                        |
| \`steals\`          | Steals                                                                                                                                                         |
| \`receptions\`      | Receptions                                                                                                                                                     |
| \`passing_yards\`   | Passing yards                                                                                                                                                  |
| \`rushing_yards\`   | Rushing yards                                                                                                                                                  |
| \`receiving_yards\` | Receiving yards                                                                                                                                                |