UFC Scraper avatar

UFC Scraper

Pricing

from $30.00 / 1,000 results

Go to Apify Store
UFC Scraper

UFC Scraper

[๐Ÿ’ฐ $30 / 1K] Extract UFC fighters, events, and rankings: athlete profiles, win-loss records, striking and grappling stats, full fight cards with results, and official division and pound-for-pound rankings. Search by name or collect everything.

Pricing

from $30.00 / 1,000 results

Rating

0.0

(0)

Developer

SolidCode

SolidCode

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

4 days ago

Last modified

Share

Pull official UFC data at scale โ€” fighter profiles and career records, complete event fight cards with results, and the live rankings for every weight division. One structured input covers fighters, events, and rankings, with optional deep career stats on demand. Built for MMA journalists, sports-betting analysts, and fantasy-MMA and fan-stats app builders who need a clean, structured UFC dataset without clicking through hundreds of athlete and event pages by hand.

Why This Scraper?

  • Three data types in one actor โ€” switch a single dropdown between Fighters (athlete profiles), Events (fight cards and results), and Rankings (official division standings). No endpoint strings to memorize.
  • All 14 official rankings divisions โ€” 8 men's and 4 women's weight classes plus men's and women's Pound-for-Pound, each returned with its reigning champion and up to 15 ranked contenders, including each contender's rank-movement arrow.
  • Up to ~18 career stat fields per fighter when available โ€” striking accuracy, significant strikes landed/absorbed per minute, takedown accuracy and defense, submission averages, and win-method breakdowns (by KO/TKO, submission, and decision), pulled straight from the athlete profile. Coverage is best-effort: most fighters return a full stat block, some return a partial set or none if their profile omits it.
  • Full fight cards with verified results โ€” every bout's red- and blue-corner fighter, and for completed events the winner, finish method (KO/TKO, Submission, Decision), round, and exact end time.
  • Title-fight and bonus flags โ€” each fight is tagged when it's a championship bout, and post-fight performance awards are captured when present.
  • Filter by status, country, and division โ€” narrow fighters to Active, Not currently fighting, or Retired, by place of birth (e.g. Brazil, Russia, United States), and by any of the 13 division filters (8 men's, 4 women's, plus Pound-for-Pound).
  • Search by exact fighter or event name โ€” pass names like "Jon Jones" or "UFC 300" and each term is resolved and merged automatically; leave it blank to sweep the entire roster or event calendar.
  • Upcoming and past events โ€” collect the full future calendar, completed events with final results, or both in a single run.
  • Win-loss-draw records split into numbers โ€” every fighter's record arrives as a clean string plus separate wins, losses, and draws integers, ready to sort and chart.

Use Cases

Sports Media & Journalism

  • Build fight-week preview tables with both athletes' full records and stats
  • Pull the current champion of every division for ranking-update articles
  • Track main-card and prelim matchups as event lineups are announced
  • Compile finish-method breakdowns for fighter feature pieces

Betting & Odds Analysis

  • Feed historical win method, round, and end-time data into handicapping models
  • Compare striking and takedown differentials between matched opponents
  • Backtest finish-rate trends by division and fighter status
  • Monitor upcoming cards to line up markets ahead of opening odds

Fantasy & Fan Apps

  • Power fantasy-MMA scoring with per-fighter records and career stats
  • Keep an app's roster fresh with active-fighter profiles and images
  • Surface live division rankings and champion changes to users
  • Build head-to-head comparison tools from structured fighter fields

Research & Data Science

  • Assemble a complete fighter database with hometown, division, and status
  • Analyze finish rates and title-fight outcomes across the event archive
  • Study the geographic spread of the roster by country of birth
  • Map rank movement over time across all 14 divisions

Talent & Matchmaking Analytics

  • Identify ranked contenders by division and competitive status
  • Track which prospects are climbing the rankings each update
  • Profile a division's depth from champion down to the 15th contender

Getting Started

Look up one fighter

{
"dataType": "fighters",
"searchTerms": ["Jon Jones"]
}

Current rankings for one division

{
"dataType": "rankings",
"division": "lightweight"
}

Upcoming events with full fight cards

{
"dataType": "events",
"eventType": "upcoming",
"includeDetails": true,
"maxResults": 10
}

Active heavyweights from the United States

{
"dataType": "fighters",
"division": "heavyweight",
"fighterStatus": "active",
"country": "United States",
"maxResults": 50
}

Input Reference

What to Extract

