UFC odds API

UFC prices, markets and identifiers through one REST API.

The UFC has the league key ufc in the SockOdds API. It is a mixed martial arts league based in the United States (sport key mma). Its events have two competitors, competitor_1 and competitor_2.

Request UFC odds

Current prices for the next UFC game, one market, from every bookmaker your plan includes:

curl -sS "https://api.sockodds.com/v1/odds?league=ufc&markets=winner&limit=1&starts_after=$(date -u +%Y-%m-%dT%H:%M:%SZ)" \
  -H "Authorization: Bearer $SOCKODDS_API_KEY"
const response = await fetch(`https://api.sockodds.com/v1/odds?league=ufc&markets=winner&limit=1&starts_after=${new Date().toISOString().slice(0, 19)}Z`, {
  headers: { Authorization: `Bearer ${process.env.SOCKODDS_API_KEY}` },
});
console.log(JSON.stringify(await response.json(), null, 2));
import json, os, urllib.request
from datetime import datetime, timezone

request = urllib.request.Request(
    f"https://api.sockodds.com/v1/odds?league=ufc&markets=winner&limit=1&starts_after={datetime.now(timezone.utc):%Y-%m-%dT%H:%M:%SZ}",
    headers={"Authorization": "Bearer " + os.environ["SOCKODDS_API_KEY"]},
)
with urllib.request.urlopen(request) as response:
    print(json.dumps(json.load(response), indent=2))

Response from a local copy of the API with invented test prices

{
  "data": [
    {
      "id": "ev_000ckk0a5rbp",
      "name": "Aaron Pico v Abdul Hussein",
      "league": {
        "key": "ufc",
        "name": "UFC"
      },
      "scheduled_start": "2026-10-17T01:00:00.000Z",
      "status": "scheduled",
      "participants": [
        {
          "role": "competitor_1",
          "identity": {
            "id": "pl_000ckk01bsfh",
            "name": "Aaron Pico"
          }
        },
        {
          "role": "competitor_2",
          "identity": {
            "id": "pl_000ckk04tqx2",
            "name": "Abdul Hussein"
          }
        }
      ],
      "markets": [
        {
          "id": "mk_czgv11yf5b4re794",
          "key": "winner",
          "name": "Winner",
          "period": "full",
          "subject": null,
          "alternate": false,
          "outcomes": [
            {
              "id": "oc_s22kt607pp9tdm9q",
              "name": "Aaron Pico",
              "side": "competitor_1",
              "line": null,
              "prices": [
                {
                  "bookmaker": "unibet",
                  "decimal_odds": 1.72,
                  "implied_probability": 0.581395,
                  "available": true,
                  "observed_at": "2026-10-15T07:58:00.000Z"
                }
              ]
            },
            {
              "id": "oc_c3fcm4qb10dq21jt",
              "name": "Abdul Hussein",
              "side": "competitor_2",
              "line": null,
              "prices": [
                {
                  "bookmaker": "unibet",
                  "decimal_odds": 2.12,
                  "implied_probability": 0.471698,
                  "available": true,
                  "observed_at": "2026-10-15T07:58:00.000Z"
                }
              ]
            }
          ]
        }
      ]
    }
  ],
  "meta": {
    "count": 1,
    "cursor": null
  },
  "links": {
    "next": null
  }
}

Prices are decimal and exactly as each bookmaker showed them, with the time we saw them. A price older than ten minutes is withheld rather than shown as current.

Bookmakers

1 bookmakers deliver UFC prices through v1 as of 30 October 2026: Unibet.

UFC markets

12 market types are defined for the UFC. Ask for any of them with markets=; a bookmaker quotes the markets it offers for each game.

Game markets

MarketKeySidesLinePeriods
Winnerwinnerhome, away, competitor_1, competitor_2Nofull
Winner (draw is a dead heat)winner_draw_dead_heatcompetitor_1, competitor_2Nofull
Total roundstotal_roundsover, underYesfull
Fight ends on points (disqualification void)finish_on_points_dq_voidyes, noNofull
Fight ends by KO/TKO (disqualification void)finish_by_ko_tko_dq_voidyes, noNofull
Fight ends by submission (disqualification void)finish_by_submission_dq_voidyes, noNofull

Player markets

MarketKeySidesLinePeriods
Player significant strikes landed over/underplayer_significant_strikes_landed_over_underover, underYesfull, round_1, round_2, round_3, round_4, round_5
Player total strikes landed over/underplayer_strikes_landed_over_underover, underYesfull, round_1, round_2, round_3, round_4, round_5
Player takedowns landed over/underplayer_takedowns_over_underover, underYesfull, round_1, round_2, round_3, round_4, round_5
Fighter wins on points (disqualification void)player_win_by_points_dq_void_yes_noyes, noNofull
Fighter wins by KO/TKO (disqualification void)player_win_by_ko_tko_dq_void_yes_noyes, noNofull
Fighter wins by submission (disqualification void)player_win_by_submission_dq_void_yes_noyes, noNofull

Periods

full (Full match), round_1 (Round 1), round_2 (Round 2), round_3 (Round 3), round_4 (Round 4) and round_5 (Round 5).

Plans

The UFC is included on Rookie and Pro. Pro adds recorded price history, from 8 October 2026. See pricing.

Search across the SockOdds documentation and catalogue.