Sherdog MMA Fighters, Fights & Events Scraper avatar

Sherdog MMA Fighters, Fights & Events Scraper

Pricing

from $7.00 / 1,000 results

Go to Apify Store
Sherdog MMA Fighters, Fights & Events Scraper

Sherdog MMA Fighters, Fights & Events Scraper

MMA fighter profiles with full fight histories, event cards and bout results from Sherdog - UFC, PFL, Bellator, ONE and hundreds of other promotions, back to the 1990s - with incremental runs.

Pricing

from $7.00 / 1,000 results

Rating

0.0

(0)

Developer

Artsiom Kunitsyn

Artsiom Kunitsyn

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Categories

Security

Limited permissions

Share

Scrapes MMA data from Sherdog: fighter profiles with their complete fight history, event fight cards (upcoming and past) and bout results — for the UFC, PFL, Bellator, ONE and hundreds of smaller promotions, back to the 1990s. No login required.

Contents

🔑 Key features

  • Three views of the same data. fighters (one row per fighter), events (one row per card) and fights (one flat row per bout, ready for a spreadsheet or a model).
  • Full fight histories. Every professional fight with opponent, event, date, method (KO/TKO, submission, decision…), round, time and referee — plus amateur and pro-exhibition bouts, kept in separate divisions.
  • Record breakdowns. Wins and losses split by KO/TKO, submission, decision and other.
  • Upcoming cards. Future events with the full bout list, weight classes and fighter records, and each fighter's next scheduled fight.
  • Scope by promotion. Pick UFC, PFL, Bellator, ONE, KSW, Oktagon, Rizin, Cage Warriors and more, or paste any Sherdog promotion URL. For fighters, that means "everyone who fought (or is booked) on these cards".
  • The whole database, too. Leave the promotion list empty for every fighter (about 354,000) or event (about 77,000) Sherdog lists.
  • Fighter details on fight rows (from 2026-11-06). Turn on includeFighterDetails and each bout also carries both fighters' birth date, age at the fight, nationality, height, weight class, gym and current record breakdown, with no second run and no join.
  • Incremental runs. Schedule events or fights: after the first run you only receive new events and cards whose results changed.
  • maxItems defaults to 50 — a fast, cheap preview. Clear it (null) for everything in your selection.

⚖️ Strengths and limits

Read this before you run a big job, so you know exactly what you get.

Strengths

  • Records you can trust. In a 60,000-fighter check, 99.98% of stated records matched the fighter's own fight history. A full UFC pull matched: 832 events, 9,142 bouts, 2,899 fighters.
  • Far beyond the UFC. Hundreds of promotions, about 354,000 fighters and 77,000 events.
  • A fighter's whole history in one row, so a fighters row carries far more than a single fight.
  • Reliable at scale. Transient page errors are retried; the last 4,000-fighter stress run had 0 errors.

Limits

  • Results, not fight statistics. Sherdog has no strikes, takedowns or control time, and no odds. It has who fought, who won, how and when.
  • Obscure fighters have gaps. In a sample of 5,000 older fighters, 63% had a nationality, 54% a weight class and 22% a birth date. The UFC roster is far denser (92% birth date, 99.9% nationality). Missing fields are null.
  • Records are today's. A fighter's record and weight class are current; Sherdog doesn't show records as of each fight.
  • The whole database is a big job. About 354,000 fighters would cost about $3,500 at $10 per 1,000 on the free plan and take about 5 hours at top concurrency, past the default 1-hour run timeout. We've tested up to 60,000 fighters in one run, not the whole database. The full UFC roster is about $29. Choose promotions, and set a spending limit.
  • Incremental mode covers events and fights only. fighters is always a fresh pull, and only events from the last 90 days (plus upcoming ones) are tracked for changes.
  • Upcoming cards have no results, and old cards can be empty (no_results) or have placeholder dates (returned as null).
  • Fighter details cost extra. includeFighterDetails starts on 2026-11-06, with one charge per distinct fighter on top of the row price.
  • The site can be flaky. About 0.05% of pages fail briefly (retried), and Sherdog's sitemaps sometimes come back empty; a whole-database run may skip a sitemap it can't read, and it logs that when it does. Promotion runs don't use sitemaps.
  • It depends on Sherdog's pages. A site redesign would stop the actor until it's updated. Not affiliated with Sherdog.

📋 Output

The Output tab lists every field.

fighters — one row per fighter:

{
"source": "sherdog",
"external_id": "27944",
"name": "Jon Jones",
"nickname": "Bones",
"birth_date": "1987-07-19",
"height_cm": 193.04,
"weight_kg": 107.95,
"weight_class": "Heavyweight",
"association": "Jackson-Wink MMA",
"nationality": "United States",
"wins": 28, "losses": 1, "draws": 0, "no_contests": 1,
"wins_ko": 11, "wins_submission": 7, "wins_decision": 10,
"pro_fights": 30,
"upcoming_fights": [],
"fights": [
{
"division": "pro", "result": "win", "opponent": "Stipe Miocic", "opponent_id": 39537,
"event": "UFC 309 - Jones vs. Miocic", "event_date": "2024-11-16",
"method": "TKO", "method_detail": "Spinning Back Kick and Punches", "finish_type": "ko_tko",
"referee": "Herb Dean", "round": 3, "time": "4:29", "time_seconds": 269
}
]
}

