API-MMA
App · Sports · 13 actions
Follow mixed martial arts with API-MMA: every UFC fight since 2022 with its result and both fighters' statistics, fighters with their records, weight classes and training teams, and bookmakers' pre-match odds. Needs an API-SPORTS key; the free plan allows 100 requests a day.
Actions
| Action | What it does |
|---|---|
| Find fighters | Find fighters by name, weight class, team or ID, each with their nickname, height, weight, reach, stance and team. |
| Find teams | Find the teams fighters train with, such as Eagles MMA, by name or ID. |
| Get a fight | Get one fight by ID: its event, weight class, status and the two fighters, the winner marked. |
| Get a fighter's record | Get a fighter's professional record: wins, losses and draws, and the wins and losses by knockout and by submission. |
| Get account status | See the connected key's API-MMA plan, when it renews, and how many of today's requests are used and left. |
| Get fight results | Get how a fight ended, or how every fight of a day did: the method (such as KO, SUB or Points), the round and time, the knockout or submission, and each judge's card after a decision. |
| Get fight statistics | Get each fighter's statistics in a fight, or in every fight of a day: strikes and power strikes to the head, body and legs, takedowns, submission attempts, control time and knockdowns. |
| Get pre-match odds | Get bookmakers' pre-match odds for a fight, or for every fight of a day, optionally from one bookmaker or for one bet type. |
| List bet types | List the kinds of bet API-MMA has odds for, such as Home/Away or Over/Under, with the IDs the odds filter takes. |
| List bookmakers | List the bookmakers API-MMA has odds from, with the IDs the odds filter takes. |
| List fights | List a day's or a season's fights, or only one fighter's or one weight class's, each with its event, weight class, status and the two fighters, the winner marked. |
| List seasons | List the seasons API-MMA has fights for, oldest first, as the years the Season fields take. |
| List weight classes | List the weight classes fights and fighters are filed under, such as Lightweight or Women's Strawweight, by the names the Weight class fields take. |
Find fighters
Find fighters by name, weight class, team or ID, each with their nickname, height, weight, reach, stance and team.
Inputs
- Fighter ID
fighter_idtext - Optional. Only this fighter, by ID, such as 333 for Islam Makhachev.
- Search
searchtext - Optional. Only names containing this, at least 3 characters.
- Weight class
categorytext - Optional. Only this weight class, such as Lightweight. Pick one from the list.
- Team
team_idtext - Optional. Only the fighters of this team. Pick one from the list.
Outputs
countnumber- How many came back.
fighterslist- The fighters.
Example output
{
"count": 1,
"fighters": [
{
"age": null,
"birth_date": null,
"category": "Welterweight",
"gender": "M",
"height": "5' 10\"",
"height_inches": 70,
"id": 333,
"last_update": "2026-08-23T00:05:02+00:00",
"name": "Islam Makhachev",
"nickname": null,
"photo": "https://media.api-sports.io/mma/fighters/333.png",
"reach_inches": 70.5,
"stance": "Southpaw",
"team": {
"id": 163,
"name": "Eagles MMA"
},
"weight_pounds": 170
}
]
}Find teams
Find the teams fighters train with, such as Eagles MMA, by name or ID. With no filter it lists all of them.
Inputs
- Team ID
team_idtext - Optional. Only this team, by ID, such as 163.
- Search
searchtext - Optional. Only names containing this, at least 3 characters.
Outputs
countnumber- How many came back.
teamslist- The teams.
Example output
{
"count": 1,
"teams": [
{
"id": 163,
"name": "Eagles MMA"
}
]
}Get a fight
Get one fight by ID: its event, weight class, status and the two fighters, the winner marked.
Inputs
- Fight ID
fight_idtextRequired - The fight's ID, such as 1361. List fights returns them.
- Time zone
timezonetext - Optional. Give dates and times in this time zone, such as America/New_York or Europe/London. UTC when left empty.
Outputs
categorytext- The weight class, such as Lightweight.
datetext- When it starts, with the time zone's offset (ISO 8601).
eventtext- The event, such as UFC 302: Makhachev vs. Poirier.
fightersobject- Both fighters.
idnumber- The fight's ID.
main_cardtrue/false- True for a fight on the main card.
statusobject- Where the fight stands.
timetext- Its start time, HH:MM, in that time zone.
timestampnumber- When it starts, as a Unix timestamp.
timezonetext- The time zone date and time are given in.
Example output
{
"category": "Lightweight",
"date": "2024-06-01T18:00:00+00:00",
"event": "UFC 302: Makhachev vs. Poirier",
"fighters": {
"first": {
"id": 255,
"name": "Dustin Poirier",
"photo": "https://media.api-sports.io/mma/fighters/255.png",
"winner": false
},
"second": {
"id": 333,
"name": "Islam Makhachev",
"photo": "https://media.api-sports.io/mma/fighters/333.png",
"winner": true
}
},
"id": 1361,
"main_card": true,
"status": {
"long": "Finished",
"short": "FT"
},
"time": "18:00",
"timestamp": 1717264800,
"timezone": "UTC"
}Get a fighter's record
Get a fighter's professional record: wins, losses and draws, and the wins and losses by knockout and by submission.
Inputs
- Fighter ID
fighter_idtextRequired - The fighter's ID, such as 333 for Islam Makhachev. Find fighters looks one up.
Outputs
fighterobject- The fighter.
knockoutsobject- Fights won and lost by knockout.
submissionsobject- Fights won and lost by submission.
totalobject- Their professional record.
Example output
{
"fighter": {
"id": 333,
"name": "Islam Makhachev",
"photo": "https://media.api-sports.io/mma/fighters/333.png"
},
"knockouts": {
"losses": 1,
"wins": 5
},
"submissions": {
"losses": 0,
"wins": 13
},
"total": {
"draws": 0,
"losses": 1,
"wins": 28
}
}Get account status
See the connected key's API-MMA plan, when it renews, and how many of today's requests are used and left. It is free: it never counts against the day.
Inputs
None.
Outputs
activetrue/false- True while the subscription is active.
daily_limitnumber- Requests allowed a day.
plantext- The plan, such as Free.
requests_remainingnumber- Requests left today; the day starts at midnight UTC.
requests_todaynumber- Requests used today.
subscription_endtext- When the plan renews or ends.
Example output
{
"active": true,
"daily_limit": 100,
"plan": "Free",
"requests_remaining": 88,
"requests_today": 12,
"subscription_end": "2027-10-01T00:00:00+00:00"
}Get fight results
Get how a fight ended, or how every fight of a day did: the method (such as KO, SUB or Points), the round and time, the knockout or submission, and each judge's card after a decision.
Inputs
- Fight ID
fight_idtext - Optional. Only this fight, such as 1361. Set this, or a date to read every fight of that day.
- Date
on_datedate - Optional. Every fight on this day. The free plan takes only yesterday, today or tomorrow.
Outputs
countnumber- How many came back.
resultslist- The results.
Example output
{
"count": 1,
"results": [
{
"fight_id": 1361,
"ko_type": null,
"minute": "2:42",
"round": 5,
"scores": [],
"sub_type": "D'Arce Choke",
"target": null,
"won_type": "SUB"
}
]
}Get fight statistics
Get each fighter's statistics in a fight, or in every fight of a day: strikes and power strikes to the head, body and legs, takedowns, submission attempts, control time and knockdowns.
Inputs
- Fight ID
fight_idtext - Optional. Only this fight, such as 1361. Set this, or a date to read every fight of that day.
- Date
on_datedate - Optional. Every fight on this day. The free plan takes only yesterday, today or tomorrow.
Outputs
countnumber- How many came back.
statisticslist- Each fighter's statistics.
Example output
{
"count": 2,
"statistics": [
{
"control_time": "0:30",
"fight_id": 1361,
"fighter_id": 255,
"knockdowns": 0,
"strikes": {
"power": {
"body": 18,
"head": 53,
"legs": 3
},
"total": {
"body": 20,
"head": 159,
"legs": 4
}
},
"submissions": 0,
"takedowns": {
"attempts": 0,
"landed": 0
}
},
{
"control_time": "10:23",
"fight_id": 1361,
"fighter_id": 333,
"knockdowns": 0,
"strikes": {
"power": {
"body": 7,
"head": 81,
"legs": 0
},
"total": {
"body": 7,
"head": 148,
"legs": 1
}
},
"submissions": 2,
"takedowns": {
"attempts": 16,
"landed": 5
}
}
]
}Get pre-match odds
Get bookmakers' pre-match odds for a fight, or for every fight of a day, optionally from one bookmaker or for one bet type. Odds appear 1 to 7 days before a fight, are updated four times a day and are kept for 7 days after it.
Inputs
- Fight ID
fight_idtext - Optional. Only this fight, such as 1361. Set this, or a date to read every fight of that day.
- Date
on_datedate - Optional. Every fight on this day. The free plan takes only yesterday, today or tomorrow.
- Bookmaker
bookmaker_idtext - Optional. Only this bookmaker's odds. Pick one from the list.
- Bet type
bet_idtext - Optional. Only this kind of bet, such as Home/Away. Pick one from the list.
Outputs
countnumber- How many came back.
oddslist- Each fight's odds.
Example output
{
"count": 1,
"odds": [
{
"bookmakers": [
{
"bets": [
{
"id": 2,
"name": "Home/Away",
"values": [
{
"odd": 2.85,
"value": "Away"
},
{
"odd": 1.44,
"value": "Home"
}
]
}
],
"id": 5,
"name": "bet365"
}
],
"fight_id": 2906
}
]
}List bet types
List the kinds of bet API-MMA has odds for, such as Home/Away or Over/Under, with the IDs the odds filter takes.
Inputs
- Search
searchtext - Optional. Only names containing this, at least 3 characters.
Outputs
betslist- The bet types.
countnumber- How many came back.
Example output
{
"bets": [
{
"id": 1,
"name": "3Way Result"
},
{
"id": 2,
"name": "Home/Away"
}
],
"count": 2
}List bookmakers
List the bookmakers API-MMA has odds from, with the IDs the odds filter takes. These IDs are API-MMA's own: the same bookmaker can have another ID in another API-SPORTS API.
Inputs
- Search
searchtext - Optional. Only names containing this, at least 3 characters.
Outputs
bookmakerslist- The bookmakers.
countnumber- How many came back.
Example output
{
"bookmakers": [
{
"id": 1,
"name": "Marathon"
},
{
"id": 5,
"name": "bet365"
}
],
"count": 2
}List fights
List a day's or a season's fights, or only one fighter's or one weight class's, each with its event, weight class, status and the two fighters, the winner marked.
Inputs
- Date
on_datedate - Optional. Only fights on this day, in the time zone chosen below. Set this or a season. The free plan takes only yesterday, today or tomorrow.
- Season
seasonnumber - Optional. Only this season, such as 2024. Set this or a date. The free plan reads the 2022 to 2024 seasons.From 1900 to 2100.
- Fighter ID
fighter_idtext - Optional. Only this fighter, by ID, such as 333 for Islam Makhachev.
- Weight class
categorytext - Optional. Only this weight class, such as Lightweight. Pick one from the list.
- Time zone
timezonetext - Optional. Give dates and times in this time zone, such as America/New_York or Europe/London. UTC when left empty.
Outputs
countnumber- How many came back.
fightslist- The fights, in the order given.
Example output
{
"count": 1,
"fights": [
{
"category": "Lightweight",
"date": "2024-06-01T18:00:00+00:00",
"event": "UFC 302: Makhachev vs. Poirier",
"fighters": {
"first": {
"id": 255,
"name": "Dustin Poirier",
"photo": "https://media.api-sports.io/mma/fighters/255.png",
"winner": false
},
"second": {
"id": 333,
"name": "Islam Makhachev",
"photo": "https://media.api-sports.io/mma/fighters/333.png",
"winner": true
}
},
"id": 1361,
"main_card": true,
"status": {
"long": "Finished",
"short": "FT"
},
"time": "18:00",
"timestamp": 1717264800,
"timezone": "UTC"
}
]
}List seasons
List the seasons API-MMA has fights for, oldest first, as the years the Season fields take.
Inputs
None.
Outputs
countnumber- How many came back.
seasonslist- The seasons, oldest first.
Example output
{
"count": 5,
"seasons": [
2022,
2023,
2024,
2025,
2026
]
}List weight classes
List the weight classes fights and fighters are filed under, such as Lightweight or Women's Strawweight, by the names the Weight class fields take.
Inputs
- Search
searchtext - Optional. Only names containing this, at least 3 characters.
Outputs
categorieslist- The weight classes, by name.
countnumber- How many came back.
Example output
{
"categories": [
"Bantamweight",
"Catch Weight",
"Catchweight",
"Featherweight"
],
"count": 4
}