UFC Bouts
Results, totals, round-by-round stats, and fight odds
List bouts
Paginated bouts.
Query parameters
| Parameter | Type | Description |
|---|---|---|
| page | number | Page number |
| limit | number | Page size |
| hasStats | boolean | Only bouts with stats |
| includeStats | boolean | Include stat rows |
Example
curl "https://api.citoapi.com/api/v1/ufc/bouts?hasStats=true&includeStats=true" \
-H "x-api-key: YOUR_API_KEY"Bout detail
Fighters, result, method, finish round/time, referee, weight class, event.
Example
curl "https://api.citoapi.com/api/v1/ufc/bouts/YOUR_BOUT_ID" \
-H "x-api-key: YOUR_API_KEY"Response
{
"success": true,
"data": {
"id": "…",
"event": { "slug": "ufc-300", "name": "UFC 300" },
"weightClass": "Lightweight",
"result": {
"winner": "red",
"method": "Decision - Unanimous",
"round": 5,
"time": "5:00"
}
}
}Fight totals
Knockdowns, strikes, takedowns, control. Optional ?round=.
Query parameters
| Parameter | Type | Description |
|---|---|---|
| round | number | Single-round filter |
Example
curl "https://api.citoapi.com/api/v1/ufc/bouts/YOUR_BOUT_ID/stats?round=1" \
-H "x-api-key: YOUR_API_KEY"Round-by-round
Per-fighter rows by round (head/body/leg, distance/clinch/ground when present).
Query parameters
| Parameter | Type | Description |
|---|---|---|
| round | number | Optional filter |
Example
curl "https://api.citoapi.com/api/v1/ufc/bouts/YOUR_BOUT_ID/rounds" \
-H "x-api-key: YOUR_API_KEY"Fight odds
Moneyline, fight totals, method of victory, exact round, round method, round group, fight-goes-distance, finish-only moneyline and draw, per bookmaker. This endpoint is the source of truth for odds.
Query parameters
| Parameter | Type | Description |
|---|---|---|
| bookmaker | string | all | polymarket | draftkings | … |
| available | boolean | true returns only prices that are open right now |
Example
curl "https://api.citoapi.com/api/v1/ufc/bouts/YOUR_BOUT_ID/odds?bookmaker=polymarket&available=true" \
-H "x-api-key: YOUR_API_KEY"Polymarket prices, including live during the fight
Polymarket is one of the bookmakers on these endpoints (bookmaker.slug polymarket, group prediction_market). Filter with ?bookmaker=polymarket. Each fight is linked only when both fighters match the two corners of the same bout on our card; anything else is left out rather than guessed.
- Live: Polymarket keeps trading while the fight is on. During a card we refresh its prices every 20 seconds, and
isLiveis true for the fight in progress. When a fight is decided its outcomes switch toisAvailable: false, keeping the last price before the decision. - Prices:
impliedProbabilityis Polymarket's price (0–1),decimalOddsis 1 / price, andmoneylinethe American equivalent.previousMoneylineis the price before the latest move. - Only real prices: we serve a market when Polymarket would show a price for it: a spread of 10 cents or less, or a last trade on a market with real volume. Untraded props (common for round-by-round markets and early undercard fights) are left out until they trade.
- Markets:
moneyline(sidefighter1/fighter2in Polymarket's listing order;fighter.slugsays who),fight_total(Over/Under rounds, line inpoint),fight_goes_distance,method_of_victory,round_groupandround_method(Yes/No questions, sideyes/no).
Do not read odds from the bout object
A bout payload carries a legacy odds summary shaped like { "red": null, "blue": null }. It is a leftover from an earlier source, it is usually null, and a null there does not mean the fight has no odds. Call /ufc/bouts/{boutId}/odds or /ufc/events/{slug}/odds instead.
Prop markets are posted by bookmakers closer to the event. Moneyline usually appears first, with method of victory, exact round and round method following in the days before the card. An empty markets list for a fight weeks out is expected, not missing data.
Fight-night clocks: /docs/api/ufc/live
Ship fight detail & stats
Cito is how you build UFC research tools, fighter profiles, fight cards, rankings pages, and MMA dashboards. Hit bout detail and rounds in the sandbox.
curl "https://api.citoapi.com/api/v1/ufc/bouts/{id}" \
-H "x-api-key: YOUR_API_KEY"
curl "https://api.citoapi.com/api/v1/ufc/bouts/{id}/stats" \
-H "x-api-key: YOUR_API_KEY"
curl "https://api.citoapi.com/api/v1/ufc/bouts/{id}/rounds" \
-H "x-api-key: YOUR_API_KEY"
curl "https://api.citoapi.com/api/v1/ufc/bouts/{id}/odds?bookmaker=all" \
-H "x-api-key: YOUR_API_KEY"