Bellator API
The Bellator MMA archive as clean JSON: 20 cards from Bellator 131 (2014) to Bellator 172 (2017), results with method, round and time, official round-by-round stats in the same shape as /ufc, fighter profiles and head-to-head. Fighters with a UFC record keep their UFC slug. New to it? Start with the Bellator API overview. PRIDE, Strikeforce, WEC and the other archives, and /mma across all of them, are in the MMA archive docs.
https://api.citoapi.com/api/v1Official round-by-round stats, in the /ufc shape
173 of the 232 bouts on file carry official round-by-round stats with the same field names and formats as the UFC API: significantStrikes, totalStrikes, takedowns, head, body, leg, distance, clinch and ground as "13 of 18", controlTime as "1:42", plus knockdowns, submissionAttempts and reversals. Code that reads a UFC round reads a Bellator round.
GET /api/v1/bellator/bouts/bellator-5600/roundsWhat Bellator data is available?
Cross-promotion models
Bellator rounds in the same fields as UFC rounds, so one feature pipeline covers both promotions.
Fight breakdowns
Round-by-round striking by target and position, takedowns and control time for every bout with official stats.
Fighter pages
Bio, Bellator record, fight history and career stats across 325 fighters, linked to their UFC record where one exists.
Matchup research
Head-to-head records between any two fighters on file, with every meeting.
Historical results
Winner, method, round, time, finish and referee for every bout on the 20 cards.
One fighter, two promotions
Follow ufcFighterSlug from a Bellator fighter straight to /ufc/fighters/{slug} without a name match.
From a card to the same fighter on UFC
6 calls, real idsGET /bellator/events?hasStats=trueGET /bellator/events/bellator-142GET /bellator/bouts/bellator-5600GET /bellator/bouts/bellator-5600/roundsGET /bellator/fighters/tito-ortizGET /ufc/fighters/tito-ortizPromotion & search
GET/api/v1/bellatorBellatorArchive overview: coverage window, counts (events, bouts, bouts with official stats, fighters, fighters with a UFC record) and the endpoint list.
/api/v1/bellatorcurl "https://api.citoapi.com/api/v1/bellator" \
-H "x-api-key: YOUR_API_KEY"GET/api/v1/bellator/search?q=kongoSearchSearch fighters and events by name or nickname. Fighters carry ufcFighterSlug when they also have a UFC record.
/api/v1/bellator/search?q=kongocurl "https://api.citoapi.com/api/v1/bellator/search?q=kongo" \
-H "x-api-key: YOUR_API_KEY"Events & fight cards
GET/api/v1/bellator/eventsList EventsEvery Bellator card on file, newest first: Bellator 131 (November 2014) to Bellator 172 (February 2017). Filter by from, to, q or hasStats.
/api/v1/bellator/eventscurl "https://api.citoapi.com/api/v1/bellator/events" \
-H "x-api-key: YOUR_API_KEY"GET/api/v1/bellator/events/{slug}SlugOne event and its full card, main event first, with each fighter's whole-fight totals (slug e.g. bellator-142).
/api/v1/bellator/events/{slug}curl "https://api.citoapi.com/api/v1/bellator/events/{slug}" \
-H "x-api-key: YOUR_API_KEY"GET/api/v1/bellator/events/{slug}/boutsEvent BoutsEvery bout on the card, main event first, with winner, method, round and time.
/api/v1/bellator/events/{slug}/boutscurl "https://api.citoapi.com/api/v1/bellator/events/{slug}/bouts" \
-H "x-api-key: YOUR_API_KEY"GET/api/v1/bellator/events/{slug}/stats?round=1Slug StatsSame shape as /ufc/events/{slug}/stats: bouts, boutStats (whole fight) and roundStats for every bout on the card. Pro for the archive.
/api/v1/bellator/events/{slug}/stats?round=1curl "https://api.citoapi.com/api/v1/bellator/events/{slug}/stats?round=1" \
-H "x-api-key: YOUR_API_KEY"Bouts & round stats
GET/api/v1/bellator/bouts?fighter=tito-ortizEvent BoutsQuery bouts by fighter, opponent, event, weight class, method, title fight, date or hasStats.
/api/v1/bellator/bouts?fighter=tito-ortizcurl "https://api.citoapi.com/api/v1/bellator/bouts?fighter=tito-ortiz" \
-H "x-api-key: YOUR_API_KEY"GET/api/v1/bellator/bouts/{boutId}BoutIdFull bout: result, method, round and time, finish position and submission, referee, judges' scores, both corners with totals, and every round (boutId e.g. bellator-5600).
/api/v1/bellator/bouts/{boutId}curl "https://api.citoapi.com/api/v1/bellator/bouts/{boutId}" \
-H "x-api-key: YOUR_API_KEY"GET/api/v1/bellator/bouts/{boutId}/roundsBout RoundsOfficial round-by-round stats per corner: knockdowns, significant and total strikes, takedowns, submission attempts, reversals, control time, by target and position. Pro for the archive.
/api/v1/bellator/bouts/{boutId}/roundscurl "https://api.citoapi.com/api/v1/bellator/bouts/{boutId}/rounds" \
-H "x-api-key: YOUR_API_KEY"GET/api/v1/bellator/bouts/{boutId}/statsBoutId StatsWhole-fight totals (boutStats) and every round (roundStats). Paid plans; archive stats on Pro.
/api/v1/bellator/bouts/{boutId}/statscurl "https://api.citoapi.com/api/v1/bellator/bouts/{boutId}/stats" \
-H "x-api-key: YOUR_API_KEY"Fighters & head-to-head
GET/api/v1/bellator/fighters?ufc=trueList FightersEveryone who fought on a Bellator card on file. ufc=true keeps only fighters who also have a UFC record.
/api/v1/bellator/fighters?ufc=truecurl "https://api.citoapi.com/api/v1/bellator/fighters?ufc=true" \
-H "x-api-key: YOUR_API_KEY"GET/api/v1/bellator/fighters/{slug}SlugBio (date of birth, height, reach, stance, hometown), Bellator record, the UFC pointer, other promotions and the last five Bellator fights.
/api/v1/bellator/fighters/{slug}curl "https://api.citoapi.com/api/v1/bellator/fighters/{slug}" \
-H "x-api-key: YOUR_API_KEY"GET/api/v1/bellator/fighters/{slug}/fightsFightsEvery Bellator bout from the fighter's side, newest first, with opponent and outcome.
/api/v1/bellator/fighters/{slug}/fightscurl "https://api.citoapi.com/api/v1/bellator/fighters/{slug}/fights" \
-H "x-api-key: YOUR_API_KEY"GET/api/v1/bellator/fighters/{slug}/statsSlug StatsCareer totals over the fighter's Bellator bouts: landed, attempted and accuracy, by target and position, plus strikes and takedowns absorbed. Paid plans.
/api/v1/bellator/fighters/{slug}/statscurl "https://api.citoapi.com/api/v1/bellator/fighters/{slug}/stats" \
-H "x-api-key: YOUR_API_KEY"GET/api/v1/bellator/h2h?fighter1=phil-davis&fighter2=emanuel-newtonH2hHead-to-head record and every meeting between two fighters (slugs or names).
/api/v1/bellator/h2h?fighter1=phil-davis&fighter2=emanuel-newtoncurl "https://api.citoapi.com/api/v1/bellator/h2h?fighter1=phil-davis&fighter2=emanuel-newton" \
-H "x-api-key: YOUR_API_KEY"Bout example
curl "https://api.citoapi.com/api/v1/bellator/bouts/bellator-5600" \
-H "x-api-key: YOUR_API_KEY"
{
"id": "bellator-5600",
"eventSlug": "bellator-142",
"eventName": "Bellator 142: Dynamite 1",
"date": "2015-09-19",
"weightClass": "Light Heavyweight",
"titleFight": true,
"scheduledRounds": 5,
"winnerFighterSlug": "liam-mcgeary",
"method": "Submission",
"resultRound": 1,
"resultTime": "4:41",
"finish": { "position": "On Ground", "submission": "Triangle Choke" },
"referee": { "name": "John McCarthy" },
"officialStats": true,
"fighters": [
{ "corner": "red", "fighterSlug": "liam-mcgeary", "outcome": "win", "ufcFighterSlug": null,
"totals": { "significantStrikes": "6 of 11", "totalStrikes": "16 of 24", "takedowns": "1 of 1",
"head": "6 of 11", "distance": "2 of 6", "ground": "4 of 5", "knockdowns": 0 } },
{ "corner": "blue", "fighterSlug": "tito-ortiz", "outcome": "loss", "ufcFighterSlug": "tito-ortiz",
"totals": { "significantStrikes": "4 of 15", "totalStrikes": "19 of 30", "takedowns": "0 of 0",
"head": "4 of 15", "distance": "3 of 13", "ground": "1 of 2", "submissionAttempts": 2 } }
],
"roundStats": [ "…one row per corner per round, same fields" ]
}Same fighter ID as UFC
65 of the 325 Bellator fighters also have a UFC record, and they keep the same slug on both APIs: tito-ortiz and phil-davis are the same id on /bellator and /ufc. Every fighter object carries ufcFighterSlug (null when there is no UFC record), and the profile adds the UFC path, so joining the two promotions never needs a name match.
GET /api/v1/bellator/fighters/tito-ortiz
{
"slug": "tito-ortiz",
"name": "Tito Ortiz",
"nickname": "The People's Champ",
"record": { "wins": 1, "losses": 1, "draws": 0, "noContests": 0, "text": "1-1-0" },
"recordNote": "Record in Bellator fights in our archive (2014-2017), not the fighter's full career.",
"ufc": {
"ufcFighterSlug": "tito-ortiz",
"ufcFighterPath": "/api/v1/ufc/fighters/tito-ortiz"
}
}Filter the directory to these fighters with /bellator/fighters?ufc=true. For a fighter's archive record in every promotion at once (PRIDE, Strikeforce, WEC and the rest), use /mma/fighters/{slug}; for a whole pro career including UFC fights, the UFC career endpoint.
Good to know
- Bellator is a closed archive (2014 to 2017): no live data, rankings or upcoming cards.
/bellator/events/upcomingalways returns an empty list with a note in meta. - Some cards are partial. Bellator 148, 149 and 172 hold only some of their bouts (Bellator 172 has no Fedor vs Mitrione), and some prelims carry results without stats. Check
hasStatson events and bouts, or filter withhasStats=true. - A fighter's record on /bellator counts the Bellator fights on file only, as
recordNotesays, not their full career. - 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. - Aliases are accepted:
/bellator/athletesmaps to fighters,/bellator/fight-cardsto events and/bellator/head-to-headto h2h. OpenAPI spec: api.citoapi.com/api/v1/openapi.json
Included with UFC
Bellator comes with UFC on every plan, no extra game to add. Fighters, profiles, fight histories and bout results work on a free key.