Sports Odds API for AI Agents & MCP
Add live sports odds to AI agents and apps with the SportsGameOdds MCP server, five SDKs, and LLM-ready docs, so you can tool-call odds, scores, and props from one feed.
- 1Install the MCP server and expose tools
Add the sports-odds-api-mcp server to Claude Code, Cursor, or VS Code with your API key, giving the agent tools to list endpoints and fetch live events, odds, teams, and players.
- 2Ground answers in fairOdds and bookOdds
Hand the model the consensus so it quotes a real number. fairOdds is the no-vig fair price, bookOdds the vig-inclusive consensus, and byBookmaker holds each book's own price, so it quotes those instead of inventing one.
- 3Call from an SDK or stream live updates
For a production backend, use one of the five official SDKs with cursor and nextCursor auto-pagination, or subscribe to the /stream/events Pusher WebSocket on the All-Star plan for push updates.
A sports odds API for MCP is a sports-data backend that an AI agent can call as a tool, fetching live odds, scores, and props at runtime instead of guessing them from training data. SportsGameOdds ships exactly that: the sports-odds-api-mcp MCP server drops straight into Claude Code, Cursor, and VS Code, exposing tools to list endpoints, fetch events/odds/teams/players, search the docs, and monitor usage. It's backed by 85+ books and fairOdds consensus, so your agent grounds every price in real data.
Why build your AI agent on SportsGameOdds
- An MCP server agents can call directly. The
sports-odds-api-mcppackage gives an AI tool first-class actions (list endpoints, fetch liveevents/odds/teams/players, search the documentation, and check usage), so your agent reads realbyBookmakerprices at runtime instead of hallucinating them. fairOddsandbookOddsare the grounding signal. Every market ships a no-vigfairOddsconsensus and a vig-inclusivebookOdds, so an LLM answering "what's the fair price on this side" cites a computed number from the feed rather than inventing one.- Five official SDKs for agent backends. JavaScript/TypeScript, Python, Ruby, Go, and Java all wrap the same feed, so whatever language your agent or tool-server runs in, the request and the normalized schema stay identical.
- LLM-ready docs the model can read. A
/llms.txtindex, a full/llms-full.txtdump, a machine-readable OpenAPI spec, and the AI-assisted development doc give a coding agent exact field and parameter context, so generated code uses realoddIDandleagueIDvalues. - One normalized schema across every book and sport. A shared
oddID(formatstatID-statEntityID-periodID-betTypeID-sideID) identifies the same market everywhere, so an agent reasons over one consistent shape instead of per-book formats. - A free Amateur tier to prototype on. 2,500 objects/month with no credit card lets you wire an agent or tool-using app end to end before you ever pay.
How an AI agent works with our data
With an agentic sports app, the prompt is rarely the bottleneck. The hard part is giving the model trustworthy, structured data to act on. Here is how the MCP server, SDKs, and docs map to that.
Install the MCP server and expose tools
Add the sports-odds-api-mcp server to Claude Code, Cursor, or VS Code with your API key, and the agent gains tools to discover endpoints, fetch events and their odds, resolve teams and players, search the docs, and monitor usage. The model picks the right tool for a question, whether it's "today's NFL moneylines" or "props for this player," and gets back a real /events payload to reason over.
Ground answers in fairOdds and bookOdds
To stop a model from inventing prices, hand it the consensus. Each market's fairOdds is the no-vig fair price and bookOdds is the vig-inclusive consensus, while byBookmaker holds each book's own odds and available flag. An agent that quotes a price reads it from the payload, Pinnacle's -140 or the -138 fair line, instead of guessing.
Call from an SDK or stream live updates
For a production agent backend, the five SDKs wrap the same feed in JavaScript/TypeScript, Python, Ruby, Go, and Java, with auto-pagination via cursor/nextCursor. When an app needs push updates rather than polling, the /stream/events endpoint delivers Pusher WebSocket events on the All-Star plan. The MCP server's "Stream events" tool surfaces the same capability for agents.
Example request
Install the MCP server into Claude Code with one command, replacing the key with your own:
claude mcp add sports-game-odds --env SPORTS_ODDS_API_KEY_HEADER="your-api-key-here" -- npx -y sports-odds-api-mcp
Once connected, when the agent fetches a market it receives a trimmed /v2/events odd object it can reason over, with consensus prices plus each book's number:
{
"points-home-game-ml-home": {
"oddID": "points-home-game-ml-home",
"fairOdds": "-138",
"bookOdds": "-145",
"byBookmaker": {
"pinnacle": { "odds": "-140", "available": true },
"draftkings": { "odds": "-150", "available": true },
"fanduel": { "odds": "-142", "available": true }
}
}
}
Here the agent can answer "what's the fair price on the home moneyline" with the de-vigged fairOdds of -138, a number it read rather than one it made up, and surface Pinnacle's -140 as the sharpest book. The agent can call the API directly through MCP tools or via one of the five SDKs, grounded by the docs and the AI-assisted development guide. See the docs for the full field reference.
SportsGameOdds vs wiring odds into an agent yourself
| Capability | SportsGameOdds | Build agent tooling yourself |
|---|---|---|
| Agent tool surface | sports-odds-api-mcp MCP server, ready for Claude Code/Cursor/VS Code | Hand-write and maintain your own tool definitions |
| Grounding data | fairOdds / bookOdds consensus per market | De-vig and compute consensus yourself, per book |
| LLM context | /llms.txt, /llms-full.txt, OpenAPI spec, AI doc | Write and keep your own model context current |
| Language coverage | Five official SDKs share one schema | Build and test an HTTP client per language |
| Schema consistency | One oddID across every book and sport | Reconcile each source's market naming |
| Live updates | /stream/events Pusher WebSocket (All-Star) | Stand up your own polling and diffing layer |
| Books per call | 85+ under byBookmaker | One integration, auth, and rate limit per book |
Building the tooling yourself makes sense if you want full control over how the agent calls data. What you take on, though, is scraping each book, normalizing a dozen market formats, de-vigging your own consensus, and keeping LLM context files accurate as the API evolves. The MCP server, SDKs, and /llms-full.txt already absorb that work.
Frequently asked questions
Related use cases
- Sports Odds API for Betting Apps: power a full betting app with odds, scores, and settlement.
- Odds API for Betting Alert Bots: push line-movement and value alerts from the same feed.
- Sports Betting Machine Learning Data API: train and backtest models on historical odds and
fairOddslabels. - AI-Assisted Development: MCP server install,
/llms.txt, and copy-paste model context. - Postman Collection: explore every endpoint before wiring it into an agent.
- Pricing: per-event-object plans from a free Amateur tier up.
Wire SportsGameOdds into your AI agent
Free plan available. Set up in 5 minutes. No credit card required.