Mixed martial arts does not fit a team-sports data model, and most odds APIs make you work around that. Ours handles it directly: fights are events, fighters occupy the participant slots, and rounds work as periods. If you already consume our NFL or NBA data, MMA arrives in the same shape.
How MMA Data Is Structured
This is the part worth understanding before you integrate, because it is where MMA differs from every team sport in the API.
Fighters, not teams. MMA leagues are configured as single-participant, so the home and away slots on an event hold the two fighters rather than clubs. Everything else about the event shape — IDs, odds tree, results — is unchanged, so the same parsing code works.
Rounds are periods. Round markets use period codes 1r through 5r for a championship fight, alongside game for the full fight. There is also 1rx2 for the opening two rounds combined, and dec for the fight reaching a decision.
Rounds completed is a decimal. The roundsCompleted stat is deliberately decimal rather than integer, because a fight stopped midway through the third round has not completed three rounds. It supports over/under and even/odd at fight level. Worth knowing if you are casting stat values to integers on the way in.
MMA Betting Markets
Available MMA markets include:
- Fight winner (moneyline) and 3-way lines where books offer a draw
- Round betting —
1rthrough5rand the1rx2opening-rounds market - Rounds completed over/under, and even/odd
- Distance markets — whether the fight reaches a decision, via the
decperiod - Yes/No propositions on fight outcomes
- Strike and knockdown props, described below
Coverage is deepest on main-card and headline fights, where the widest set of books price the full market. Preliminary-card bouts reliably carry the fight winner and distance markets, with props where individual sportsbooks post them.
Strike-Level Props
MMA carries one of the more granular prop vocabularies in the API — 35 distinct stat types, most of them strike-based, broken down two ways at once.
By target: head, body and leg.
By position: at distance, in the clinch and on the ground.
Those combine, so you can request significant strikes to the head at distance as its own market. Each also exists as landed versus attempted, and as significant versus total. Alongside them: knockdowns, ground time, clinch time and fight time in minutes or seconds.
The full list is in the stats reference, and markets & coverage shows which books support what.
Quick Start: Your First MMA Odds API Call
Fetching MMA odds takes a single HTTP request:
https://api.sportsgameodds.com/v2/events?apiKey=YOUR_API_KEY&sportID=MMA&oddsAvailable=true&limit=10
Fight cards are scheduled irregularly rather than on a weekly cadence, so filtering by date range is usually more useful than a plain limit. To narrow to a specific market, use oddIDs:
https://api.sportsgameodds.com/v2/events?apiKey=YOUR_API_KEY&sportID=MMA&oddsAvailable=true&oddIDs=roundsCompleted-all-game-ou-over,roundsCompleted-all-game-ou-under
OddIDs follow the format {statID}-{statEntityID}-{periodID}-{betTypeID}-{sideID}. Note that roundsCompleted is a fight-level stat, so its statEntityID is all rather than a fighter ID.
Try it Out
See live odds for an upcoming event
https://api.sportsgameodds.com/v2/eventsRequest Parameters
leagueID=NFLOnly NBA games
oddsAvailable=trueOnly games with available odds
includeAltLines=falseDon't return alt-lines
limit=1Number of games to return
MMA Promotions We Cover
- UFC — the Ultimate Fighting Championship, covering numbered events and Fight Nights across the full calendar.
Boxing is configured as a separate sport rather than sitting under MMA, so combat-sports products generally query both.
MMA Odds API with Results
Odds and results arrive in one unified response, so you can settle fight markets without adding a second data source. Each response includes:
- Upcoming and completed fights
- Both fighters as event participants
- Fight statistics, including the strike breakdowns above
- Full odds coverage — fight winners, round markets, distance lines and props
- Final results and settlement data
MMA Odds API Technical Specifications
API Architecture
- REST API — standard HTTP endpoints returning clean JSON
- WebSocket feeds — real-time push updates on the All-Star plan, no polling required
- Rate limits — scalable plans matched to your usage volume
- Authentication — secure API key access
Data Update Speed
- Odds updates — sub-minute refresh on the Pro plan; Rookie and the free Amateur tier refresh on a longer interval. See pricing for the frequency on each tier.
- Live scores — updated in real time during events
Developer Resources
- Interactive documentation — live examples and copy-paste snippets
- SDKs & libraries — JavaScript/TypeScript, Python, Ruby, Go and Java
- Postman collection — pre-built requests ready to run
- Dedicated technical support across paid plans
Use Cases for MMA Odds Data
Odds Comparison Platforms — Show fight odds from 85+ bookmakers side by side. Books diverge more on MMA than on major team sports, so the comparison is worth more here.
Arbitrage & +EV Tools — Fight markets move sharply on weigh-in results, late replacements and card reshuffles, creating short-lived pricing gaps.
DFS & Lineup Tools — Strike and knockdown props map onto MMA DFS scoring formats.
Sports Analytics & Research — The strike taxonomy supports fight-style modelling that headline odds alone cannot, such as separating strikers from grapplers by position data.
Betting Automation — Monitor fight lines across bookmakers and trigger actions when your target number appears.
Frequently Asked Questions
Which MMA promotions does the API cover?
How are fights structured in the API?
How does round betting work?
Why is roundsCompleted a decimal?
What MMA player props are available?
How often do MMA odds update?
Is there a free MMA odds API?
How does object-based pricing work for fight cards?
Ready to get started?
Join thousands of developers building the next generation of sports and betting applications.