UFC Stats Scraper
Pricing
from $10.00 / 1,000 ufc results
UFC Stats Scraper
Extract structured UFC fighter profiles, career records, event fight cards, fight results, and division and pound-for-pound rankings for sports media, analytics, fantasy applications, and research.
Pricing
from $10.00 / 1,000 ufc results
Rating
0.0
(0)
Developer
Fetch Finch
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
21 hours ago
Last modified
Categories
Share
Extract structured UFC fighter profiles, career records, event cards, fight results, and division rankings from a single Apify Actor.
Use it to power MMA websites, sports journalism, analytics dashboards, fantasy applications, research workflows, and automated fight-week reports.
What you can collect
Fighter profiles and records
- Complete UFC fighter roster
- Search by one or more fighter names
- Nicknames, physical measurements, stance, and weight information
- Win-loss-draw records
- Career striking, takedown, and submission statistics when available
- Complete fight histories with opponents, events, results, methods, rounds, and times
Events and fight cards
- Upcoming UFC events
- Completed UFC events
- Event metadata and dates
- Full fight cards
- Fighter matchups and bout details
- Winners, methods, rounds, and finish times for completed fights
- Detailed fight statistics when supplied by the provider
Rankings
- UFC weight-division rankings
- Men’s and women’s rankings
- Pound-for-pound rankings
- Champions and ranked fighters
- Rank movement where supplied by the rankings provider
Why use this Actor?
The Actor provides one consistent interface for the three datasets most UFC applications need: fighters, events, and rankings. You can run a lightweight listing, search for specific names, or request detailed profiles and fight cards only when required.
The data is returned as structured JSON in the Apify dataset, making it easy to export to JSON, CSV, Excel, or connect to downstream automations through the Apify API, webhooks, Make, n8n, or Zapier.
Common use cases
Sports media and journalism
- Build fight-week previews with fighter records and career statistics
- Track newly announced cards and matchup changes
- Generate post-event reports with winners and finish methods
- Create division and pound-for-pound ranking articles
Analytics and research
- Compare striking, takedown, and submission profiles
- Analyze finish methods by fighter, division, or event
- Build historical datasets for MMA research
- Track roster changes and ranking movement over time
Fantasy and fan applications
- Populate fighter comparison pages
- Build head-to-head fighter profiles
- Display upcoming cards and completed fight results
- Keep fighter and event data updated through scheduled runs
Getting started
Search for one fighter
{"mode": "query","dataType": "fighters","searchTerms": ["Conor McGregor"],"maxResults": 10}
Retrieve the full fighter roster
{"mode": "query","dataType": "fighters","maxResults": 1000}
The full roster is normally populated by a scheduled refresh. Query runs read the latest available Actor dataset and do not contact RapidAPI.
Retrieve fighter statistics by name
{"mode": "query","dataType": "fighters","searchTerms": ["Israel Adesanya"],"maxResults": 10}
To populate or update a detailed profile during a scheduled update:
{"mode": "refresh","dataType": "fighters","refreshSearchTerms": ["Israel Adesanya"],"includeDetails": true,"maxResults": 1}
Retrieve upcoming events and fight cards
{"mode": "query","dataType": "events","eventType": "upcoming","maxResults": 10}
During a scheduled update, use includeDetails: true to collect complete fight cards:
{"mode": "refresh","dataType": "events","eventType": "upcoming","includeDetails": true,"maxResults": 10}
Retrieve completed event results
{"mode": "query","dataType": "events","eventType": "past","maxResults": 10}
Retrieve UFC rankings
{"mode": "query","dataType": "rankings","division": "pound-for-pound","maxResults": 100}
Rankings are supplied through MMAAPI. The RapidAPI account used by the Actor must be subscribed to MMAAPI’s plan. Fighters, events, and fight details use UFC Stats API.
Input reference
Main options
| Input | Type | Default | Description |
|---|---|---|---|
mode | string | query | query reads the latest available dataset; refresh updates it from RapidAPI; discover checks MMAAPI categories and tournaments. |
dataType | string | events | Dataset to return or update: fighters, events, rankings, or all. |
provider | string | ufc-stats | UFC Stats handles fighters and events. Use mmaapi for MMAAPI event/ranking workflows. |
maxResults | integer | 100 | Maximum number of records returned or processed. |
Search and filters
| Input | Type | Description |
|---|---|---|
searchTerms | array | Fighter or event names to match when reading the available dataset. |
refreshSearchTerms | array | Fighter names to fetch during a detailed fighter refresh. |
fighterLetters | array | Letters used for a full UFC Stats roster refresh. Empty uses A–Z. |
division | string | Filter by a weight division or pound-for-pound. |
gender | string | Filter rankings or fighters by male or female where supported. |
fighterStatus | string | Filter fighters by active, not-fighting, or retired. |
country | string | Filter fighters by country or hometown. |
eventType | string | For events, choose upcoming, past, or all. |
Detail and refresh controls
| Input | Type | Default | Description |
|---|---|---|---|
includeDetails | boolean | true | Fetch detailed fighter profiles or event fight cards during a refresh. It does not affect rankings. |
refreshRequestBudget | integer | 45 | Maximum RapidAPI requests allowed in one refresh run. |
monthlyRequestLimit | integer | 150 | Monthly RapidAPI request guard shared by refresh runs. |
detailRefreshHours | integer | 168 | Minimum interval before an already detailed fighter or event is requested again. |
Output
Every query item contains a recordType field so downstream workflows can distinguish the result category.
{"recordType": "fighter","id": "f4c49976c75c5ab2","name": "Conor McGregor","nickname": "The Notorious","record": {"wins": 22,"losses": 7,"draws": 0},"physical": {"height": "5' 9\"","weightLbs": 155,"reachIn": 74,"stance": "Southpaw"},"career": {"slpm": "5.27","strAcc": "49%","tdAvg": "0.66","subAvg": "0.1"},"fights": []}
Fighter records may include record, physical, career, and fights fields. The exact availability of individual statistics depends on the fighter profile returned by the source.
Event records contain the event identifier, name, date, location, and—when details are enabled—the event’s fight card and bout results.
Ranking records contain the ranking division and the provider’s champion, ranked fighters, and ranking metadata. The source response is preserved so useful provider-specific fields are not discarded.
Recommended operating model
- Store
RAPIDAPI_KEYas an Apify Actor secret. - Create scheduled refresh tasks for fighters, events, and rankings.
- Run public or application-facing tasks in
querymode. - Use
includeDetails: trueselectively for important fighters and event cards. - Keep the monthly request limit below the actual RapidAPI subscription quota.
Refresh runs are rate-limited and maintain a persistent Actor dataset. Repeated detail refreshes are skipped while the configured detail interval is still valid, helping the free RapidAPI plans remain usable.
Data providers
- UFC Stats API — UFC fighter listings, fighter profiles, career statistics, fight histories, event listings, event details, and fight cards.
- MMAAPI — UFC rankings and optional MMA calendar/tournament workflows.
The Actor does not expose the RapidAPI key to task users. Keep the key in Apify’s encrypted Actor secret configuration.
Responsible use
Use the data for legitimate sports, editorial, analytical, and research purposes. You are responsible for complying with applicable laws, provider terms, and any restrictions related to redistribution or commercial use.