Ufc Stats Scraper
Pricing
from $10.50 / 1,000 results
Ufc Stats Scraper
Get official UFC fighter records, event cards and full round by round fight breakdowns, strikes, takedowns and control time included. No login. Built for bettors backtesting models, fantasy MMA players, analysts and content creators who need accurate fight stats fast.
Pricing
from $10.50 / 1,000 results
Rating
0.0
(0)
Developer
Norm Data
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share

๐ฅ UFC Stats Scraper
Extract official UFC fight statistics (fighter profiles, event cards, and full fight-by-fight strike and grappling breakdowns) as clean, structured records. Career averages, complete fight history, and per-fight totals (knockdowns, significant strikes, takedowns, control time), with an optional round-by-round split. No login, no account, no manual copying.
๐ฏ Who uses it?
๐ฎ Fantasy MMA players
Compare fighter stats to set weekly DraftKings / FanDuel lineups.
๐ฒ Bettors & model builders
Backtest betting angles and build predictive models from career-long striking and grappling data, down to the individual round.
๐ Analysts & researchers
Track career trajectories, finishing rates, and stylistic matchups across a fighter's entire UFC record.
โ๏ธ Content creators
Pull accurate fight records and stats for pre-fight previews, graphics, and recaps.
โจ What it does
- Fighter profiles: bio (height, weight, reach, stance, date of birth), career averages (significant strikes landed/absorbed per minute, strike accuracy & defense, takedown average, accuracy & defense, submission average), and full fight history.
- Events: every completed or upcoming UFC event: date, location, and the full fight card.
- Fight breakdowns: knockdowns, significant strikes (landed/attempted/accuracy), total strikes, takedowns, submission attempts, reversals, and control time, for the whole fight, or split out round by round.
- Find fighters by name, paste fighter profile links directly, or browse an entire AโZ directory letter.
- Filter by stance and minimum career wins/losses so only relevant fighters land in your dataset.
- CRM-ready layout: keep fight history nested inside each fighter row, or flatten it to one row per past fight.
- Heights/weights/reach are normalized to metric (cm / kg) alongside the raw record.
Why this scraper
- Find fighters by name. The other UFC scrapers on Apify only search a single word at a time. This one takes a full name like "Israel Adesanya".
- Round-by-round breakdowns. Strikes, takedowns, control time and more, split per round, not just fight totals.
- Three entities in one actor: fighter profiles with full history, event cards, and fight-level breakdowns.
- Filters that narrow the dataset: stance, minimum career wins or losses, and a whole A-Z directory letter at a time.
- CRM-ready output: nested fight history, or flattened to one row per past fight.
- No login, no API key, no proxy.
How it compares
| Capability | This actor | Other UFC scrapers on Apify |
|---|---|---|
| Fighter profiles, events, fight breakdowns | yes | some |
| Search by full fighter name | yes | single word only |
| Round-by-round strike / takedown / control splits | yes | rare |
| Filter by stance, minimum wins / losses | yes | no |
| Nested or flattened fight history | yes | no |
| Metric heights / weights / reach alongside the raw record | yes | no |
| Declared dataset schema + free-plan preview | yes | no |
๐ฆ What data you get
| Entity | Useful fields |
|---|---|
| Fighter | Name, record (W-L-D), height, weight, reach, stance, date of birth, significant-strike & takedown career averages, and full fight history. |
| Event | Name, date, location, and the fight card (both fighters, weight class, method, round, time, per fight). |
| Fight | Both fighters, winner, weight class, method, round, time, referee, finish details, and full strike/takedown totals, optionally per round. |
Every record includes scraped_at (UTC) and source. Download your dataset from Apify as CSV,
JSON, Excel, or XML.
๐ก Use cases
๐ฎ Build a fantasy lineup from career stats
{"mode": "fighters","fighterNames": ["Islam Makhachev", "Ilia Topuria", "Alex Pereira"],"includeFightHistory": false}
๐ฒ Backtest a betting model on full round-by-round data
{"mode": "fights","fighterNames": ["Jon Jones"],"maxFightsPerFighter": 0,"includeRoundByRound": true}
๐ Get every event this year
{"mode": "events","eventStatus": "completed","eventStartDate": "2026-01-01"}
๐๏ธ Spreadsheet-ready fight history
{"mode": "fighters","fighterNames": ["Alexander Volkanovski"],"includeFightHistory": true,"flattenHistory": true}
๐ Browse the fighter directory, filtered
Directory letters group fighters by last name, not weight class or division. The official record doesn't expose a weight-class filter, so narrow the pool with stance and career win/loss minimums instead:
{"mode": "fighters","letters": ["a", "b", "c"],"stance": "Southpaw","minWins": 10,"includeFightHistory": false,"maxItems": 500}
๐ Refresh a past run from saved fighter links
Every row this Actor returns includes a fighter_url. Save those links from an earlier run
and paste them back in later to re-scrape exactly those fighters, skipping the name search:
{"mode": "fighters","fighterUrls": ["<a fighter_url from a previous run>"],"includeFightHistory": true}
โ๏ธ How the input is organised
The input form is split into four numbered sections:
| Section | What it's for |
|---|---|
| 1 ยท What do you want to scrape? | Pick one type of data: Fighter profiles, Events, or Fight breakdowns. |
| 2 ยท Who or what to get | Fill in only the field that matches your choice: fighter names, fighter links (Fighter profiles / Fight breakdowns), a directory letter + optional stance / min wins / min losses filters (Fighter profiles), or event status + date range (Events). |
| 3 ยท How much to collect | Maximum rows for the whole run, and fights per fighter for Fight breakdowns (0 = their entire UFC record). |
| 4 ยท What to include | Full fight history (and whether to flatten it to one row per fight), and a round-by-round breakdown for Fight breakdowns. |
Apify Free plan: every run is limited to a fixed 10-row sample. Upgrade your Apify plan to run your own settings.
๐ก๏ธ Limits & responsible use
This Actor collects only publicly available, official UFC fight statistics. It never signs in and never accesses anything gated behind an account.
If a fighter, event, or fight page can't be loaded, that row is skipped with a warning in the run log. The rest of the run continues.
๐งช Local development
bun installbun run typecheckbun testbun run start
Test with a sample storage/key_value_stores/default/INPUT.json, e.g.:
{ "mode": "fighters", "fighterNames": ["Jon Jones"], "maxItems": 5 }