UFC Fighter Stats Scraper (Records, Stats, Fight History)
Pricing
from $9.46 / 1,000 fighter profiles
UFC Fighter Stats Scraper (Records, Stats, Fight History)
Scrape UFC fighter profiles by name or URL: record (W-L-D), height, weight, reach, stance, DOB, striking and grappling stats (SLpM, accuracy, defense, takedowns, subs) and full fight history. Export to JSON, CSV or Excel.
Pricing
from $9.46 / 1,000 fighter profiles
Rating
0.0
(0)
Developer
Scrapers Lat
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
3 days ago
Last modified
Categories
Share
UFC Fighter Stats Scraper
Here is one real result, with every field the actor returns:
{"fighterName": "Jon Jones","firstName": "Jon","lastName": "Jones","nickname": "Bones","record": "28-1-0","wins": 28,"losses": 1,"draws": 0,"noContests": 1,"height": "6' 4\"","weight": "248 lbs.","reach": "84\"","stance": "Orthodox","dob": "Jul 19, 1987","slpm": 4.38,"strikingAccuracy": 58,"sapm": 2.24,"strikingDefense": 64,"takedownAvg": 1.89,"takedownAccuracy": 45,"takedownDefense": 95,"submissionAvg": 0.5,"totalFights": 24,"lastFightOpponent": "Stipe Miocic","lastFightResult": "win","lastFightMethod": "KO/TKO","lastFightEvent": "UFC 309: Jones vs. Miocic","lastFightDate": "Nov. 16, 2024","fightHistory": [{"result": "win","opponent": "Stipe Miocic","knockdowns": 1,"significantStrikes": 96,"takedowns": 1,"submissionAttempts": 0,"event": "UFC 309: Jones vs. Miocic","date": "Nov. 16, 2024","method": "KO/TKO","methodDetail": "Spinning Back Kick","round": 3,"time": "4:29","eventUrl": "http://ufcstats.com/event-details/daff32bc96d1eabf"}],"aiStyle": null,"aiStrengths": null,"aiWeaknesses": null,"aiMatchupNotes": null,"fighterId": "07f72a2a7591b409","url": "http://ufcstats.com/fighter-details/07f72a2a7591b409","source": "ufcstats.com","observedAt": "2026-08-20T14:53:48.281Z","error": null}
The most complete UFC fighter stats scraper available. It returns every field the official statistics site exposes for a fighter (record, physical attributes, career striking and grappling rates), plus derived fields (parsed wins/losses/draws/no-contests, last-bout summary), and gives you a name search plus direct-URL input so you can target exactly the fighters you need. Turn it on for the optional AI scouting report and each profile also gets a style read, strengths, weaknesses and matchup notes.
📥 Input · 📤 Output · 💰 Pricing · ▶️ Examples
Table of contents
- What it does
- Quickstart
- Input reference
- Output reference
- Example output record
- Run via API and CLI
- Fetch results
- Billing and limits
- FAQ and troubleshooting
- More scrapers at scrapers.lat
What it does
Give it a fighter name or a list of fighter detail URLs and it returns one clean record per fighter with:
- Identity: full name, first and last name, nickname, source id and URL.
- Record: win-loss-draw string plus parsed wins, losses, draws and no-contests.
- Physical: height, weight, reach, stance and date of birth.
- Career striking: significant strikes landed per minute (SLpM), striking accuracy, strikes absorbed per minute (SApM) and striking defense.
- Career grappling: takedown average, takedown accuracy, takedown defense and submission average.
- Fight history: every bout with opponent, result, method and finish detail, round, time, event name and date, plus per-bout knockdowns, significant strikes, takedowns and submission attempts.
- A flat last-bout summary (opponent, result, method, event, date) for quick sorting in a spreadsheet.
Search matches on first name, last name and nickname, so "Jones", "Jon Jones" and "Bones" all resolve. Every matching fighter is returned up to your chosen limit.
Quickstart
{"fighterName": "Islam Makhachev","includeFightHistory": true,"maxResults": 10}
Run it, then read the dataset. To pull specific fighters instead of searching, pass their detail URLs:
{"fighterUrls": ["http://ufcstats.com/fighter-details/07f72a2a7591b409","http://ufcstats.com/fighter-details/275aca31f61ba28c"],"includeFightHistory": true}
Input reference
| Name | Type | Required | Description | Example |
|---|---|---|---|---|
fighterName | string | no | Fighter name to search for. Matches on first name, last name and nickname. | Jon Jones |
fighterUrls | array of strings | no | Exact fighter detail URLs to scrape directly. Combined with any name search. | ["http://ufcstats.com/fighter-details/07f72a2a7591b409"] |
includeFightHistory | boolean | no | Attach the full bout-by-bout fight history for each fighter. On by default. | true |
aiFighterScouting | boolean | no | Paid add-on, off by default. Add an AI scouting report (style, strengths, weaknesses, matchup notes). Disabled on free plans. | false |
maxResults | integer | no | Maximum fighters to collect across the run. Free plans are capped at 10. | 10 |
Output reference
| Name | Type | Description |
|---|---|---|
fighterName | string | Full fighter name |
firstName | string | First name |
lastName | string | Last name |
nickname | string | Fighter nickname |
record | string | Career record as wins-losses-draws |
wins | number | Number of wins |
losses | number | Number of losses |
draws | number | Number of draws |
noContests | number | Number of no-contests |
height | string | Height, e.g. 6' 4" |
weight | string | Weight, e.g. 248 lbs. |
reach | string | Reach, e.g. 84" |
stance | string | Fighting stance |
dob | string | Date of birth |
slpm | number | Significant strikes landed per minute |
strikingAccuracy | number | Significant striking accuracy percent |
sapm | number | Significant strikes absorbed per minute |
strikingDefense | number | Significant striking defense percent |
takedownAvg | number | Average takedowns landed per 15 minutes |
takedownAccuracy | number | Takedown accuracy percent |
takedownDefense | number | Takedown defense percent |
submissionAvg | number | Average submission attempts per 15 minutes |
totalFights | number | Number of bouts in the returned fight history |
lastFightOpponent | string | Most recent bout opponent |
lastFightResult | string | Most recent bout result (win/loss/draw/nc) |
lastFightMethod | string | Most recent bout finish method |
lastFightEvent | string | Most recent bout event name |
lastFightDate | string | Most recent bout date |
fightHistory | array | Bout-by-bout history (opponent, result, method, round, time, event, date, per-bout stats) |
aiStyle | string | AI scouting: fighting style (AI add-on) |
aiStrengths | array | AI scouting: strengths (AI add-on) |
aiWeaknesses | array | AI scouting: weaknesses (AI add-on) |
aiMatchupNotes | string | AI scouting: matchup notes (AI add-on) |
fighterId | string | Source fighter id |
url | string | Source fighter detail page URL |
source | string | Data source |
observedAt | string | ISO timestamp collected |
error | string | Error message for a failed fighter or run |
Example output record
See the record at the top of this page for a full example with fight history.
Run via API and CLI
Start a run with the Apify API:
curl -X POST "https://api.apify.com/v2/acts/scrapers_lat~ufc-fighter-stats-scraper/runs?token=YOUR_TOKEN" \-H "Content-Type: application/json" \-d '{"fighterName":"Jon Jones","includeFightHistory":true,"maxResults":10}'
Or with the Apify CLI:
apify call scrapers_lat/ufc-fighter-stats-scraper \--input '{"fighterName":"Islam Makhachev","includeFightHistory":true}'
Fetch results
Read the dataset items once the run finishes:
$curl "https://api.apify.com/v2/datasets/DATASET_ID/items?token=YOUR_TOKEN&format=json"
Swap format=json for format=csv or format=xlsx to export to CSV or Excel.
Billing and limits
- Pay per result. You are charged one primary
resultevent per fighter profile returned. - A one-time
apify-actor-startevent covers run initialization. - Optional
ai_fighter_scoutingadd-on is charged only when the AI returns a usable scouting report. It is off by default and disabled on free plans. - Empty or failed lookups are not charged. Records that carry an
errorfield are not billed as results. - Free Apify plans are capped at 10 fighters per run. Paid plans can raise
maxResults. - The actor respects your account spend limit and stops returning billable results once your configured maximum charge is reached.
FAQ and troubleshooting
A name returns nothing. Try the last name only, or check spelling. Search matches first name, last name and nickname. For an exact target, pass the fighter detail URL in fighterUrls.
Can I get more than one fighter at a time? Yes. A name that matches several fighters returns all of them, and fighterUrls accepts a list. The run stops at maxResults.
Do I need a proxy or login? No. The actor handles fetching internally. You do not configure any proxy or cookies.
Why are some numeric fields null? Not every fighter has a value published for every metric. Missing values are returned as null rather than guessed.
What does the AI scouting add-on return? A fighting-style phrase, a short strengths list, a short weaknesses list and one matchup-notes sentence, derived only from the returned statistics and recent results.
More scrapers at scrapers.lat
Browse the full catalog of company, finance, sports and web-data scrapers at scrapers.lat. Built by the scrapers_lat team on Apify. This actor is an independent tool and is not affiliated with or endorsed by the UFC or any statistics provider.
