UFC Rankings & MMA Fight Data Scraper: Results, Odds, Fighters
Pricing
from $0.66 / 1,000 stat rows
UFC Rankings & MMA Fight Data Scraper: Results, Odds, Fighters
Get official UFC rankings, fight results, striking and grappling stats by position, fighter profiles with reach and stance, event cards and betting odds across UFC, PFL, Bellator and more. Export JSON or CSV, or schedule a monitor that reports new results and ranking changes.
Pricing
from $0.66 / 1,000 stat rows
Rating
0.0
(0)
Developer
GetAScraper
Maintained by CommunityActor stats
0
Bookmarked
4
Total users
2
Monthly active users
16 hours ago
Last modified
Categories
Share
| One suite for every scoreboard. Part of the Multi-Sport Live Scores, Stats & News suite: live scores across 13 sports, deep tennis and MMA stats, and ESPN keyword news alerts, all built to run on a schedule. | |||
| MULTI-SPORT LIVE SCORES, STATS & NEWS ย ย โขย ย Four Actors, one scoreboard-to-newsroom data pipeline | |||
|
13 sports, live scores & fixtures |
ATP/WTA scores, stats & rankings |
โค You are here |
Keyword alerts on ESPN news |
|
Official UFC rankings, fight data and odds in one run Pull the current UFC rankings, fight results with strikes by position, fighter profiles, upcoming cards with betting odds, and a monitor that reports only what changed since your last run. |
|
๐ Official UFC rankings Every division and pound-for-pound list, champion marked, with ranking moves. |
๐ Position-by-position strikes Distance, clinch, and ground strikes landed and attempted, by head, body, and leg. |
๐ต Betting odds Opening and closing moneylines and the round line, upcoming and past cards. |
๐ Change monitor Schedule it and get new fights, results and ranking moves only. |
UFC rankings and MMA fight data scraper covering the UFC, PFL, Bellator and other promotions. Get rankings, fight results, fighter profiles, event cards and odds as structured data, ready for a betting model, a fantasy league scorer, or a fighter database, without digging through stats pages by hand.
๐ What does UFC Rankings & MMA Fight Data Scraper do?
It extracts structured MMA data across 19 promotions (depth is greatest for the UFC). Pick one of four modes per run:
- Fights: every bout's result, winner, method of victory, round and time, which card segment it was on, whether it was a title fight and which belt, the venue, plus significant strikes split by position (distance, clinch, ground) and target (head, body, leg) for each fighter. Upcoming bouts come back as scheduled. Turn on Include betting odds for opening and closing moneylines and the round line when the odds feed has them.
- Fighters: profiles with record, reach, height, weight class, stance, fighting styles, age and photo, plus career rate stats: significant strikes landed per minute, striking accuracy, takedowns landed per 15 minutes, takedown accuracy, submission average, and the share of wins by KO, TKO and decision. Give fighter IDs, or leave them empty to list the fighters of a promotion. Turn on Include fight history to add every fight of each fighter.
- Rankings: current UFC divisional and pound-for-pound rankings from the UFC's own rankings page, champion marked, filterable by division.
- Events: fight cards with date, status (scheduled or completed), venue, city and bout count, filterable to an exact date range.
Set a Monitor name and schedule the run to receive only new fights and results, or only ranking changes, since the previous run.
Use it to build betting and prediction models, score fantasy MMA leagues, populate a fight-preview page, or research a fighter's full career history.
๐ How to use it
|
STEP 1 Pick a mode Choose rankings, fights, fighters, or events, then pick your promotions, dates and event status. |
STEP 2 Run the Actor It pulls the matching bouts, fighters, rankings or cards and structures every field. The default input returns 25 rows in seconds. |
STEP 3 Export your data Download as JSON, CSV, or Excel, or schedule it with a monitor name for change-only updates. |
๐ฅ Who uses this
Sports data analysts feed the fight-stats output straight into prediction models. Strikes landed by position (distance, clinch, ground) and target, plus takedown accuracy and control time, give a real statistical base instead of one combined strike total.
Bettors and odds researchers compare opening and closing lines with what happened, using results, method and round data alongside the lines.
Fantasy MMA operators score leagues off method-of-victory and round data the moment a card wraps, without waiting on a manual recap.
Sports content sites populate fighter bios and event previews automatically: reach, stance, record, and upcoming card details in one pull.
MMA researchers and journalists pull a fighter's complete career history and stat trends for feature writing, without digging through years of individual fight pages.
๐ Input
| Field | Type | Required | Description |
|---|---|---|---|
mode | enum | No | fights, fighters, rankings, or events. Defaults to fights. |
eventIds | array of strings | No | Specific event IDs (the eventId column). Fastest way to target a fight card. |
fighterIds | array of strings | No | Fighter IDs (the fighter1Id and fighter2Id columns). Leave empty in fighters mode to list fighters of the first selected promotion. |
promotions | array of strings | No | MMA promotions to cover (UFC, PFL, Bellator, and 16 more). Defaults to UFC. |
years | array of integers | No | Calendar years to cover. When set it takes priority over the date range. |
fromDate | string | No | First day to include, as YYYY-MM-DD or YYYYMMDD. |
toDate | string | No | Last day to include, as YYYY-MM-DD or YYYYMMDD. |
eventStatus | enum | No | all, upcoming or completed. Applies to fights and events modes. Defaults to all. |
weightClass | string | No | Division filter, for example Lightweight. Also narrows rankings mode to that division. |
titleFightsOnly | boolean | No | Only championship bouts. |
resultFilter | array of enums | No | Filter bouts by result: win, loss, draw, no contest. |
methodFilter | array of enums | No | Filter bouts by method: KO/TKO, submission, decision, other. |
stance | enum | No | Fighters mode: Orthodox, Southpaw, Switch, Open Stance, or Sideways. |
minWins / minLosses | integer | No | Fighters mode: minimum career wins or losses. |
activeOnly | boolean | No | Fighters mode: skip retired and inactive fighters. Defaults to off. |
includeFightStats | boolean | No | Add the two per-fighter stat rows after every fight. On by default; turn off for results only. |
includeOdds | boolean | No | Fights mode: add opening and closing moneylines and the round line when available. Defaults to off. |
includeFightHistory | boolean | No | Fighters mode: also output every fight of each fighter. Defaults to off. |
monitorName | string | No | Name of a recurring monitor. Fights mode returns only new fights and results; rankings mode returns only ranking changes. Leave empty for a normal run. |
maxItems | integer | No | Maximum rows to save. A fight with its two stat rows counts as three. Defaults to 25. |
proxyConfiguration | object | No | Kept for compatibility. The public sources used here do not need a proxy. |
Free Apify accounts are limited to 25 rows per run, 3 runs per day and 30 minutes between runs. Paid plans have no limit.
๐ Data table
| Field | Type | Description |
|---|---|---|
fightId | string | Unique bout identifier. |
eventId | string | The event this bout was part of. |
eventName | string | Event name, e.g. "UFC 324: Gaethje vs. Pimblett". |
date | string | Bout date, ISO format. |
promotion | string | Promotion slug (e.g. ufc). |
weightClass | string | Weight division. |
fighter1Name / fighter2Name | string | Competitor names. |
winnerName | string | Winning fighter, if any. |
method | string | Method of victory (KO/TKO, Submission, Decision). |
round | number | Round the fight ended in. |
time | string | Time within the round the fight ended. |
sigStrikesLanded / sigStrikesAttempted | number | Significant strikes landed and attempted (fight-stats rows). |
sigDistanceHeadStrikesLanded (+ clinch/ground, body/leg variants) | number | Significant strikes split by position (distance, clinch, ground) and target (head, body, leg), 18 fields in total. |
takedownsLanded / takedownAccuracy | number | Takedown volume and accuracy (fight-stats rows). |
fullName | string | Fighter's full name (fighters mode). |
wins / losses / recordSummary | number / string | Career record (fighters mode). |
sigStrikesLandedPerMin / sigStrikeAccuracy | number | Career significant strikes landed per minute and strike accuracy percent (fighters mode). |
takedownsLandedPer15 / careerTakedownAccuracy / submissionAttemptsPer15 | number | Career takedowns landed per 15 minutes, takedown accuracy percent, and submission attempts per 15 minutes (fighters mode). |
koPercentage / tkoPercentage / decisionPercentage | number | Share of wins by KO, TKO and decision, percent (fighters mode). |
rankingName / rank | string / number | Ranking division and position (rankings mode). |
rowType | string | fight, fightStats, fighter, ranking or event, so mixed datasets are easy to split. |
status | string | scheduled, in_progress or completed (fights and events). |
isTitleFight / titleName | boolean / string | Title bout flag and the belt, for example "UFC Lightweight Title". |
cardSegment / scheduledRounds | string / number | Main card, prelims or early prelims, and the scheduled number of rounds. |
fighter1MoneylineOpen / fighter1MoneylineClose (+ fighter 2) | number | American moneylines when odds are included and published. |
overUnderRounds / oddsProvider | number / string | The round line and the book it came from. |
reachIn / weightClass / styles / active | number / string / array / boolean | Fighter profile fields (fighters mode). |
isChampion / previousRank / changeType | boolean / number / string | Champion marker and, in monitor runs, what changed. |
venueName / venueCity | string | Venue details (fights and events). |
Example output (fights mode):
{"fightId": "401848704","eventId": "600057024","eventName": "UFC 324: Gaethje vs. Pimblett","date": "2026-01-24T22:30Z","promotion": "ufc","weightClass": "Welterweight","fighter1Name": "Adam Fugitt","fighter2Name": "Ty Miller","winnerName": "Ty Miller","method": "KO/TKO","round": 1,"time": "4:59","status": "completed","isTitleFight": false,"cardSegment": "Main Card","scheduledRounds": 3,"venueName": "T-Mobile Arena"}
๐ฐ Pricing
This Actor is pay per result. You only pay for the rows it actually returns, an empty run costs nothing, and there's no subscription.
โญ Enjoying UFC Rankings & MMA Fight Data Scraper?
|
โญ โญ โญ โญ โญ Skip hours of manual stats-page digging and get position-by-position fight data in one run. A 5-star rating takes 10 seconds and helps other sports data analysts and MMA researchers find it. Your feedback also tells us what to build next. |
| โ ย ย Rate this Actor on Apify |
โ FAQ
Does this cover promotions besides the UFC? Yes. It covers 19 promotions including PFL, Bellator, ONE, PRIDE, Strikeforce, and more, all in the same output format. Rankings mode covers UFC divisions and pound-for-pound; for other promotions rankings coverage is limited.
Can I get a fighter's full career history in one run? Yes. Use fighters mode with a fighter ID and turn on Include fight history to get the profile plus every fight on record, across promotions.
Will this miss recent or upcoming fights? No. Set Event status to upcoming to get scheduled cards, with odds when the book has published them. Rankings are read straight from the UFC's own rankings page, so they are current as of the last update.
Do I need to know each fighter's ID ahead of time?
Not to browse: fighters mode without IDs lists the fighters of a promotion. To target one fighter, take the ID from the fighter1Id, fighter2Id or winnerId columns of a fights run.
How does the monitor work? Set a Monitor name and schedule the run. In fights mode the first run records the cards in your window (recent past and near future by default); later runs return only new fights and fights that now have a result. In rankings mode the first run returns the full lists (up to Max items) and later runs return only fighters who moved, entered or left a list.
๐ Other actors
- LoL Esports Scraper: LEC LCK LPL MSI Worlds Results, Standings โ - esports league results and standings across LEC, LCK, LPL, and Worlds.
- Betano Odds Scraper: Full Match Odds & Price-Move Monitor โ - tracks betting odds and price moves on Betano.
- FantasyPros NFL Scraper: Rankings & Projections โ - NFL fantasy rankings and projections from FantasyPros.
- Cricket Data API: ESPNcricinfo StatsGuru Export โ - batting, bowling, and career stats from cricket's StatsGuru database.
- Baseball Savant Scraper: Scheduled Statcast Data โ - MLB Statcast pitch and batted-ball data on a schedule.