UFC Fighter Stats Scraper (Records, Stats, Fight History) avatar

UFC Fighter Stats Scraper (Records, Stats, Fight History)

Pricing

from $9.46 / 1,000 fighter profiles

Go to Apify Store
UFC Fighter Stats Scraper (Records, Stats, Fight History)

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

Scrapers Lat

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Categories

Share

UFC Fighter Stats Scraper

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

Platform Coverage Output Billing

Table of contents

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

NameTypeRequiredDescriptionExample
fighterNamestringnoFighter name to search for. Matches on first name, last name and nickname.Jon Jones
fighterUrlsarray of stringsnoExact fighter detail URLs to scrape directly. Combined with any name search.["http://ufcstats.com/fighter-details/07f72a2a7591b409"]
includeFightHistorybooleannoAttach the full bout-by-bout fight history for each fighter. On by default.true
aiFighterScoutingbooleannoPaid add-on, off by default. Add an AI scouting report (style, strengths, weaknesses, matchup notes). Disabled on free plans.false
maxResultsintegernoMaximum fighters to collect across the run. Free plans are capped at 10.10

Output reference

NameTypeDescription
fighterNamestringFull fighter name
firstNamestringFirst name
lastNamestringLast name
nicknamestringFighter nickname
recordstringCareer record as wins-losses-draws
winsnumberNumber of wins
lossesnumberNumber of losses
drawsnumberNumber of draws
noContestsnumberNumber of no-contests
heightstringHeight, e.g. 6' 4"
weightstringWeight, e.g. 248 lbs.
reachstringReach, e.g. 84"
stancestringFighting stance
dobstringDate of birth
slpmnumberSignificant strikes landed per minute
strikingAccuracynumberSignificant striking accuracy percent
sapmnumberSignificant strikes absorbed per minute
strikingDefensenumberSignificant striking defense percent
takedownAvgnumberAverage takedowns landed per 15 minutes
takedownAccuracynumberTakedown accuracy percent
takedownDefensenumberTakedown defense percent
submissionAvgnumberAverage submission attempts per 15 minutes
totalFightsnumberNumber of bouts in the returned fight history
lastFightOpponentstringMost recent bout opponent
lastFightResultstringMost recent bout result (win/loss/draw/nc)
lastFightMethodstringMost recent bout finish method
lastFightEventstringMost recent bout event name
lastFightDatestringMost recent bout date
fightHistoryarrayBout-by-bout history (opponent, result, method, round, time, event, date, per-bout stats)
aiStylestringAI scouting: fighting style (AI add-on)
aiStrengthsarrayAI scouting: strengths (AI add-on)
aiWeaknessesarrayAI scouting: weaknesses (AI add-on)
aiMatchupNotesstringAI scouting: matchup notes (AI add-on)
fighterIdstringSource fighter id
urlstringSource fighter detail page URL
sourcestringData source
observedAtstringISO timestamp collected
errorstringError 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 result event per fighter profile returned.
  • A one-time apify-actor-start event covers run initialization.
  • Optional ai_fighter_scouting add-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 error field 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.