ParameterTypeDefaultDescription
dataTypestring"fighters"What to collect: fighters (athlete profiles & records), events (fight cards & results), or rankings (official division & pound-for-pound standings).
searchTermsarray[]Fighter names (for Fighters) or event names (for Events). Each term is searched separately and results are merged. Leave empty to collect everything of the chosen type. Ignored for Rankings.

Filters

ParameterTypeDefaultDescription
divisionstring"" (all)Limit to one weight division: flyweight, bantamweight, featherweight, lightweight, welterweight, middleweight, light-heavyweight, heavyweight, the four womens-* classes, or pound-for-pound. Applies to Fighters and Rankings.
genderstring"" (all)Limit to male or female divisions. Applies to Fighters and Rankings.
fighterStatusstring"" (any)Limit to active, not-fighting, or retired. Applies to Fighters only.
countrystring""Limit to fighters born in this country, e.g. United States, Brazil, Russia. Applies to Fighters only.
eventTypestring"all"Collect upcoming events, past events, or all. Applies to Events only.

Output Detail & Limits

ParameterTypeDefaultDescription
includeDetailsbooleantrueFetch the complete record per result: striking/grappling stats and bio for fighters, or the full fight card with per-fight results for events. Turn off for a faster, lighter listing-level summary. No effect on Rankings.
maxResultsinteger100How many records to collect in total across all search terms. Set to 0 to collect as many as possible. You'll get at most this many โ€” fewer when the source has fewer (Rankings always returns one row per division regardless of this value). Very large full-detail Fighters runs are time-budgeted: if a run reaches the budget it stops and returns the records gathered so far, with a note in the log โ€” narrow with a weight division for a fuller scan.

Output

The actor returns three record types, distinguished by the recordType field. Each is described below.

Fighter (recordType: "fighter")

{
"recordType": "fighter",
"id": "jon-jones",
"name": "Jon Jones",
"nickname": "Bones",
"division": "Heavyweight",
"gender": "male",
"status": "Active",
"record": "28-1-0",
"wins": 28,
"losses": 1,
"draws": 0,
"hometown": "Rochester, New York, United States",
"city": "Rochester, New York",
"country": "United States",
"height": "76.00",
"weight": "248.00",
"reach": "84.00",
"legReach": "45.00",
"age": "37",
"octagonDebut": "Aug. 9, 2008",
"trainsAt": "Jackson Wink MMA",
"stats": {
"Sig. Str. Landed Per Min": "4.30",
"Takedown Accuracy": "44%",
"Wins by Knockout": "10",
"Wins by Submission": "7"
},
"image": "https://www.ufc.com/images/...",
"url": "https://www.ufc.com/athlete/jon-jones"
}

Core Fields

FieldTypeDescription
recordTypestringAlways "fighter".
idstringStable fighter identifier (athlete slug).
namestringFull fighter name.
nicknamestringRing nickname, when one exists.
divisionstringWeight division, e.g. "Heavyweight".
genderstringmale or female.
statusstringActive, Not currently fighting, or Retired.
urlstringUFC.com athlete profile URL.
imagestringProfile photo URL.

Record & Bio

FieldTypeDescription
recordstringWin-loss-draw string, e.g. "28-1-0".
wins / losses / drawsintegerRecord split into numbers.
hometownstringFull place of birth.
citystringCity portion of the hometown.
countrystringCountry of birth.
height / weight / reach / legReachstringPhysical measurements.
agestringFighter age.
octagonDebutstringDate of first UFC appearance.
trainsAtstringTraining gym / camp.
statsobjectStriking, grappling, takedown, and win-method stats (best-effort, when includeDetails is on). Keys mirror the labels shown on UFC.com and may vary by fighter.

Event (recordType: "event")

{
"recordType": "event",
"id": "ufc-300",
"title": "UFC 300: Pereira vs Hill",
"date": "2024-04-13T22:00:00Z",
"location": "Las Vegas, Nevada, USA",
"poster": "https://www.ufc.com/images/...",
"fightCount": 13,
"fights": [
{
"weightClass": "Light Heavyweight Title Bout",
"isTitleFight": true,
"redCorner": { "name": "Alex Pereira", "url": "https://www.ufc.com/athlete/alex-pereira" },
"blueCorner": { "name": "Jamahal Hill", "url": "https://www.ufc.com/athlete/jamahal-hill" },
"redOutcome": "Win",
"blueOutcome": "Loss",
"winner": "Alex Pereira",
"method": "KO/TKO",
"round": "1",
"time": "3:14",
"awards": ["Performance of the Night"]
}
],
"url": "https://www.ufc.com/event/ufc-300"
}

