Fight Matrix MMA Rankings Scraper
Pricing
from $1.05 / 1,000 results
Fight Matrix MMA Rankings Scraper
Fight Matrix MMA rankings: every ranked fighter in every division, quarterly historical rankings since 1990, and fighter profiles with ratings, stats and fight history.
Pricing
from $1.05 / 1,000 results
Rating
0.0
(0)
Developer
Artsiom Kunitsyn
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
3 days ago
Last modified
Categories
Share
Scrapes MMA rankings from Fight Matrix, the computer-rating site that ranks every active fighter, not just the top 15: current rankings for every division as deep as the site goes (about 1,500 fighters in a big division), quarterly historical rankings back to 1990, and fighter profiles with rating stats, every fight with the opponent's rank at the time, and the fighter's Sherdog id. No login required.
Contents
🔑 Key features
- Every ranked fighter. All men's and women's divisions, pound-for-pound and the division dominance lists, from #1 to the last ranked fighter, with rating points, movement, age, country and record.
- Rating stats per fighter. Gym, pro debut, "big league" record, last three years, finish rate, quality-performance %, the 540 metric, combat age and over/underrated notes.
- Last fight on every row. Date, promotion, opponent with their rank, and the result.
- Filter like the site does. Only fighters whose last fight was in a promotion (UFC, PFL, ONE, Rizin, Oktagon, Cage Warriors, LFA, KSW...), or from one country or region.
- Five rating systems. Fight Matrix's own, or the same fights rated by Elo, modified Elo, Glicko-1 or WHR.
- History since 1990. Generated rankings for every quarter (Jan 1, Apr 1, Jul 1, Oct 1), every division.
- Profiles that join other data. Each profile carries the Sherdog and Tapology links and the Sherdog fighter id, plus every fight (opponent's rank at the time, event, date, method, round) and the quarterly ranking history.
- Incremental runs. Schedule
rankingsand get only fighters whose rank, points or record changed, plus the ones who dropped out. maxItemsdefaults to 50: a fast, cheap preview. Clear it (null) for everything in your selection.
📋 Output
The Output tab lists every field.
rankings: one row per ranked fighter:
{"division": "lightweight","rank": 1,"movement": 0,"fighter": "Justin Gaethje","fighter_id": 46751,"country": "US","age": 37,"record": "28-5-0","points": 2677,"last_fight_date": "2026-06-14","last_fight_promotion": "UFC","last_opponent": "Ilia Topuria","last_opponent_rank": "2 LW","last_result": "win","association": "Genesis Training Center","big_league_record": "21-5-0","win_finish_pct": 78.6,"quality_performance_pct": 66.7,"metric_540": 0.727,"combat_age": 45,"last_5": ["W", "L", "W", "W", "W"],"change_type": "new"}
historicalRankings: one row per fighter per quarterly issue: issue_date, division, rank,
movement (NR = newly ranked), fighter, record and points.
fighters: one row per fighter: birth date, gym, record, current and all-time rankings, highest
quarterly rank, the rating stats above, sherdog_id, tapology_url, fights and ranking_history.
🔧 Input
| Field | Type | Default | Description |
|---|---|---|---|
entityType | string | rankings | rankings, historicalRankings or fighters. |
divisions | array | all | Divisions to scrape. Empty = all of them. |
maxRank | integer | — | Only the top N of each division. Empty = the whole list. |
promotion | string | — | rankings: only fighters whose last fight was in this promotion, as Fight Matrix names it. |
country | string | — | rankings: a country code (US, BR...) or region (REU, RNA...). |
ratingSystem | string | FM | rankings: FM, R_ELOK170, R_ELOMOD1, R_GLICKO1 or R_WHR. |
dateFrom / dateTo | string | — | historicalRankings: only issues in this window (YYYY-MM-DD). |
startUrls | array | — | fighters: specific profile URLs. Replaces the division selection. |
maxItems | integer | 50 | Stop after this many rows. null = everything selected. |
mode | string | auto | auto / full / incremental, rankings only. |
concurrency | integer | 6 | Requests in flight (max 12). |
proxyConfiguration | object | no proxy | Apify Proxy settings. Not needed in testing. |
📥 Input examples
Default preview (top of pound-for-pound and the dominance lists):
{}
The whole lightweight list:
{ "divisions": ["lightweight"], "maxItems": null }
Top 25 of every division among UFC fighters:
{ "promotion": "UFC", "maxRank": 25, "maxItems": null }
Top 10 heavyweights every quarter since 2000:
{ "entityType": "historicalRankings", "divisions": ["heavyweight"], "dateFrom": "2000-01-01", "maxRank": 10, "maxItems": null }
Profiles of the top 50 women's strawweights:
{ "entityType": "fighters", "divisions": ["womens-strawweight"], "maxRank": 50, "maxItems": null }
🔁 Incremental mode
rankings only, and only for a run with maxItems cleared (null): a capped run is a preview and always
returns rows. After the first complete run, a scheduled run of the same selection (divisions, filters,
rating system, depth) returns only fighters who are new to the list or whose rank, points or record changed,
and the fighters who dropped out with change_type: "delisted". Each selection keeps its own state.
❓ FAQ
How deep do the rankings go? As deep as Fight Matrix ranks: about 1,500 fighters in lightweight, fewer in the smaller divisions. Pound-for-pound has 15, the dominance lists 10.
What are the "historical rankings"? Fight Matrix's generated rankings for each quarter since 1990, as the site publishes them. They are as deep as the current lists for recent years and thinner for the 1990s.
Why is country empty on pound-for-pound rows? That list doesn't show flags; the division lists do.
How do I join with Sherdog data? Profiles carry sherdog_id, the id in our
Sherdog MMA Scraper's fighter_id.
Is the promotion filter the fighter's current promotion? It's the promotion of the fighter's last fight, which is how Fight Matrix filters.
Can I filter pound-for-pound by promotion? No: the site's pound-for-pound and dominance lists have no
filters, so a run with promotion or country skips them and covers the weight divisions.
Related sports data scrapers
- Sherdog MMA Scraper — MMA fighter profiles, full fight histories, event cards and bout results for every promotion.
- BestFightOdds MMA Odds Scraper — every sportsbook's MMA moneyline and props, consensus opening and closing lines back to 2008, and line movement.
- Action Network Scraper — US sportsbook odds, public betting splits, line movement, props, injuries and futures.
- Kalshi & Polymarket Scraper — prediction market odds, settled results and price history for sports, politics, economics and crypto.
- FantasyPros Scraper — NFL, NBA, MLB and NHL expert consensus rankings, ADP and projections.