UFC and MMA odds API
Every UFC and MMA fight from 46 books in one JSON shape, with total rounds, alternate lines and in-play.
Ask the odds route for mma and you get each fight with every book's price side by side. Books spell fighter names in different ways, so each fight gets one stable id that does not change when a book spells a name differently.
You get the moneyline and the total rounds line, with the full ladder when you ask for totals, and a spread where books post one. Live odds are included from the Growth plan, and prices come as American or decimal odds.
curl -H "X-API-Key: $ODDSLINK_KEY" \
"https://oddslink.app/v1/sports/mma/odds?markets=h2h,spreads,totals"import os, requests
r = requests.get(
"https://oddslink.app/v1/sports/mma/odds",
params={"markets": "h2h,spreads,totals"},
headers={"X-API-Key": os.environ["ODDSLINK_KEY"]},
)
r.raise_for_status()
for game in r.json():
print(game["away_team"], "at", game["home_team"])[
{
"id": "mma:merabdvalishvili-petryan:2026-10-24",
"sport_key": "mma",
"sport_title": "MMA",
"commence_time": "2026-10-24T18:40:00.000Z",
"is_live": false,
"status": "scheduled",
"home_team": "Petr Yan",
"away_team": "Merab Dvalishvili",
"bookmakers": [
{
"key": "fanduel",
"title": "Fanduel",
"last_update": "2026-10-11T05:26:34.374Z",
"markets": [
{
"key": "h2h",
"last_update": "2026-10-11T05:26:34.374Z",
"outcomes": [
{
"name": "Merab Dvalishvili",
"price": 140,
"size": {
"kind": "posted_limit",
"amount": 714
}
},
{
"name": "Petr Yan",
"price": -172,
"size": {
"kind": "posted_limit",
"amount": 1720
}
}
]
},
{
"key": "totals",
"last_update": "2026-10-11T05:26:34.374Z",
"outcomes": [
{
"name": "Over",
"price": -380,
"point": 4.5,
"size": {
"kind": "posted_limit",
"amount": 1900
}
},
{
"name": "Under",
"price": 270,
"point": 4.5,
"size": {
"kind": "posted_limit",
"amount": 185
}
}
]
}
]
},
{
"key": "bet365",
"title": "Bet365",
"last_update": "2026-10-11T05:25:40.446Z",
"markets": [
{
"key": "h2h",
"last_update": "2026-10-11T05:25:40.446Z",
"outcomes": [
{
"name": "Merab Dvalishvili",
"price": 150
},
{
"name": "Petr Yan",
"price": -180
}
]
}
]
}
],
"unmatched_bookmakers": [
"betway",
"circa",
"draftkings",
"fanaticsmarkets",
"hardrock",
"kalshi",
"pinnacle",
"prophetx",
"sxbet"
]
}
]A real UFC and MMA response from 11 Oct 2026, trimmed.
More than the main line
Moneyline
Both fighters from 46 books, in the same fields for every book.
Total rounds
Over and under on rounds, with the whole ladder, main line first.
Spread
The spread line from the books that post one.
One id per fight
Fighter names are matched across books, so a fight is one row and not five.
In-play
Yes. Live fight prices from the Growth plan and up.
Opening and closing lines
Openers and closing prices for finished fights, on Scale and Business.
Markets
| Market | Periods |
|---|---|
| Moneyline | Full fight |
| Total rounds, with alternate lines | Full fight |
| Spread | Full fight |
Books for UFC and MMA
Every book on every plan
| Plan | Per month | Requests a month | In-play and props | History |
|---|---|---|---|---|
| Free | $0 | 1,000 | No | No |
| Starter | $24 | 20,000 | No | No |
| Growth | $49 | 100,000 | Yes | No |
| Scale | $99 | 500,000 | Yes | 2 years |
| Business | $199 | 5,000,000 | Yes | All of it |
Questions
What is the MMA sport key?
mma. Our sport keys are short and lowercase, for example mma, nfl and nba.
Which books carry UFC and MMA?
All 46 books. A book shows up on a game once it prices it. Use the bookmakers filter to choose some, or leave it off to get every book.
Do you carry UFC fights?
Yes. UFC cards are in the mma key.
Which MMA markets do you carry?
Moneyline, total rounds and spread. Ask for h2h, spreads and totals.
Is in-play included?
Yes. Live MMA prices are on the Growth plan and up.
Can I get MMA opening and closing lines?
Yes, for finished games. Openers and closing prices for the full-game moneyline, spread and total are on Scale (the last 2 years) and Business (everything recorded).