The fight data API.
Every UFC fight since 2000.
Results, judges' scorecards and the full stat sheet for nearly every UFC fight, round by round, plus PFL (2012 on) and Bellator (2009 to 2024) results, fighters and ratings with the same key. Fighter profiles with reach, stance and gym, career rates, our own ratings, and sportsbook moneylines from 2024. Call it over REST or point Claude at it over MCP. The first 500 credits are free and we do not ask for a card.
500 free credits, no card. Works in Claude, ChatGPT and Cursor: connect over MCP
- round lines
- 41,000+
- fights
- 9,100+
- fighters
- 3,000+
- years
- 27
Also in FighterAPI
The PFL fight data API
Professional Fighters League, every season since 2012: sportsbook lines and season lines. Same key and credits as the UFC.
See the PFL data- games
- 1,284
- plays
- 137
- seasons
- 14
Also in FighterAPI
The Bellator fight data API
Bellator MMA, every season since 2009: sportsbook lines and season lines. Same key and credits as the UFC.
See the Bellator data- games
- 3,046
- plays
- 317
- seasons
- 16
This week
What get_schedule returns right now.
Rendered from the same rows get_schedule returns, refreshed every morning. Lines are the favourite at the median price across sportsbooks.
| Card | Fighter | Opponent | Line | Rounds | Fight id |
|---|---|---|---|---|---|
| Sat 8:00 PM ET | Brendan Allen | Christian Leroy Duncan | Brendan Allen -125 | 3.5 rds | 401916276 |
| Sat 8:00 PM ET | Matheus Camilo | Jai Herbert | Matheus Camilo -185 | 1.5 rds | 401927415 |
| Sat 8:00 PM ET | Loopy Godínez | Ketlen Souza | -- | -- | 401924510 |
| Sat 8:00 PM ET | Andre Fili | Kai Kamaka III | Andre Fili -142 | 2.5 rds | 401927416 |
| Sat 8:00 PM ET | Malcolm Wellmaker | Otari Tanzilovi | Malcolm Wellmaker -225 | 2.5 rds | 401927421 |
| Sat 5:00 PM ET | Julius Walker | Gerald Meerschaert | Julius Walker -290 | 1.5 rds | 401927417 |
get_schedule · 2 credits · then get_fight for stat sheets, rounds and every book's line
Coverage
Coverage you can inspect before you build.
Every UFC card since 2000, with results, method, round and time.
Strikes, takedowns, control time and submission attempts for every round, checked against fight totals.
Our Elo for every UFC fighter, before and after every fight since 2000.
| Dataset | Seasons | Volume | Status | Tools |
|---|---|---|---|---|
Cards and results Events, fights in card order, winner, method, round, time, judges' scores and referee. | 2000 to current | Every UFC card | Full | |
Fight stat sheets Strikes by target and position, takedowns, control time, guard passes, reversals, submission attempts. | 2000 to current | Per fighter per fight | Full A few dozen fights, mostly from 2016 to 2019 and Ultimate Fighter semifinals, have no stat sheet. | |
Round-by-round Each round's strikes, takedowns, control and submission attempts, compiled by UFC Stats (FightMetric). | 2000 to current | Per fighter per round | Full A fight whose rounds do not add up to its totals is flagged. | |
Fighters Date of birth, height, reach, stance, gym, record by method and career rates. | Everyone who fought in the UFC since 2000 | Profiles and careers | Full | |
Odds Opening, closing and current moneylines and the total-rounds line, by sportsbook. | 2024 to current | Several books January to June 2024, usually one after | Partial From 2024 only; mostly one book per fight; moneylines and total rounds, no props. | |
Ratings Our Elo from UFC results, before and after every fight. | 2000 to current | Every fighter, every fight | Full |
Full detail in the data atlas. Sportsbooks: the books ESPN reports: about nine for January to June 2024 (including Bet365, DraftKings, Caesars and ESPN BET), then usually ESPN BET or DraftKings alone. No opening or closing lines before November 2023, and every fight since mid-2024 has one book.
Last written 2026-10-08 16:17 UTC. Every dataset's own refresh time is in the changelog.
Why trust it
Two sources, checked against each other on every fight.
Fight data is usually scraped from one site and trusted. Here the round lines and the fight totals come from different places, and each matched fight is reconciled before it is served.
Round lines checked against fight totals
Round-by-round strikes and takedowns come from a different source than the fight totals. Every fight we can match across the two has its rounds added up and compared with its totals, and a fight where they disagree says so in the response instead of passing it off as clean.
Every card since, with the stat sheet for nearly every fight
Strikes by target and position, takedowns, control time, reversals and submission attempts for both fighters in every UFC fight, with the result, the round, the clock and the judges' cards.
A rating before and after each one
Our Elo, rebuilt from every UFC result since 2000 on each daily run, so a corrected result corrects every rating after it. Strength of schedule and form, in one number per fight.
Tools
Every tool, and what a call costs.
Every tool is one REST endpoint and one MCP tool with the same name, the same parameters, and a fixed credit cost. Empty results are not charged.
- get_fightOne fight: result, full stat sheets, round-by-round lines, ratings and odds
- get_fighterProfile, UFC record by method, career rates, rating and recent fights
- get_fighter_fightsA fighter's full UFC history with stats, ratings and closing lines
- get_leadersCareer leaderboards from every fight's stat sheet
- get_oddsOpening, closing and current moneylines by sportsbook for a fight (5) or a card (10)
Built for
Four jobs, and the endpoints that do them.
Fight lines next to the fight that followed
Opening and closing moneylines for UFC fights since 2024, joined to the result, the full stat sheet and both fighters' ratings.
Read more →Round-by-round numbers for UFC cards since 2000
Strikes by target and position, takedowns, control time and submission attempts for nearly every fight and round.
Read more →Fight data your app or agent can query
REST and MCP over the same data: cards, fights, fighters, stats and odds, with ids that stay stable.
Read more →Access
REST or MCP. Same data either way.
Call it from any language over REST. Let Claude or Cursor query it in plain English over MCP.
- GET https://mcp.fighterapi.com/v1/tools public catalogue with JSON Schema
- POST https://mcp.fighterapi.com/v1/{tool}
- MCP https://mcp.fighterapi.com/mcp
curl -X POST https://mcp.fighterapi.com/v1/list_teams \
-H "x-api-key: YOUR_API_KEY"
# every tool: POST /v1/{tool} with a JSON body
# responses carry X-Credits-Used and X-Credits-RemainingPricing
Free to start, then you pay per call.
500 credits on signup, no card. Subscriptions add a monthly allowance; wallet top-ups never expire.
- +All 11 endpoints
- +REST API + MCP access
- +No credit card required
- +10,000 credits/month
- +All 11 endpoints
- +Email support
- +Overage at wallet rates
- +30,000 credits/month
- +All 11 endpoints
- +Priority support
- +Overage at wallet rates
- +125,000 credits/month
- +All 11 endpoints
- +Dedicated support
- +Volume rates available
Full breakdown, credit costs per tool, and FAQ on the pricing page.
Questions
The things people ask before signing up.
Is FighterAPI free?
Every account starts with 500 credits and no card. Calls cost 1 to 10 credits depending on the endpoint, so 500 is a few hundred real requests. Paid plans start at $19/mo for 10,000 credits a month, and wallet top-ups never expire.
How far back does the data go?
Every UFC card from 2000 to the next one scheduled: results and stat sheets for nearly every fight, and round-by-round lines for nearly every numbered and Fight Night card. Opening and closing moneylines start with the November 2023 cards: several sportsbooks for January to June 2024, then usually one book per fight (ESPN BET, later DraftKings). There are no opening or closing lines before November 2023.
What is MCP, and do I need it?
MCP is the protocol Claude, Cursor and similar assistants use to call tools. Point one at https://mcp.fighterapi.com/mcp with your key and it picks the endpoint and reads the response itself, no client code. If you are writing an application instead, ignore MCP and use the REST endpoints; they are the same 11 tools.
Can I use this commercially?
Yes, inside your own product or model, within the terms. Reselling the data itself as a feed is not permitted. FighterAPI is independent and not affiliated with the UFC.
How current is it?
One update a day, early morning US Eastern (10:00 UTC): new and changed cards, the last ten days' results and stat sheets, and a fresh price on every upcoming fight that has a posted line. Round-by-round lines follow when UFC Stats publishes them. There is no live, strike-by-strike feed.
Where do the fight stats come from?
Results, fighters, stat sheets and odds from public ESPN data; round-by-round lines compiled by UFC Stats (FightMetric). Every fight's rounds are checked against its totals, and a fight where they disagree says so. Career rates, leaderboards and ratings are computed here.
What are the rate limits?
60 requests a minute, dropping to 10 if your credit balance falls below 100. The limit is the same on every plan: credits, not requests, are the spend boundary.
Before you write another scraper
Start with 500 credits and no card.
FighterAPI · The fight data API.