The Scenario
You are an MMA data analyst. You are building a fighter-profiling tool for a small betting research firm and you need the full career records for 10 UFC fighters — every fight, result, opponent, method (KO, submission, decision), and date. That is roughly 200+ individual fight records before you add any analytical columns.
The firm's fight-selection model needs win method breakdown for each fighter. A fighter who wins 80% by submission profiles very differently from one who wins 80% by decision, even if the overall record is the same.
The bad version:
- You find the MMA fighters endpoint in the API-Sports docs
- You construct calls for fighter IDs 1, 5, 12, 18, 23, 30, 44, 55, 67, and 89
- Each response nests the fight history inside a bouts array with a result object inside each bout
- You write a flattening script, discover that the method field uses different naming conventions across fight eras
- You get the data into a CSV, open it in Sheets, and find 23 rows where the method is blank for older fights
- You have been at this for two hours and the model is not started.
The faster version is one prompt.
The Easy Way: One Prompt in SheetXAI
SheetXAI is an AI agent inside your spreadsheet that calls the MMA career records endpoint for a list of fighter IDs and writes the results directly into the sheet.
Open the SheetXAI sidebar and type:
Fetch the complete career fight records for MMA fighter IDs 1, 5, 12, 18, 23, 30, 44, 55, 67, and 89 and write fighter name, opponent, result, method, and date into this sheet. Add a summary block at the top showing wins, losses, KO wins, submission wins, and decision wins for each fighter.
SheetXAI calls the API-Sports MMA endpoints for each fighter ID, normalises the method naming across different data vintages, and writes the fight-by-fight records into the sheet along with the aggregated summary block.
What You Get
A career records sheet with two sections:
- Summary block — one row per fighter with total wins, losses, KO wins, submission wins, and decision wins
- Fight-by-fight table — fighter name, opponent, result (W/L/NC), method, and date, one row per bout
The method normalisation means "TKO (Punches)" and "TKO" and "Technical Knockout" all resolve to the same category before the summary is calculated. You do not have to build a lookup table to reconcile the historical naming inconsistencies.
What If the Data Is Not Quite Ready
Fighter profiling for a betting model needs more than raw records. SheetXAI can add the analytical layers inline.
When older fight records have blank method data
Fights from the early 2000s sometimes lack method data in the API. Your KO-rate calculation will undercount if those blanks are treated as zeros.
For rows where the method column is blank, write 'Unknown' into the method column. Adjust the summary block so the KO wins, submission wins, and decision wins counts are shown as percentages of wins-with-known-method only, not total wins. Add a 'Data Completeness' column to the summary showing what percentage of each fighter's record has a known method.
When you want a recency-weighted win method profile
A fighter who won 10 by KO in the 2010s and 5 by decision since 2020 is a very different proposition. You want the last 3 years weighted separately.
Split the fight history into two periods: fights before 2022 and fights from 2022 onwards. Recalculate KO%, submission%, and decision% separately for each period and add both breakdowns to the summary block so the model can see whether the win method profile is shifting.
When you want fighters ranked by submission rate
Your model weights submission-heavy fighters differently for certain opponent matchups. You want the 10 fighters ranked by submission win rate.
Calculate each fighter's submission win rate as submission wins divided by total wins. Add a 'Sub Rate' column to the summary block and sort the summary by Sub Rate descending.
When you want the full fighter brief for the betting model in one pass
You have the 10 fighter IDs and nothing else. You want the career records, the summary block, the win method profile split by era, a flag for fighters with a KO rate above 50%, and a separate tab for active fighters only.
Fetch complete career records for MMA fighter IDs 1, 5, 12, 18, 23, 30, 44, 55, 67, and 89. Write the fight-by-fight records to the main tab. Build a Summary tab with total record, KO%, submission%, and decision% for both pre-2022 and 2022-onwards periods. Flag fighters with a KO rate above 50% in a 'High KO Risk' column. Create an 'Active Fighters' tab for any fighter whose most recent fight is within the last 18 months.
The pattern: instead of pulling the raw data and building the profiling model separately, you describe the full analytical output and SheetXAI runs the data pipeline and the model construction together.
Try It
Get the 7-day free trial of SheetXAI and ask it to pull career fight records for a list of MMA fighter IDs into your sheet. The API-Sports integration is included in every SheetXAI plan. For related workflows, see how to build a multi-player career comparison table or the API-Sports in Google Sheets overview.
