Guides/Build a fantasy MMA app

Build a fantasy MMA app

Slates, fighter pool, and scoring from UFC results

Slate

bash
curl "https://api.citoapi.com/api/v1/ufc/events/upcoming" \
  -H "x-api-key: YOUR_API_KEY"

curl "https://api.citoapi.com/api/v1/ufc/events/{slug}/bouts" \
  -H "x-api-key: YOUR_API_KEY"

Pin lineups to bout IDs, not display names.

Fighters

bash
curl "https://api.citoapi.com/api/v1/ufc/fighters/{slug}" \
  -H "x-api-key: YOUR_API_KEY"

curl "https://api.citoapi.com/api/v1/ufc/rankings" \
  -H "x-api-key: YOUR_API_KEY"

Fighters · Rankings

Scoring

bash
# Result: winner, method, round
curl "https://api.citoapi.com/api/v1/ufc/bouts/{id}" \
  -H "x-api-key: YOUR_API_KEY"

# Totals: strikes, knockdowns, control
curl "https://api.citoapi.com/api/v1/ufc/bouts/{id}/stats" \
  -H "x-api-key: YOUR_API_KEY"

# Per round
curl "https://api.citoapi.com/api/v1/ufc/bouts/{id}/rounds" \
  -H "x-api-key: YOUR_API_KEY"
javascript
function scoreBout(bout, stats) {
  let pts = 0;
  if (bout.result?.winner === "red") pts += 20;
  if (/KO|TKO|Submission/i.test(bout.result?.method || "")) pts += 10;
  pts += (stats?.sigStrikes || 0) * 0.1;
  return pts;
}

Score after the bout result and stats settle. Live numbers can lag. Live UI optional via Live API.

Ship fantasy scoring

Use Cito for UFC fight cards, fighter pools, rankings, and results. Lock a slate in the sandbox, then score from bout results and stats.

bash
curl "https://api.citoapi.com/api/v1/ufc/events/upcoming" \
  -H "x-api-key: YOUR_API_KEY"

curl "https://api.citoapi.com/api/v1/ufc/events/{slug}/bouts" \
  -H "x-api-key: YOUR_API_KEY"

# After the fight — result + totals
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"