UFC Stats Scraper avatar

UFC Stats Scraper

Pricing

from $19.00 / 1,000 results

Go to Apify Store
UFC Stats Scraper

UFC Stats Scraper

Scrapes UFC fight and fighter data from UFC Stats. Returns each fight as a flat row with fighter names, result, method, round, time, and detailed fight statistics.

Pricing

from $19.00 / 1,000 results

Rating

0.0

(0)

Developer

ParseForge

ParseForge

Maintained by Community

Actor stats

0

Bookmarked

23

Total users

6

Monthly active users

9 days ago

Last modified

Categories

Share

ParseForge

UFC Stats Scraper

Scrape UFC fight and fighter data from UFC Stats, up to a million fights per run. Every fight comes with fighter names, result, method, round, time, and full fight stats. No login or API key. Export to CSV, JSON, Excel, or XML.

UFC Stats is the official record of every UFC fight, but it has no public API and no bulk export. This Actor reads the public fight pages directly, filtered by fighter last name initial, and returns each fight as one flat row. Build your own MMA database without manual copying.

Who uses itWhat they scrape UFC Stats for
MMA analystsBuild a fight database to study performance trends and fighter styles
Sports bettorsPull historical fight stats to inform betting models
Fantasy MMA playersGet fight results and stats to score fantasy leagues
JournalistsCollect fight data for articles and fighter profiles
Data scientistsCreate datasets for machine learning on fight outcomes

What it does

This Actor collects UFC fights from UFC Stats by fighter last name initial, and returns each fight as a flat row with fighter names, result, method, round, time, and detailed fight statistics.

  • ๐Ÿ”ค Filter by last name initial: choose any letter A to Z to scrape only fighters whose last name starts with that letter.
  • ๐Ÿ“š Scrape all letters: enable to collect the entire UFC roster across all 26 letters in one run.
  • ๐Ÿ“Š Full fight stats: each row includes result, method, round, time, and detailed striking and grappling stats.
  • ๐Ÿ“ฆ Bulk export: save up to 1,000,000 fights per run to CSV, JSON, Excel, or XML.

Results export to CSV, JSON, Excel, or XML, or straight from the API.

What you can do with UFC Stats data

๐Ÿ“ˆ Build a fight database.

An MMA analyst scrapes all fights from A to Z to create a complete historical database for trend analysis.

๐ŸŽฏ Inform betting models.

A sports bettor pulls fights for specific fighters to calculate striking accuracy and finish rates before placing a bet.

๐Ÿ† Score fantasy leagues.

A fantasy MMA commissioner scrapes fight results and stats to automatically update league standings.

๐Ÿ“ฐ Write fighter profiles.

A journalist collects a fighter's full fight history to write an in-depth career retrospective.

๐Ÿค– Train prediction models.

A data scientist gathers thousands of fights to train a machine learning model that predicts fight outcomes.

Why choose this scraper

What you get
No API keyScrape UFC Stats without registration or rate limits
Complete dataGet every fight stat the official site shows, in one row
Flexible filteringTarget one letter or the whole roster with one toggle
ScalableCollect up to a million fights in a single run

How it compares

No other Store actor targets UFC Stats the same way, so the honest comparison is with the alternatives teams actually weigh.

UFC Stats ScraperBuild it in-houseBy hand
SetupRun it now, zero configDays of engineeringNone, but hours per pull
When UFC Stats changesMaintained for youYou fix itYou re-learn the page
Proxies, retries, anti-botBuilt inYour problemBrowser only
OutputFixed JSON schema, CSV/Excel exportWhatever you buildCopy-paste
CostPay per resultEngineering timeAnalyst hours

Configure the run

Drive the Actor from a single last name initial or the full alphabet, and set a maximum number of fights to collect per run. The Input tab lists every parameter.

A first run with the defaults:

{
"maxItems": 10
}

A larger pull:

{
"maxItems": 200
}

Pricing

Pay-per-result: $0.021 per result collected. You pay only for the results written to your dataset.

Results collectedApproximate cost
100 results$2.10
1,000 results$21.00
10,000 results$210.00

New Apify accounts start with $5 in free credit.

Free users

Free-plan runs return up to 10 results as a preview. Upgrade your Apify plan to collect up to 1,000,000 results per run.

Run it

  1. Create a free Apify account with $5 in credit.
  2. Open the UFC Stats Scraper.
  3. Set your inputs and any filters, then click Start.
  4. Export the results as CSV, Excel, JSON, or XML from the Dataset tab.

Run it programmatically through the Apify API (run-sync-get-dataset-items) or the ApifyClient for JavaScript and Python.

Use with AI agents (MCP)

Give an AI agent live access to UFC Stats through the Model Context Protocol. Add the Actor to Claude, Cursor, or any MCP client:

$claude mcp add --transport http apify "https://mcp.apify.com?tools=parseforge/ufc-stats-scraper"

Then prompt it in plain language to run the scraper and read back the results.

Troubleshooting

Why am I getting no results?

Make sure 'Scrape All Letters' is disabled if you want a specific letter, and that the 'Starting Letter' is set to a letter that has fighters. Also check that 'Maximum fights' is at least 1.

The run is taking too long.

Reduce the 'Maximum fights' value or scrape a single letter instead of all letters. The Actor stops after reaching the limit.

Some fights are missing from the results.

UFC Stats may not list every fight for every fighter. The Actor scrapes only what is publicly available on the site.

I get an error when enabling 'Scrape All Letters'.

Ensure the input is valid JSON and that 'scrapeAllLetters' is set to true. If the error persists, try running with a single letter first.

The dataset has duplicate fights.

Duplicates can occur if a fight appears on multiple fighter pages. Use a deduplication step in your downstream processing.

FAQ

QuestionAnswer
What data does this Actor return for each fight?Each fight row includes fighter names, result, method of victory, round, time, and detailed striking and grappling statistics as shown on UFC Stats.
Can I scrape all fighters at once?Yes. Enable the 'Scrape All Letters' option to collect fights for every fighter in the UFC roster, ignoring the starting letter filter.
How many fights can I collect in one run?You can set the maximum number of fights up to 1,000,000 per run. The Actor stops after reaching that limit.
Do I need an API key or login?No. This Actor reads public UFC Stats pages directly, so no registration or authentication is required.
What export formats are supported?You can export the scraped data to CSV, JSON, Excel, or XML from the Apify dataset.
Can I filter by fighter name?You can filter by the first letter of the fighter's last name using the 'Starting Letter' input. For more specific filtering, you can process the dataset after scraping.
Does this Actor scrape live or upcoming fights?This Actor scrapes completed fights listed on UFC Stats. It does not include live or scheduled events.
Is the data updated regularly?The Actor scrapes the current UFC Stats website each time it runs, so you get the latest available fight data.
Can I schedule this Actor to run automatically?Yes, you can set up a schedule on the Apify platform to run this Actor at regular intervals, such as daily or weekly.
What if I get no results?Check that the 'Starting Letter' is set correctly and that 'Scrape All Letters' is disabled if you want a specific letter. Also ensure the maximum fights is at least 1.

Browse the full ParseForge collection for more scrapers.

๐Ÿ†˜ Need help? Email parseforge@protonmail.com with your run ID, your input, and what you expected.

โš ๏ธ Disclaimer. This Actor is unofficial and is not affiliated with, endorsed by, or sponsored by UFC Stats. It collects only publicly available data. You are responsible for using the collected data in compliance with the source's terms of service and applicable data-protection laws, including GDPR, CCPA, and PIPL. Do not use it to collect personal data unlawfully.