Pricing
from $30.00 / 1,000 results
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
Actor stats
0
Bookmarked
2
Total users
1
Monthly active users
4 days ago
Last modified
Categories
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, anddrawsintegers, 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
| Parameter | Type | Default | Description |
|---|---|---|---|
dataType | string | "fighters" | What to collect: fighters (athlete profiles & records), events (fight cards & results), or rankings (official division & pound-for-pound standings). |
searchTerms | array | [] | 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
| Parameter | Type | Default | Description |
|---|---|---|---|
division | string | "" (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. |
gender | string | "" (all) | Limit to male or female divisions. Applies to Fighters and Rankings. |
fighterStatus | string | "" (any) | Limit to active, not-fighting, or retired. Applies to Fighters only. |
country | string | "" | Limit to fighters born in this country, e.g. United States, Brazil, Russia. Applies to Fighters only. |
eventType | string | "all" | Collect upcoming events, past events, or all. Applies to Events only. |
Output Detail & Limits
| Parameter | Type | Default | Description |
|---|---|---|---|
includeDetails | boolean | true | Fetch 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. |
maxResults | integer | 100 | How 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
| Field | Type | Description |
|---|---|---|
recordType | string | Always "fighter". |
id | string | Stable fighter identifier (athlete slug). |
name | string | Full fighter name. |
nickname | string | Ring nickname, when one exists. |
division | string | Weight division, e.g. "Heavyweight". |
gender | string | male or female. |
status | string | Active, Not currently fighting, or Retired. |
url | string | UFC.com athlete profile URL. |
image | string | Profile photo URL. |
Record & Bio
| Field | Type | Description |
|---|---|---|
record | string | Win-loss-draw string, e.g. "28-1-0". |
wins / losses / draws | integer | Record split into numbers. |
hometown | string | Full place of birth. |
city | string | City portion of the hometown. |
country | string | Country of birth. |
height / weight / reach / legReach | string | Physical measurements. |
age | string | Fighter age. |
octagonDebut | string | Date of first UFC appearance. |
trainsAt | string | Training gym / camp. |
stats | object | Striking, 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
| Field | Type | Description |
|---|---|---|
recordType | string | Always "event". |
id | string | Stable event identifier (event slug). |
title | string | Event headline, e.g. "UFC 300: Pereira vs Hill". |
date | string | Event date in ISO 8601 (UTC). |
location | string | Venue city, region, and country. |
poster | string | Event poster image URL. |
fightCount | integer | Number of bouts on the card. |
fights | array | The full fight card (see below). |
url | string | UFC.com event URL. |
Each item in fights
| Field | Type | Description |
|---|---|---|
weightClass | string | Weight class / bout label. |
isTitleFight | boolean | True when it's a championship bout. |
redCorner / blueCorner | object | Fighter name and profile url per corner. |
redOutcome / blueOutcome | string | Win / Loss / Draw per corner (past events). |
winner | string | Winning fighter's name (past events). |
method | string | Finish method: KO/TKO, Submission, or Decision. |
round | string | Round the fight ended. |
time | string | Time within the final round. |
awards | array | Performance / 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
| Field | Type | Description |
|---|---|---|
recordType | string | Always "ranking". |
division | string | Division name, or "Pound-for-Pound". |
gender | string | male or female. |
champion | object | Reigning champion's name and profile url. |
rankings | array | Ranked contenders, each with rank, name, url, and a rank-movement change. |
url | string | UFC.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
includeDetailsfor 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
eventTypetopastto mine completed events for winners, finish methods, rounds, and end times โ the result fields only populate for events that have already happened. - Leave
searchTermsempty with amaxResultscap to walk the roster or event calendar in controlled batches instead of pulling everything at once. - Filter Rankings by
genderto 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.
| Results | No discount | Bronze | Silver | Gold |
|---|---|---|---|---|
| 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
Legal & Ethical Use
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.
