How do I get UFC event results and the fight card in Python?
A full UFC card with the result of every bout: winner, method, round and time. UFC 332 had 14 bouts and 11 of them ended in KO/TKO.
Code verified October 12, 2026. One call to get_event, 2 credits.
The call
event_id comes from list_events or get_schedule. Bouts come back in card order, with the winner as a fighter id. Pass league: "pfl" or "bellator" for those cards.
import requests
import pandas as pd
API_KEY = "YOUR_API_KEY"
resp = requests.post(
"https://mcp.fighterapi.com/v1/get_event",
headers={"x-api-key": API_KEY},
json={
"event_id": "600061182",
},
timeout=60,
)
resp.raise_for_status()
data = resp.json()["data"]
ev = data["event"]
bouts = pd.DataFrame(data["bouts"])
bouts["winner_name"] = bouts.apply(lambda b: b["fighter_a_name"] if b["winner"] == b["fighter_a"] else b["fighter_b_name"], axis=1)
print(ev["name"], ev["event_date"], ev["venue"], "-", len(bouts), "bouts")
cols = ["weight_class", "fighter_a_name", "fighter_b_name", "winner_name", "method_display", "end_round", "end_clock"]
print(bouts[cols].to_string(index=False))
print(bouts["method_display"].value_counts())
Replace YOUR_API_KEY with a key from your dashboard. Python needs requests and pandas (pip install requests pandas). JavaScript runs on Node 18 or newer, or in the browser.
What comes back
The data object of the response, trimmed to the first rows. Every field is real output from the run above.
{
"event": {
"event_id": "600061182",
"name": "UFC 332: Silva vs. Wang",
"short_name": "UFC 332",
"starts_at": "2026-10-03T20:00:00.000Z",
"event_date": "2026-10-03",
"venue": "Delta Center",
"city": "Salt Lake City",
"country": "USA",
"status": "final"
},
"bouts": [
{
"bout_id": "401912278",
"event_id": "600061182",
"event_name": "UFC 332: Silva vs. Wang",
"event_date": "2026-10-03",
"starts_at": "2026-10-04T00:00:00.000Z",
"weight_class": "Women's Flyweight",
"card_segment": "main",
"match_number": 1,
"title_fight": true,
"scheduled_rounds": 5,
"status": "final",
"fighter_a": "4054605",
"fighter_a_name": "Natalia Silva",
"fighter_b": "4215200",
"fighter_b_name": "Wang Cong",
"winner": "4054605",
"method": "decision---unanimous",
"method_display": "Decision - Unanimous",
"end_round": 5,
"end_clock": "5:00",
"duration_seconds": 1500,
"judges_scores": "48-47 | 49-46 | 48-47",
"referee": "Marc Goddard"
},
{
"bout_id": "401907087",
"event_id": "600061182",
"event_name": "UFC 332: Silva vs. Wang",
"event_date": "2026-10-03",
"starts_at": "2026-10-04T00:00:00.000Z",
"weight_class": "Bantamweight",
"card_segment": "main",
"match_number": 2,
"title_fight": false,
"scheduled_rounds": 3,
"status": "final",
"fighter_a": "4189320",
"fighter_a_name": "Deiveson Figueiredo",
"fighter_b": "5144008",
"fighter_b_name": "Payton Talbott",
"winner": "5144008",
"method": "kotko",
"method_display": "KO/TKO",
"end_round": 1,
"end_clock": "2:09",
"duration_seconds": 129,
"judges_scores": null,
"referee": "Jason Herzog"
},
"...12 more"
],
"count": 14
}What to do next
- get_fight (5 credits). Per-round strike and grappling stats for one bout.
- list_events (1 credit). Find the event_id for any past or upcoming card.
More guides
Start with 500 free credits every month
No card. REST or MCP.