Event Fields

FieldTypeDescription
recordTypestringAlways "event".
idstringStable event identifier (event slug).
titlestringEvent headline, e.g. "UFC 300: Pereira vs Hill".
datestringEvent date in ISO 8601 (UTC).
locationstringVenue city, region, and country.
posterstringEvent poster image URL.
fightCountintegerNumber of bouts on the card.
fightsarrayThe full fight card (see below).
urlstringUFC.com event URL.

Each item in fights

FieldTypeDescription
weightClassstringWeight class / bout label.
isTitleFightbooleanTrue when it's a championship bout.
redCorner / blueCornerobjectFighter name and profile url per corner.
redOutcome / blueOutcomestringWin / Loss / Draw per corner (past events).
winnerstringWinning fighter's name (past events).
methodstringFinish method: KO/TKO, Submission, or Decision.
roundstringRound the fight ended.
timestringTime within the final round.
awardsarrayPerformance / Fight of the Night bonuses, when present.

Ranking (recordType: "ranking")

{
"recordType": "ranking",
"division": "Lightweight",
"gender": "male",
"champion": {
"name": "Islam Makhachev",
"url": "https://www.ufc.com/athlete/islam-makhachev"
},
"rankings": [
{ "rank": 1, "name": "Arman Tsarukyan", "url": "https://www.ufc.com/athlete/arman-tsarukyan", "change": "+1" },
{ "rank": 2, "name": "Charles Oliveira", "url": "https://www.ufc.com/athlete/charles-oliveira", "change": "-1" }
],
"url": "https://www.ufc.com/rankings"
}

Ranking Fields

FieldTypeDescription
recordTypestringAlways "ranking".
divisionstringDivision name, or "Pound-for-Pound".
genderstringmale or female.
championobjectReigning champion's name and profile url.
rankingsarrayRanked contenders, each with rank, name, url, and a rank-movement change.
urlstringUFC.com rankings URL.

Tips for Best Results

  • Use Rankings for the fastest division snapshot โ€” a single Rankings run returns the current champion and top-15 contenders for every division at once, no search terms needed.
  • Turn off includeDetails for a quick roster sweep, then re-run with specific fighter names and details on to pull deep stats only for the athletes you care about โ€” faster and lighter than enriching the whole roster. Deep stats are best-effort, so a name-by-name run gives the most complete stat coverage for the fighters that matter to you.
  • Pair a country or status filter with a weight division โ€” these filters check each athlete's profile, so combining them with a division narrows the search and returns fuller results faster.
  • Pass exact, common name spellings in searchTerms (e.g. "Sean O'Malley", "Israel Adesanya") so each fighter resolves on the first try.
  • Set eventType to past to mine completed events for winners, finish methods, rounds, and end times โ€” the result fields only populate for events that have already happened.
  • Leave searchTerms empty with a maxResults cap to walk the roster or event calendar in controlled batches instead of pulling everything at once.
  • Filter Rankings by gender to return just the men's or women's divisions in one pass.

Pricing

From $30.00 per 1,000 results โ€” undercuts comparable UFC data tools while returning a richer, ready-to-use structure. Bronze, Silver, and Gold subscribers pay progressively less; the table below shows total cost at each discount tier.

ResultsNo discountBronzeSilverGold
100$3.60$3.39$3.19$3.00
1,000$36.00$33.90$31.90$30.00
10,000$360.00$339.00$319.00$300.00
100,000$3,600.00$3,390.00$3,190.00$3,000.00

A "result" is one record pushed to your dataset โ€” one fighter, one event, or one division's ranking. No compute or time-based charges โ€” you pay per result, plus a small fixed per-run start fee.

Integrations

Export data in JSON, CSV, Excel, XML, or RSS. Connect to 1,500+ apps via:

  • Zapier / Make / n8n โ€” Workflow automation
  • Google Sheets โ€” Direct spreadsheet export
  • Slack / Email โ€” Notifications on new results
  • Webhooks โ€” Trigger custom APIs on run completion
  • Apify API โ€” Full programmatic access

This actor collects publicly available information from UFC.com for research, analytics, and editorial use. Use the data responsibly and in compliance with applicable laws, the source site's terms of service, and relevant data-protection regulations. You are responsible for how you use the collected data, including any redistribution. Do not use it to harass individuals or for any unlawful purpose.