events — one row per card, with bouts (match number, weight class, both fighters with ids and records where shown, winner, method, round, time, referee) and a status of completed, upcoming, no_results or unknown.

fights — one flat row per bout: event, promotion, date, weight class, fighter_1 / fighter_2 with ids and results, winner, method, finish_type, round, time_seconds, referee. With includeFighterDetails, also fighter_1_details / fighter_2_details: nickname, birth date, age_at_fight, nationality, hometown, height, weight class, gym, image and the fighter's record today (wins, losses, draws, no contests, wins and losses by KO, submission, decision and other).

🔧 Input

FieldTypeDefaultDescription
entityTypestringfightersfighters, events or fights.
organizationsarray["ufc"]Promotions to scrape. Empty = the entire database.
startUrlsarray—Specific fighter, event or promotion pages. Replaces the promotion selection.
dateFrom / dateTostring—Only events in this window (YYYY-MM-DD). Use a future window for upcoming cards.
maxItemsinteger50Stop after this many rows. null = everything selected.
includeFighterDetailsbooleanfalsefights only: add both fighters' profile details to each row. Charged per distinct fighter. From 2026-11-06.
modestringautoauto / full / incremental — events and fights only.
concurrencyinteger8Parallel page requests (max 25).
impersonatestringfirefoxBrowser TLS fingerprint. Change only if requests are blocked.
proxyConfigurationobjectno proxyApify Proxy settings. Not needed in testing.

📥 Input examples

Default preview (50 UFC fighters):

{}

Every UFC fight ever, one row per bout:

{ "entityType": "fights", "organizations": ["ufc"], "maxItems": null }

Upcoming UFC and PFL cards:

{ "entityType": "events", "organizations": ["ufc", "pfl"], "dateFrom": "2026-09-21", "maxItems": null }

Daily feed of new and changed events (schedule this):

{ "entityType": "fights", "organizations": ["ufc", "pfl", "bellator", "one"], "maxItems": null }

Every UFC fight of 2025 with both fighters' details:

{ "entityType": "fights", "organizations": ["ufc"], "dateFrom": "2025-01-01", "dateTo": "2025-12-31", "includeFighterDetails": true, "maxItems": null }

Two specific fighters:

{ "entityType": "fighters", "startUrls": ["https://www.sherdog.com/fighter/Jon-Jones-27944", "https://www.sherdog.com/fighter/Stipe-Miocic-39537"] }

🔁 Incremental mode

events and fights only, and only for a run with maxItems cleared (null) — a capped run is a preview and always returns rows. In auto mode the first uncapped run returns everything in scope. Later runs return only events that are new or whose card or results changed in the last 90 days, plus upcoming ones (change_type is new or changed); older events are history and are not repeated. A run limited by maxItems, your spending limit, startUrls, a date window or an error does not update the memory. fighters is always a fresh pull.

❓ FAQ

How complete is fighter data? Sherdog lists every fighter, but many are obscure: in a sample of 5,000 fighters, about 63% had a nationality, 54% a weight class and 22% a birth date. Fields Sherdog doesn't have are null, never guessed.

How is includeFighterDetails charged? One fighter-details event per distinct fighter in the run, on top of the usual price per row. A fighter who appears in ten of your fights is charged once. If you already have the fighters, a fighters run gives the full profiles (with every fight) at the row price instead. The record in the details is the fighter's record today; Sherdog doesn't show records as of each fight.

What are the divisions? pro, amateur and pro_exhibition, matching Sherdog's sections. The win/loss record fields are the professional record.

Why does an old event have no_results? Some 1990s events exist on Sherdog with an empty card. They are returned with that status rather than being labelled upcoming.

Do you cover boxing or Muay Thai? Sherdog is an MMA site; a few boxing events exist (the "Boxing" promotion), and promotions you paste into startUrls are scraped as listed.

Feedback and reviews

Missing a field or hit a problem? Open an issue on the Issues tab: issues are answered promptly.

If this Actor is useful to you, please leave a short review on this page. Reviews help other people find it and help decide what to improve next. Thank you!

  • BestFightOdds MMA Odds Scraper — every sportsbook's UFC and MMA moneyline and props, consensus opening and closing lines back to 2008, and line movement.
  • Fight Matrix MMA Rankings Scraper — every ranked fighter in every division, quarterly rankings since 1990, and profiles with Sherdog ids.
  • Action Network Scraper — US sportsbook odds, public betting splits, line movement, props, injuries and futures.
  • Smarkets Betting Exchange Scraper — betting exchange back and lay odds, matched volume, results and traded-price history.
  • PGA TOUR Scraper — golf results back to the 1950s, hole-by-hole scorecards, FanDuel odds history, tee times and player stats.
  • Kalshi & Polymarket Scraper — prediction market odds, settled results and price history for sports, politics, economics and crypto.
  • SofaScore Scraper — results, team statistics, lineups with player ratings, incidents and odds for football, basketball, hockey, tennis and 17 more sports.
  • Flashscore Scraper — results, statistics, lineups, incidents and opening/closing odds from ~20 bookmakers for 17 sports.