UFC Stats Scraper avatar

UFC Stats Scraper

Pricing

from $10.00 / 1,000 ufc results

Go to Apify Store
UFC Stats Scraper

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

Fetch Finch

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

21 hours ago

Last modified

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

InputTypeDefaultDescription
modestringqueryquery reads the latest available dataset; refresh updates it from RapidAPI; discover checks MMAAPI categories and tournaments.
dataTypestringeventsDataset to return or update: fighters, events, rankings, or all.
providerstringufc-statsUFC Stats handles fighters and events. Use mmaapi for MMAAPI event/ranking workflows.
maxResultsinteger100Maximum number of records returned or processed.

Search and filters

InputTypeDescription
searchTermsarrayFighter or event names to match when reading the available dataset.
refreshSearchTermsarrayFighter names to fetch during a detailed fighter refresh.
fighterLettersarrayLetters used for a full UFC Stats roster refresh. Empty uses A–Z.
divisionstringFilter by a weight division or pound-for-pound.
genderstringFilter rankings or fighters by male or female where supported.
fighterStatusstringFilter fighters by active, not-fighting, or retired.
countrystringFilter fighters by country or hometown.
eventTypestringFor events, choose upcoming, past, or all.

Detail and refresh controls

InputTypeDefaultDescription
includeDetailsbooleantrueFetch detailed fighter profiles or event fight cards during a refresh. It does not affect rankings.
refreshRequestBudgetinteger45Maximum RapidAPI requests allowed in one refresh run.
monthlyRequestLimitinteger150Monthly RapidAPI request guard shared by refresh runs.
detailRefreshHoursinteger168Minimum 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.

  1. Store RAPIDAPI_KEY as an Apify Actor secret.
  2. Create scheduled refresh tasks for fighters, events, and rankings.
  3. Run public or application-facing tasks in query mode.
  4. Use includeDetails: true selectively for important fighters and event cards.
  5. 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.