UFC fight stats data
The full stat sheet for nearly every UFC fight since 2000: strikes by target and position, takedowns, control time, reversals and submission attempts. REST or MCP.
FighterAPI serves the full stat sheet for nearly every UFC fight since 2000, both fighters: significant and total strikes landed and attempted, split by head, body and leg and by distance, clinch and ground, plus knockdowns, takedowns, control time, guard passes, reversals and submission attempts.
Each fight comes with its result, method, round, time, judges' scores and referee, and both fighters' ratings before and after. Ask for one fight with get_fight, or a fighter's whole career with get_fighter_fights. The table below is read from the database.
Coverage by season
Counted from the database on October 8, 2026: finished fights, by calendar year.
| Season | Fights | Covered | Stat sheets |
|---|---|---|---|
| 2026 | 473 | 100% | 946 |
| 2025 | 571 | 100% | 1,142 |
| 2024 | 566 | 100% | 1,132 |
| 2023 | 573 | 99% | 1,138 |
| 2022 | 563 | 99% | 1,120 |
| 2021 | 563 | 99% | 1,118 |
| 2020 | 504 | 100% | 1,008 |
| 2019 | 565 | 100% | 1,130 |
| 2018 | 529 | 100% | 1,058 |
| 2017 | 499 | 100% | 994 |
| 2016 | 493 | 100% | 986 |
| 2015 | 473 | 100% | 946 |
| 2014 | 503 | 100% | 1,006 |
| 2013 | 386 | 100% | 772 |
| 2012 | 342 | 100% | 684 |
| 2011 | 301 | 100% | 602 |
| 2010 | 253 | 100% | 506 |
| 2009 | 215 | 100% | 430 |
| 2008 | 201 | 100% | 402 |
| 2007 | 171 | 100% | 342 |
| 2006 | 158 | 100% | 316 |
| 2005 | 80 | 100% | 160 |
| 2004 | 39 | 100% | 78 |
| 2003 | 41 | 100% | 82 |
| 2002 | 53 | 100% | 106 |
| 2001 | 40 | 100% | 80 |
| 2000 | 43 | 100% | 86 |
How to get it
get_fight, 5 credits a call. A full 2025 season is 571 calls and 2,855 credits, which fits in one month of Starter ($19/mo).
curl -X POST https://mcp.fighterapi.com/v1/get_fight \
-H "Content-Type: application/json" \
-H "x-api-key: YOUR_API_KEY" \
-d '{
"bout_id": "401612970"
}'What comes back
| bout | |
| bout.bout_id | |
| bout.event_id | |
| bout.event_name | |
| bout.event_date | |
| bout.starts_at | |
| bout.weight_class | |
| bout.card_segment | |
| bout.match_number | |
| bout.title_fight | |
| bout.scheduled_rounds | |
| bout.status | |
| bout.fighter_a | |
| bout.fighter_a_name |
Every field and a real response: get_fight docs.
Questions
How far back do the UFC fight stats go?
Every UFC card from 2000 to the most recent one, with a stat sheet for both fighters on 99% of finished fights.
Where do the stats come from?
Fight results and stat sheets are public ESPN data. Round-by-round lines are compiled by UFC Stats (FightMetric) and checked against ESPN's fight totals.
Can I get a fighter's career numbers in one call?
Yes. get_fighter returns career rates per 15 minutes (strikes landed and absorbed, accuracy, defense, takedowns, control) and the UFC record by method; get_fighter_fights returns every fight with the stat line.
Can I use it from Claude or ChatGPT?
Yes. FighterAPI is an MCP server as well as a REST API: add one URL to Claude, Cursor or any MCP client and ask in plain English.
Is it free?
Every account starts with 500 free credits and no card. A fight's full detail is 5 credits.
What it will not do
- UFC only on this page. PFL and Bellator results, fighters and odds are served with league=pfl or league=bellator, without stat sheets or rounds.
- Fights land the morning after a card, not live.
- A few dozen fights, mostly from 2016 to 2019 and Ultimate Fighter semifinals, have no stat sheet.
Works with
Start with 500 free credits
No card. REST or MCP.