UFC Stats Scraper | MMA Fights and Fighter Data
Pricing
from $19.00 / 1,000 results
UFC Stats Scraper | MMA Fights and Fighter Data
Pull UFC fighter stats, fight results, event cards, and round-by-round breakdowns from UFC Stats. Get strikes landed, takedowns, submission attempts, control time, and career records for MMA analytics, fantasy tools, betting models, and combat sports research projects.
Pricing
from $19.00 / 1,000 results
Rating
0.0
(0)
Developer
ParseForge
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Share

🥊 UFC Stats Scraper
🚀 Export UFC fighter statistics, records, striking accuracy, takedowns, and physical attributes in seconds. No account, no login, no limits.
🕒 Last updated: 2026-05-22 · 📊 20 fields per record · 🥋 4,000+ fighters · 🌍 Global UFC roster
Pull the entire UFC fighter database from ufcstats.com, the official stats source used by analysts, coaches, and MMA media worldwide. Every fighter's record, physical measurements, and advanced striking and grappling metrics are scraped fresh on every run.
The dataset covers all active and retired UFC fighters across all weight classes, from Strawweight to Heavyweight. Each record includes fight record (W-L-D), stance, height, weight, reach, and performance metrics like strikes landed per minute, takedown accuracy, and submission attempts.
| 🎯 Target Audience | 💡 Primary Use Cases |
|---|---|
| MMA analysts, fantasy MMA players, coaches and trainers, sports journalists, data scientists, sports bettors | Fighter comparison dashboards, fantasy draft research, opponent scouting, data-backed articles, fight outcome modeling, betting research |
📋 What the UFC Stats Scraper does
- 🔤 Alphabetical roster scrape. Pulls the full ufcstats.com roster by last-name letter.
- 📄 Detail page extraction. Visits each fighter's profile for extended performance stats.
- 📊 20 fields per fighter. Record, physicals, striking, and grappling metrics in one record.
- 🌐 Public data only. No login, API key, or credentials needed.
- 🛑 Clean free tier.
maxItemscaps free users at 10 fighters with a referral upgrade path.
💡 Why it matters: ufcstats.com is the official stats engine behind UFC broadcasts. Getting this data programmatically unlocks fighter analytics at scale, comparing 4,000+ athletes across 20 dimensions that would take weeks to collect manually.
🎬 Full Demo
🚧 Coming soon: a 3-minute walkthrough showing how to go from sign-up to a downloaded dataset.
⚙️ Input
| Input | Type | Default | Behavior |
|---|---|---|---|
startChar | select | "a" | Starting letter of fighter last name (a-z). |
scrapeAllLetters | boolean | false | If true, scrapes all 26 letters regardless of startChar. |
maxItems | integer | 10 | Records to return. Free plan caps at 10, paid plan at 1,000,000. |
Example: fighters starting with J.
{"startChar": "j","maxItems": 50}
Example: full UFC roster.
{"scrapeAllLetters": true,"maxItems": 1000000}
⚠️ Good to Know: free users are automatically capped at 10 fighters. Upgrade to a paid plan for full roster access.
scrapeAllLetters: truecombined with a highmaxItemswill collect the complete UFC database.
📊 Output
Each fighter record contains 20 fields. Download the dataset as CSV, Excel, JSON, or XML.
🧾 Schema
| Field | Type | Description |
|---|---|---|
🏷️ name | string | Fighter's full name |
🔗 url | string | Link to ufcstats.com profile |
💬 nickname | string | Fighter's nickname |
📏 height | string | Height (e.g. 6' 2") |
⚖️ weight | string | Weight class (e.g. 185 lbs.) |
📐 reach | string | Reach in inches (e.g. 76.0") |
🥋 stance | string | Orthodox, Southpaw, or Switch |
✅ wins | integer | Total career wins |
❌ losses | integer | Total career losses |
🤝 draws | integer | Total career draws |
🏆 beltHolder | boolean | True if current UFC champion |
👊 slpm | string | Significant strikes landed per minute |
🎯 strikingAccuracy | string | Striking accuracy percentage |
🛡️ sapm | string | Significant strikes absorbed per minute |
🧱 strikeDefense | string | Strike defense percentage |
🤼 takedownAvg | string | Avg takedowns per 15 minutes |
🎯 takedownAccuracy | string | Takedown accuracy percentage |
🛡️ takedownDefense | string | Takedown defense percentage |
🐍 submissionAvg | string | Avg submissions per 15 minutes |
🕒 scrapedAt | string | ISO timestamp of collection |
❌ error | string | null | Error message if collection failed |
📦 Sample record
✨ Why choose this Actor
| Capability | |
|---|---|
| 🚫 | No auth required. Runs immediately, no setup, no API keys. |
| 📊 | 20 fields per fighter. Record, physicals, and advanced stats in one pass. |
| 🔤 | Alphabetical filtering. Target subsets without scraping the whole database. |
| ⚡ | Fast HTML scraping. Plain HTML site, no browser overhead. |
| 🔄 | Real-time data. Scraped fresh on every run, no stale cache. |
| 🆓 | Free preview. 10 fighters free before you upgrade. |
📈 How it compares to alternatives
| Approach | Cost | Coverage | Refresh | Stats depth | Setup |
|---|---|---|---|---|---|
| ⭐ UFC Stats Scraper (this Actor) | $5 free credit, then pay-per-use | 4,000+ fighters | Live per run | 20 fields | ⚡ 2 min |
| Manual ufcstats.com export | Free | Full | Manual | Copy-paste | 🐢 Days |
| Official UFC API | Restricted | Partial | Real time | Limited | 🗝️ Auth gated |
| Third-party MMA APIs | Subscription | Varies | Varies | Partial | 🐌 Hours |
Pick this Actor when you want comprehensive fighter stats without partner-API gating.
🚀 How to use
- 📝 Sign up. Create a free account with $5 credit (takes 2 minutes).
- 🌐 Open the Actor. Go to the UFC Stats Scraper page on the Apify Store.
- 🎯 Set input. Pick a
startCharor enablescrapeAllLetters, then setmaxItems. - 🚀 Run it. Click Start and let the Actor collect your data.
- 📥 Download. Grab your results in the Dataset tab as CSV, Excel, JSON, or XML.
⏱️ Total time from signup to downloaded dataset: 3-5 minutes. No coding required.
💼 Business use cases
🔌 Automating UFC Stats Scraper
Control the scraper programmatically for scheduled runs and pipeline integrations:
- 🟢 Node.js. Install the
apify-clientNPM package. - 🐍 Python. Use the
apify-clientPyPI package. - 📚 See the Apify API documentation for full details.
The Apify Schedules feature lets you trigger this Actor weekly to refresh the full roster after each UFC event.
🌟 Beyond business use cases
Data like this powers more than commercial workflows. The same structured records support research, education, civic projects, and personal initiatives.
🤖 Ask an AI assistant about this scraper
Open a ready-to-send prompt about this ParseForge actor in the AI of your choice:
- 💬 ChatGPT
- 🧠 Claude
- 🔍 Perplexity
- 🅒 Copilot
❓ Frequently Asked Questions
🔑 Does this require a ufcstats.com account?
No. ufcstats.com is fully public. No login or registration is needed.
📦 How many fighters are in the database?
As of 2026, ufcstats.com lists 4,000+ fighters across all weight classes and eras.
🔄 How current is the data?
Data is scraped live on every run. Run it the day after a UFC event to get updated records.
🌐 Can I get all fighters in one run?
Yes. Set scrapeAllLetters: true and a high maxItems value. This will collect the full roster.
👊 What does SLpM mean?
Significant Strikes Landed per Minute, a measure of offensive output calculated across all UFC bouts.
🛡️ What does SApM mean?
Significant Strikes Absorbed per Minute, how much punishment a fighter takes on average.
🥋 Are retired fighters included?
Yes. ufcstats.com includes all fighters who have ever competed in the UFC, active or retired.
🏆 What is the Belt Holder field?
A boolean indicating whether the fighter is a current UFC champion based on a belt icon on their profile.
⏰ Can I run this on a schedule?
Yes. Use Apify Schedules to run this Actor weekly and keep your dataset current.
📥 What format can I download the data in?
CSV, JSON, Excel (XLSX), XML, or RSS, available directly from the Apify dataset UI.
⚖️ Is this legal to scrape?
ufcstats.com is a public website with no authentication. Always review the site's terms of service before using scraped data commercially.
🆘 What if I need help?
Our support team is here to help. Use the Tally form linked below to reach out.
🔌 Integrate with any app
UFC Stats Scraper connects to any cloud service via Apify integrations:
- Make - Automate multi-step workflows
- Zapier - Connect with 5,000+ apps
- Slack - Get run notifications in your channels
- Airbyte - Pipe fighter data into your warehouse
- GitHub - Trigger runs from commits and releases
- Google Drive - Export datasets straight to Sheets
You can also use webhooks to trigger downstream actions when a run finishes.
🔗 Recommended Actors
- 🏎️ Formula 1 Stats Scraper - F1 standings, race results, and schedules
- 🏈 ESPN Standings Scraper - NFL, NBA, MLB, NHL, MLS standings
- ♟️ Chess.com Scraper - Chess profiles and ratings
- ⚾ Baseball Reference Scraper - MLB historical stats
- 🏀 Basketball Reference Scraper - NBA player and team stats
💡 Pro Tip: browse the complete ParseForge collection for more sports and reference-data scrapers.
🆘 Need Help? Open our contact form to request a new scraper, propose a custom data project, or report an issue.
⚠️ Disclaimer: this Actor is an independent tool and is not affiliated with, endorsed by, or sponsored by the Ultimate Fighting Championship (UFC), Zuffa LLC, or TKO Group. All trademarks mentioned are the property of their respective owners. Only publicly available data from ufcstats.com is collected.