UFC API
Fighter profiles, rankings, event cards, live fight-night state, bout results, and deep round-by-round statistics for MMA applications and research.
https://api.citoapi.com/api/v1New
Full fighter careers, not just UFC fights
/ufc/fighters/{slug}/career returns every pro MMA fight we have for a fighter: UFC cards plus Bellator, PFL, regional promotions, Contender Series, Road to UFC and TUF. Each fight carries the promotion, opponent, result, method and round, and the record is split into UFC and outside-UFC next to the official record. Arman Tsarukyan, for example: 24-3-0, of which 13-1 came before the UFC.
GET /api/v1/ufc/fighters/arman-tsarukyan/careerCareer docsUFC Live — REST, SSE, and WebSockets available now
Poll /ufc/live and /ufc/live/{boutId} every ~1–2s for fight clocks, bout status, and live stats when available. SSE push is at /ufc/live/stream. Room-based WebSockets are live at wss://…/ufc/live/ws.
GET /api/v1/ufc/liveUFC Live docsWhat UFC data is available?
Live fight night
Use /ufc/live and bout detail for clocks, live status, and SSE push. WebSockets on paid plan soon.
Fight cards
Use events, event detail, and event bouts for upcoming and completed card pages.
Fighter profiles
Use fighter profile, stats, fights, and rankings endpoints for profile screens.
Round stats
Use bout stats and round filters for detailed fight analytics and research tools.
Odds screens
Use event and fight odds for market boards, sportsbook comparison, betting research, and model inputs.
No-friction workflow
6 steps to fight cards, odds, and stat rowsGET /ufc/events?hasStats=true&page=1&limit=50GET /ufc/events/{eventIdOrSlug}GET /ufc/events/{eventIdOrSlug}/boutsGET /ufc/events/{eventIdOrSlug}/odds?bookmaker=allGET /ufc/events/{eventIdOrSlug}/statsGET /ufc/fights/{boutId}/odds?bookmaker=draftkingsStart here for card pages, fighter profiles, or deep round analytics. All endpoints return clean JSON with stable IDs.
Endpoints
UFC coverage paths for live fight night, fighter profiles, event cards, rankings, bout stats, and betting odds. Full live + WebSocket guide →
GET/api/v1/ufcUfcCoverage overview, data groups, and sync metadata.
/api/v1/ufccurl "https://api.citoapi.com/api/v1/ufc" \
-H "x-api-key: YOUR_API_KEY"GET/api/v1/ufc/search?q=islamSearchSearch fighters, events, bouts, and divisions.
/api/v1/ufc/search?q=islamcurl "https://api.citoapi.com/api/v1/ufc/search?q=islam" \
-H "x-api-key: YOUR_API_KEY"GET/api/v1/ufc/liveLive OverviewLive card overview: active bouts, clocks, lagSeconds, recommendedPollSeconds.
/api/v1/ufc/livecurl "https://api.citoapi.com/api/v1/ufc/live" \
-H "x-api-key: YOUR_API_KEY"GET/api/v1/ufc/live/eventsLive EventsSupervisor state for fight-night events tracked by the live worker.
/api/v1/ufc/live/eventscurl "https://api.citoapi.com/api/v1/ufc/live/events" \
-H "x-api-key: YOUR_API_KEY"GET/api/v1/ufc/live/{boutId}Live BoutOne live bout by ufc-{fightMetricId} or bare fmid (clock, fighters, stats).
/api/v1/ufc/live/{boutId}curl "https://api.citoapi.com/api/v1/ufc/live/{boutId}" \
-H "x-api-key: YOUR_API_KEY"GET/api/v1/ufc/live/{boutId}/stateLive Bout StateCompact live state for polling clients.
/api/v1/ufc/live/{boutId}/statecurl "https://api.citoapi.com/api/v1/ufc/live/{boutId}/state" \
-H "x-api-key: YOUR_API_KEY"GET/api/v1/ufc/live/streamLive SSE StreamSSE push feed (filter with boutId and/or eventSlug).
/api/v1/ufc/live/streamcurl "https://api.citoapi.com/api/v1/ufc/live/stream" \
-H "x-api-key: YOUR_API_KEY"GET/api/v1/ufc/live/healthLive HealthLive worker health and heartbeat lag.
/api/v1/ufc/live/healthcurl "https://api.citoapi.com/api/v1/ufc/live/health" \
-H "x-api-key: YOUR_API_KEY"GET/api/v1/ufc/rankingsRankingsOfficial Meta UFC Rankings grouped by division (algorithmic).
/api/v1/ufc/rankingscurl "https://api.citoapi.com/api/v1/ufc/rankings" \
-H "x-api-key: YOUR_API_KEY"GET/api/v1/ufc/rankings/metaMetaExplicit Meta UFC Rankings endpoint (same data as /rankings).
/api/v1/ufc/rankings/metacurl "https://api.citoapi.com/api/v1/ufc/rankings/meta" \
-H "x-api-key: YOUR_API_KEY"GET/api/v1/ufc/rankings/meta/{division}DivisionMeta rankings for one division, such as lightweight.
/api/v1/ufc/rankings/meta/{division}curl "https://api.citoapi.com/api/v1/ufc/rankings/meta/{division}" \
-H "x-api-key: YOUR_API_KEY"GET/api/v1/ufc/rankings/mediaMediaTraditional media-panel rankings grouped by division.
/api/v1/ufc/rankings/mediacurl "https://api.citoapi.com/api/v1/ufc/rankings/media" \
-H "x-api-key: YOUR_API_KEY"GET/api/v1/ufc/rankings/media/{division}DivisionMedia-panel rankings for one division.
/api/v1/ufc/rankings/media/{division}curl "https://api.citoapi.com/api/v1/ufc/rankings/media/{division}" \
-H "x-api-key: YOUR_API_KEY"GET/api/v1/ufc/rankings/{division}DivisionMeta rankings for one division (alias of /rankings/meta/{division}).
/api/v1/ufc/rankings/{division}curl "https://api.citoapi.com/api/v1/ufc/rankings/{division}" \
-H "x-api-key: YOUR_API_KEY"GET/api/v1/ufc/fighters?page=1&limit=50List FightersPaginated fighter directory with profile metadata and stat availability.
/api/v1/ufc/fighters?page=1&limit=50curl "https://api.citoapi.com/api/v1/ufc/fighters?page=1&limit=50" \
-H "x-api-key: YOUR_API_KEY"GET/api/v1/ufc/fighters/{slug}SlugFighter profile, bio, record, rankings, and stat summary.
/api/v1/ufc/fighters/{slug}curl "https://api.citoapi.com/api/v1/ufc/fighters/{slug}" \
-H "x-api-key: YOUR_API_KEY"GET/api/v1/ufc/fighters/{slug}/statsSlug StatsStriking, grappling, accuracy, defense, win method, target, and position stats.
/api/v1/ufc/fighters/{slug}/statscurl "https://api.citoapi.com/api/v1/ufc/fighters/{slug}/stats" \
-H "x-api-key: YOUR_API_KEY"GET/api/v1/ufc/fighters/{slug}/fightsFightsFight history for one fighter.
/api/v1/ufc/fighters/{slug}/fightscurl "https://api.citoapi.com/api/v1/ufc/fighters/{slug}/fights" \
-H "x-api-key: YOUR_API_KEY"GET/api/v1/ufc/fighters/{slug}/careerCareerFull pro MMA career: UFC fights plus every other promotion, with UFC and outside-UFC records.
/api/v1/ufc/fighters/{slug}/careercurl "https://api.citoapi.com/api/v1/ufc/fighters/{slug}/career" \
-H "x-api-key: YOUR_API_KEY"GET/api/v1/ufc/athletesAthletesAlias for /fighters.
/api/v1/ufc/athletescurl "https://api.citoapi.com/api/v1/ufc/athletes" \
-H "x-api-key: YOUR_API_KEY"GET/api/v1/ufc/athletes/{slug}SlugAlias for /fighters/{slug}.
/api/v1/ufc/athletes/{slug}curl "https://api.citoapi.com/api/v1/ufc/athletes/{slug}" \
-H "x-api-key: YOUR_API_KEY"GET/api/v1/ufc/events?hasStats=true&page=1&limit=50List EventsPaginated events, optionally filtered to cards with fight stats.
/api/v1/ufc/events?hasStats=true&page=1&limit=50curl "https://api.citoapi.com/api/v1/ufc/events?hasStats=true&page=1&limit=50" \
-H "x-api-key: YOUR_API_KEY"GET/api/v1/ufc/events/recentRecent MatchesRecently completed UFC events.
/api/v1/ufc/events/recentcurl "https://api.citoapi.com/api/v1/ufc/events/recent" \
-H "x-api-key: YOUR_API_KEY"GET/api/v1/ufc/events/upcomingUpcoming ScheduleUpcoming UFC fight cards.
/api/v1/ufc/events/upcomingcurl "https://api.citoapi.com/api/v1/ufc/events/upcoming" \
-H "x-api-key: YOUR_API_KEY"GET/api/v1/ufc/events/{eventIdOrSlug}EventIdOrSlugEvent detail by clean slug or stable data ID.
/api/v1/ufc/events/{eventIdOrSlug}curl "https://api.citoapi.com/api/v1/ufc/events/{eventIdOrSlug}" \
-H "x-api-key: YOUR_API_KEY"GET/api/v1/ufc/events/{eventIdOrSlug}/boutsEvent BoutsAll bouts on an event card.
/api/v1/ufc/events/{eventIdOrSlug}/boutscurl "https://api.citoapi.com/api/v1/ufc/events/{eventIdOrSlug}/bouts" \
-H "x-api-key: YOUR_API_KEY"GET/api/v1/ufc/events/{eventIdOrSlug}/stats?round=1EventIdOrSlug StatsFight stats for an event, filtered by round when needed.
/api/v1/ufc/events/{eventIdOrSlug}/stats?round=1curl "https://api.citoapi.com/api/v1/ufc/events/{eventIdOrSlug}/stats?round=1" \
-H "x-api-key: YOUR_API_KEY"GET/api/v1/ufc/events/{eventIdOrSlug}/odds?bookmaker=allEventIdOrSlug OddsAll available odds for one UFC card, grouped by fight, market, bookmaker, and outcome.
/api/v1/ufc/events/{eventIdOrSlug}/odds?bookmaker=allcurl "https://api.citoapi.com/api/v1/ufc/events/{eventIdOrSlug}/odds?bookmaker=all" \
-H "x-api-key: YOUR_API_KEY"GET/api/v1/ufc/fight-cards/{eventIdOrSlug}/odds?bookmaker=draftkingsEventIdOrSlug OddsAlias for event odds using the fight-card route family.
/api/v1/ufc/fight-cards/{eventIdOrSlug}/odds?bookmaker=draftkingscurl "https://api.citoapi.com/api/v1/ufc/fight-cards/{eventIdOrSlug}/odds?bookmaker=draftkings" \
-H "x-api-key: YOUR_API_KEY"GET/api/v1/ufc/bouts?hasStats=true&includeStats=trueEvent BoutsPaginated bout list with optional stat rows.
/api/v1/ufc/bouts?hasStats=true&includeStats=truecurl "https://api.citoapi.com/api/v1/ufc/bouts?hasStats=true&includeStats=true" \
-H "x-api-key: YOUR_API_KEY"GET/api/v1/ufc/bouts/{boutId}BoutIdOne bout with fighters, result, method, round, time, and event context.
/api/v1/ufc/bouts/{boutId}curl "https://api.citoapi.com/api/v1/ufc/bouts/{boutId}" \
-H "x-api-key: YOUR_API_KEY"GET/api/v1/ufc/fights/{boutId}/odds?bookmaker=draftkingsBoutId OddsOdds for one fight, filterable by sportsbook or bookmaker group.
/api/v1/ufc/fights/{boutId}/odds?bookmaker=draftkingscurl "https://api.citoapi.com/api/v1/ufc/fights/{boutId}/odds?bookmaker=draftkings" \
-H "x-api-key: YOUR_API_KEY"GET/api/v1/ufc/fights/{boutId}/odds?bookmaker=polymarketBoutId OddsPolymarket odds for one fight, live during the fight (refreshed every 20 seconds while the card is on).
/api/v1/ufc/fights/{boutId}/odds?bookmaker=polymarketcurl "https://api.citoapi.com/api/v1/ufc/fights/{boutId}/odds?bookmaker=polymarket" \
-H "x-api-key: YOUR_API_KEY"GET/api/v1/ufc/events/{eventIdOrSlug}/odds?bookmaker=polymarketEventIdOrSlug OddsPolymarket odds for every fight on a card, live during the card.
/api/v1/ufc/events/{eventIdOrSlug}/odds?bookmaker=polymarketcurl "https://api.citoapi.com/api/v1/ufc/events/{eventIdOrSlug}/odds?bookmaker=polymarket" \
-H "x-api-key: YOUR_API_KEY"GET/api/v1/ufc/bouts/{boutId}/odds?bookmaker=allBoutId OddsAlias for fight odds using the bout route family.
/api/v1/ufc/bouts/{boutId}/odds?bookmaker=allcurl "https://api.citoapi.com/api/v1/ufc/bouts/{boutId}/odds?bookmaker=all" \
-H "x-api-key: YOUR_API_KEY"GET/api/v1/ufc/bouts/{boutId}/stats?round=1BoutId StatsBout-level fighter stat totals or one selected round.
/api/v1/ufc/bouts/{boutId}/stats?round=1curl "https://api.citoapi.com/api/v1/ufc/bouts/{boutId}/stats?round=1" \
-H "x-api-key: YOUR_API_KEY"GET/api/v1/ufc/bouts/{boutId}/rounds?round=2Bout RoundsRound-by-round fighter stat rows for one bout.
/api/v1/ufc/bouts/{boutId}/rounds?round=2curl "https://api.citoapi.com/api/v1/ufc/bouts/{boutId}/rounds?round=2" \
-H "x-api-key: YOUR_API_KEY"GET/api/v1/ufc/sync/statusStatusLatest UFC sync run status and coverage counters.
/api/v1/ufc/sync/statuscurl "https://api.citoapi.com/api/v1/ufc/sync/status" \
-H "x-api-key: YOUR_API_KEY"Odds endpoints
Event odds
GET /api/v1/ufc/events/{eventIdOrSlug}/oddsUse this for full card odds pages, market boards, sportsbook comparison tables, and model inputs that need every fight on one event.
Fight odds
GET /api/v1/ufc/fights/{boutId}/oddsUse this for one-fight matchup pages, odds widgets, prop cards, and bookmaker-specific views tied to a bout ID.
Polymarket live odds
GET /api/v1/ufc/fights/{boutId}/odds?bookmaker=polymarketGET /api/v1/ufc/events/{eventIdOrSlug}/odds?bookmaker=polymarketPrediction-market prices for each fight: moneyline, rounds over/under, goes the distance and method. Polymarket keeps trading while a fight is on, so during a card these refresh every 20 seconds and the fight in progress has isLive: true. Add available=true for only the prices open right now. Field reference
Filters and aliases
bookmaker=allreturns every available sportsbook.bookmaker=draftkings,fanduel, orbetonlinenarrows the response.bookmaker=polymarketreturns Polymarket prices, refreshed every 20 seconds during a live card (how they work)./ufc/fight-cards/{slug}/oddsaliases event odds./ufc/bouts/{boutId}/oddsaliases fight odds.
Market types
Round stats example
curl "https://api.citoapi.com/api/v1/ufc/bouts/770c5302e32916ea/stats?round=1" \
-H "x-api-key: YOUR_API_KEY"Append ?round=1, ?round=2, or ?round=3 to pull a single round of per-fighter stats instead of the full bout totals.
Start with a free key
Test UFC endpoints with 500 free requests/month. Scale up for production fight cards, profiles, or stat dashboards.