MMA Archive API
PRIDE, Strikeforce, WEC, DREAM, EliteXC and Affliction as clean JSON: cards, results, official round-by-round stats in the same shape as /ufc, fighters and head-to-head, and /mma for a fighter's whole career across promotions. With Bellator, that is 235 cards and 2,053 bouts from 1997 to 2017, 1,714 of them with official round-by-round stats, and 1,492 fighters, of whom 471 keep their UFC slug. Bellator has its own page.
https://api.citoapi.com/api/v1One route shape for every promotion
Each promotion has its own prefix (/pride, /strikeforce, /wec, /dream, /elitexc, /affliction) with the same routes and payloads as /bellator, and the stat rows use /ufc's field names and formats: significantStrikes, totalStrikes, takedowns, head, body, leg, distance, clinch and ground as "13 of 18", controlTime as "1:42", plus knockdowns, submissionAttempts and reversals. /mma answers across all of them.
GET /api/v1/pride/events/pride-34Promotions
PRIDE
/pridePRIDE Fighting Championships, 1997 to 2007: 66 cards (1997-10-11 to 2007-04-08), 567 bouts, all with official round-by-round stats, 287 fighters (121 with a UFC record). PRIDE rules: a 10-minute first round, then 5-minute rounds, so round 1 rows cover twice the time of later rounds. Early PRIDE fights can run past five rounds (pride-1829 has six), and round stats cover every round.
- Example event
pride-34- Example fighter
fedor-emelianenko(Fedor Emelianenko)
GET /api/v1/pride/events/pride-34GET /api/v1/pride/fighters/fedor-emelianenkoStrikeforce
/strikeforce2006 to 2013: 63 cards (2006-03-10 to 2013-01-13), 605 bouts, 344 with official round-by-round stats. Stats coverage is lower here: many Strikeforce Challengers prelims have results only, so 344 of the 605 bouts carry official round-by-round stats.
- Example event
strikeforce-barnett-vs-cormier- Example fighter
daniel-cormier(Daniel Cormier)
GET /api/v1/strikeforce/events/strikeforce-barnett-vs-cormierGET /api/v1/strikeforce/fighters/daniel-cormierWEC
/wecWorld Extreme Cagefighting, 2001 to 2010: 50 cards (2001-06-30 to 2010-12-16), 362 bouts, 348 with official round-by-round stats. WEC merged into the UFC, so many of its fighters continue on /ufc under the same slug.
- Example event
wec-48- Example fighter
jose-aldo(Jose Aldo)
GET /api/v1/wec/events/wec-48GET /api/v1/wec/fighters/jose-aldoDREAM
/dream2008 to 2012: 24 cards (2008-03-15 to 2012-12-31), 224 bouts, 223 with official round-by-round stats.
- Example event
dream-1- Example fighter
shinya-aoki(Shinya Aoki)
GET /api/v1/dream/events/dream-1GET /api/v1/dream/fighters/shinya-aokiEliteXC
/elitexc2007 to 2008: 10 cards (2007-02-10 to 2008-10-04), 42 bouts, all with official round-by-round stats.
- Example event
elitexc-primetime- Example fighter
kevin-ferguson(Kevin Ferguson, "Kimbo Slice")
GET /api/v1/elitexc/events/elitexc-primetimeGET /api/v1/elitexc/fighters/kevin-fergusonAffliction
/afflictionAffliction Entertainment, 2008 to 2009: 2 cards (2008-07-19 to 2009-01-24), 21 bouts, 17 with official round-by-round stats.
- Example event
affliction-banned- Example fighter
fedor-emelianenko(Fedor Emelianenko)
GET /api/v1/affliction/events/affliction-bannedGET /api/v1/affliction/fighters/fedor-emelianenkoBellator
/bellatorBellator MMA, 2014 to 2017: Bellator 131 to Bellator 172, on the same routes. It is part of /mma too.
Bellator API docsRoutes for each promotion
Replace {promotion} with pride, strikeforce, wec, dream, elitexc, affliction or bellator.
GET/api/v1/{promotion}PromotionOverview: coverage window, counts (events, bouts, bouts with official stats, fighters, fighters with a UFC record) and the endpoint list.
/api/v1/{promotion}curl "https://api.citoapi.com/api/v1/{promotion}" \
-H "x-api-key: YOUR_API_KEY"GET/api/v1/{promotion}/search?q={name}SearchFighters and events by name or nickname. Fighters carry ufcFighterSlug when they also have a UFC record.
/api/v1/{promotion}/search?q={name}curl "https://api.citoapi.com/api/v1/{promotion}/search?q={name}" \
-H "x-api-key: YOUR_API_KEY"GET/api/v1/{promotion}/eventsList EventsEvery card on file, newest first. Filter by from, to, q or hasStats.
/api/v1/{promotion}/eventscurl "https://api.citoapi.com/api/v1/{promotion}/events" \
-H "x-api-key: YOUR_API_KEY"GET/api/v1/{promotion}/events/{slug}SlugOne event and its full card, main event first, with each fighter's whole-fight totals.
/api/v1/{promotion}/events/{slug}curl "https://api.citoapi.com/api/v1/{promotion}/events/{slug}" \
-H "x-api-key: YOUR_API_KEY"GET/api/v1/{promotion}/events/{slug}/boutsEvent BoutsEvery bout on the card, main event first, with winner, method, round and time.
/api/v1/{promotion}/events/{slug}/boutscurl "https://api.citoapi.com/api/v1/{promotion}/events/{slug}/bouts" \
-H "x-api-key: YOUR_API_KEY"GET/api/v1/{promotion}/events/{slug}/statsSlug StatsSame shape as /ufc/events/{slug}/stats: bouts, boutStats and roundStats for the card. Pro for the archive.
/api/v1/{promotion}/events/{slug}/statscurl "https://api.citoapi.com/api/v1/{promotion}/events/{slug}/stats" \
-H "x-api-key: YOUR_API_KEY"GET/api/v1/{promotion}/boutsEvent BoutsQuery bouts by fighter, opponent, event, weight class, method, title fight, date or hasStats.
/api/v1/{promotion}/boutscurl "https://api.citoapi.com/api/v1/{promotion}/bouts" \
-H "x-api-key: YOUR_API_KEY"GET/api/v1/{promotion}/bouts/{boutId}BoutIdResult, method, round and time, finish position and submission, referee, judges' scores, both corners with totals, and every round.
/api/v1/{promotion}/bouts/{boutId}curl "https://api.citoapi.com/api/v1/{promotion}/bouts/{boutId}" \
-H "x-api-key: YOUR_API_KEY"GET/api/v1/{promotion}/bouts/{boutId}/roundsBout RoundsOfficial round-by-round stats per corner in the /ufc format. Pro for the archive.
/api/v1/{promotion}/bouts/{boutId}/roundscurl "https://api.citoapi.com/api/v1/{promotion}/bouts/{boutId}/rounds" \
-H "x-api-key: YOUR_API_KEY"GET/api/v1/{promotion}/bouts/{boutId}/statsBoutId StatsWhole-fight totals (boutStats) and every round (roundStats). Paid plans; archive stats on Pro.
/api/v1/{promotion}/bouts/{boutId}/statscurl "https://api.citoapi.com/api/v1/{promotion}/bouts/{boutId}/stats" \
-H "x-api-key: YOUR_API_KEY"GET/api/v1/{promotion}/fightersList FightersEveryone who fought on a card on file. ufc=true keeps fighters who also have a UFC record.
/api/v1/{promotion}/fighterscurl "https://api.citoapi.com/api/v1/{promotion}/fighters" \
-H "x-api-key: YOUR_API_KEY"GET/api/v1/{promotion}/fighters/{slug}SlugBio, record in that promotion, the UFC pointer, other promotions and the last five fights.
/api/v1/{promotion}/fighters/{slug}curl "https://api.citoapi.com/api/v1/{promotion}/fighters/{slug}" \
-H "x-api-key: YOUR_API_KEY"GET/api/v1/{promotion}/fighters/{slug}/fightsFightsEvery bout in that promotion from the fighter's side, newest first.
/api/v1/{promotion}/fighters/{slug}/fightscurl "https://api.citoapi.com/api/v1/{promotion}/fighters/{slug}/fights" \
-H "x-api-key: YOUR_API_KEY"GET/api/v1/{promotion}/fighters/{slug}/statsSlug StatsCareer totals in that promotion: landed, attempted and accuracy, plus strikes and takedowns absorbed. Paid plans.
/api/v1/{promotion}/fighters/{slug}/statscurl "https://api.citoapi.com/api/v1/{promotion}/fighters/{slug}/stats" \
-H "x-api-key: YOUR_API_KEY"GET/api/v1/{promotion}/h2h?fighter1={slug}&fighter2={slug}H2hHead-to-head record and every meeting between two fighters.
/api/v1/{promotion}/h2h?fighter1={slug}&fighter2={slug}curl "https://api.citoapi.com/api/v1/{promotion}/h2h?fighter1={slug}&fighter2={slug}" \
-H "x-api-key: YOUR_API_KEY"Whole career across promotions (/mma)
/mma answers across every archive promotion, Bellator included, with the same routes. Its overview lists each promotion with counts and coverage. /mma/bouts?promotion= narrows any query to one promotion, and /mma/fighters/{slug} adds recordByPromotion: a fighter's whole non-UFC career in one call, next to the UFC pointer when they have a UFC record.
GET/api/v1/mmaMmaEvery promotion with its counts and coverage window, plus totals.
/api/v1/mmacurl "https://api.citoapi.com/api/v1/mma" \
-H "x-api-key: YOUR_API_KEY"GET/api/v1/mma/search?q=fedorSearchOne search across every promotion's fighters and events.
/api/v1/mma/search?q=fedorcurl "https://api.citoapi.com/api/v1/mma/search?q=fedor" \
-H "x-api-key: YOUR_API_KEY"GET/api/v1/mma/eventsList EventsEvery archive card from every promotion, newest first.
/api/v1/mma/eventscurl "https://api.citoapi.com/api/v1/mma/events" \
-H "x-api-key: YOUR_API_KEY"GET/api/v1/mma/bouts?promotion=prideEvent BoutsBouts across the archive, filtered to one promotion with promotion= or to one fighter with fighter=.
/api/v1/mma/bouts?promotion=pridecurl "https://api.citoapi.com/api/v1/mma/bouts?promotion=pride" \
-H "x-api-key: YOUR_API_KEY"GET/api/v1/mma/fighters/daniel-cormierDaniel CormierA fighter's whole non-UFC career in one call: recordByPromotion, the UFC pointer and recent fights.
/api/v1/mma/fighters/daniel-cormiercurl "https://api.citoapi.com/api/v1/mma/fighters/daniel-cormier" \
-H "x-api-key: YOUR_API_KEY"GET/api/v1/mma/fighters/{slug}/fightsFightsEvery archive bout a fighter fought, across promotions, newest first.
/api/v1/mma/fighters/{slug}/fightscurl "https://api.citoapi.com/api/v1/mma/fighters/{slug}/fights" \
-H "x-api-key: YOUR_API_KEY"GET/api/v1/mma/fighters/{slug}/statsSlug StatsCareer totals over all of a fighter's archive bouts. Paid plans.
/api/v1/mma/fighters/{slug}/statscurl "https://api.citoapi.com/api/v1/mma/fighters/{slug}/stats" \
-H "x-api-key: YOUR_API_KEY"GET/api/v1/mma/h2h?fighter1={slug}&fighter2={slug}H2hEvery meeting between two fighters in any archive promotion.
/api/v1/mma/h2h?fighter1={slug}&fighter2={slug}curl "https://api.citoapi.com/api/v1/mma/h2h?fighter1={slug}&fighter2={slug}" \
-H "x-api-key: YOUR_API_KEY"GET /api/v1/mma/fighters/fedor-emelianenko
{
"slug": "fedor-emelianenko",
"name": "Fedor Emelianenko",
"nickname": "The Last Emperor",
"record": { "wins": 18, "losses": 3, "draws": 0, "noContests": 1, "text": "18-3-0 (1 NC)" },
"recordByPromotion": {
"affliction": { "wins": 2, "losses": 0, "text": "2-0-0" },
"dream": { "wins": 1, "losses": 0, "text": "1-0-0" },
"pride": { "wins": 14, "losses": 0, "noContests": 1, "text": "14-0-0 (1 NC)" },
"strikeforce": { "wins": 1, "losses": 3, "text": "1-3-0" }
},
"ufc": null,
"otherPromotions": ["affliction", "dream", "pride", "strikeforce"]
}Round example: PRIDE
Kazushi Sakuraba vs Royce Gracie (pride-1829) went six rounds, and every round has its own row per corner in the /ufc format. Round 6, Sakuraba's corner:
GET /api/v1/pride/bouts/pride-1829/rounds (one of its 12 rows)
{
"boutId": "pride-1829",
"corner": "red",
"fighterSlug": "kazushi-sakuraba",
"round": 6,
"knockdowns": 1,
"significantStrikes": "20 of 61",
"totalStrikes": "21 of 64",
"takedowns": "1 of 1",
"head": "7 of 43",
"body": "0 of 1",
"leg": "13 of 17",
"distance": "14 of 41",
"clinch": "0 of 0",
"ground": "6 of 20",
"controlTime": null
}Same fighter ID as UFC
A fighter with a UFC record has the same slug on every archive route as on /ufc/fighters/{slug}: daniel-cormier on /strikeforce and /ufc, jose-aldo on /wec and /ufc. Every fighter object carries ufcFighterSlug (null without a UFC record), so joining PRIDE, Strikeforce, WEC or any other archive to UFC data never needs a name match. For a career that includes UFC fights, use the UFC career endpoint.
Good to know
- These are closed archives: no live data, rankings or upcoming cards.
/{promotion}/events/upcomingalways returns an empty list with a note in meta. - Not every bout carries stats. Strikeforce has the lowest coverage (344 of 605 bouts) because many Challengers prelims have results only, and some PRIDE cards hold only their televised bouts. Check
hasStatson events and bouts, or filter withhasStats=true. - PRIDE fights ran a 10-minute first round, then 5-minute rounds, and early PRIDE fights can run past five rounds (
pride-1829has six). Round stats cover every round; normalise by round length before comparing PRIDE rounds with other promotions. - A fighter's record on a promotion route counts that promotion's fights on file only, as
recordNotesays./mma/fighters/{slug}gives the record per promotion. - Like /ufc, in-depth data follows your plan's history window. Older records are left out of lists and round stats are refused outside it, with the reason in
meta.historyWindow. The dashboard sandbox opens any archive record before you upgrade. - OpenAPI spec: api.citoapi.com/api/v1/openapi.json
Included with UFC
Every MMA archive comes with UFC on every plan, no extra game to add. Fighters, profiles, fight histories and bout results work on a free key.