karate combat logo

Karate Combat Public API Documentation

Introduction

This documentation will help you get familiar with the resources of Karate Combat Public API and show you how to make different queries, so that you can get the most out of it.

REST

Base URL: https://public-api.karate.com

These are currently available resources:

Fight events

GET all fight events

Filtering and Pagination
KeyTypeDescription
skipintUsed for pagination, amount of events to skip
limitintThe amount of fight events returned
datestringDate filter, will return all events that are starting after this date
localestringEnglish, Portuguese or Spanish
sortstringSorted by properties with order ASC or DESC. coMainFighters__[ORDER], date__[ORDER], eventCategory__[ORDER], heroDate__[ORDER], id__[ORDER], location__[ORDER], mainFighters__[ORDER], name__[ORDER]

GET /api/fight-events

KeyTypeDescription
idstringUnique identifier for the event.
slugstringShort identifier used in the event URL.
namestringFull name of the event.
coverBigPhoto AssetA photo asset that contains the title, height, width and URL of the cover image.
coverVistaBigPhoto AssetA photo asset that contains the title, height, width and URL of the cover image (portrait format).
coverSmallPhoto AssetA photo asset that contains the title, height, width and URL of the small event cover image.
coverVistaPhoto AssetA photo asset that contains the title, height, width and URL of the small event cover image (portrait format).
datestringDate of the event.
votingOpenTimestringTime when voting for the event opens.
votingClosedTimestringTime when voting for the event closes.
descriptionstringBrief description of the event.
locationstringLocation of the event.
categorystringCategory of the event (e.g., "2024", "2023", "SEASON 4").
gameUrlstringURL of the event game (if applicable).
videoVideo AssetA video asset that contains the name, slug, YouTube URL and thumbnail URL of the fight event highlight video
mainFightersstringString containing the names of the main fighters.
coMainFightersstringString containing the names of the co-main fighters (if any).
heroDatestringPossibly the date of a featured fighter or event.
stickerPhoto AssetA photo asset that contains the title, height, width and URL of the event sticker image.
statusstringCurrent status of the event (e.g., "Upcoming", "In Progress", "Voting Open").

GET fight event results

ID that should be used to obtain this data, is the ID from the CMS we are using. Don't use slug (i.e. kc44) or smart contract IDs (usually a number).


Example:

curl -X 'GET' 'https://public-api.karate.com/api/fight-events/4X67qM66KAaLYnva1pbTeh/results'
-H 'accept: application/json'

GET /api/fight-events/{id}/results

{
  "fights": [
    {
      "redFighterId": "string",
      "blueFighterId": "string",
      "winStatus": "string",
      "id": "string",
      "winner": "string"
    }
  ]
}
KeyTypeDescription
redFighterIdstringID of the red fighter e.g. 3twHJEHis0QP0J8iH2ojCT
blueFighterIdstringID of the blue fighter e.g. 6EQXrnohyAlYvjGJ8kDd80
winStatusstringtKoWinLeft, tKoWinRight, koWinLeft, koWinRight, noContest,technicalDraw,winLeft,winRight
idstringID of the fight e.g. 7J6ZlaOY5DDOHqNBYunu7h
winnerstringID of the winning fighter e.g. 6EQXrnohyAlYvjGJ8kDd80

GET fight event by ID

You can use this endpoint to obtain the details about one particular karate combat fight event.

GET /api/fight-events/{id}

Example

curl -X 'GET' \
  'https://public-api.karate.com/api/fight-events/51gkoSdMrKSc7GXG9KOq9m' \
  -H 'accept: application/json'

This response is the same whether you obtain the data by slug, or by ID.

{
  "name": "KC44",
  "coverBig": {
    "title": "cover big kc44 revised",
    "height": 823,
    "width": 1920,
    "url": "https://images.ctfassets.net/4jrjxv6ydu11/56fCxIfghSPzyy7zahQLz9/af25c4070a929e44cf01b1eafed419ff/KC_Assets_App_Gfx_Cover_KC44_Big_02_v1.png"
  },
  "coverVistaBig": {
    "title": "kc 44 cover vista big",
    "height": 823,
    "width": 1920,
    "url": "https://images.ctfassets.net/4jrjxv6ydu11/5ep8EOmel5KudscHVkTDw3/1df1a5fe638fab7f4fb0d7279e88cad6/KC_Assets_App_Gfx_Cover_KC44_Big_03_v1.png"
  },
  "coverSmall": {
    "title": "kc 44 promo main comain",
    "height": 625,
    "width": 1005,
    "url": "https://images.ctfassets.net/4jrjxv6ydu11/zABDjw0565C3GtHkIYUgf/65b5fa770a1c88127f6f56957067c2e3/KC_Assets_App_Gfx_Cover_KC44_Small_01_v1.png"
  },
  "coverVista": {
    "title": "kc44 cover vista small",
    "height": 625,
    "width": 1005,
    "url": "https://images.ctfassets.net/4jrjxv6ydu11/6DNIWYvhrTdv3dpQjOnxMg/9924e8daff17dbe7f1f6581acce1b03c/KC_Assets_App_Gfx_Cover_KC44_Small_03_v1.png"
  },
  "date": "2024-02-23T18:00:00.000-06:00",
  "description": "Friday Night, the high altitude and vibrant metropolis of Mexico City transforms into the epicenter of combat sports, hosting a spectacular event.\n\nKarate Combat 44 is charged with anticipation as fighters from around the globe converge in this iconic city to showcase their skills.",
  "location": "Mexico City, Mexico",
  "video": {
    "name": "Karate Combat 44 | Live Event | Perez vs Chelmiah with Bas Rutten and Big Mike",
    "slug": null,
    "youTubeUrl": "https://www.youtube.com/watch?v=4Ws5jSwurWc",
    "youTubeThumbnailUrl": "https://img.youtube.com/vi/4Ws5jSwurWc/default.jpg"
  },
  "mainFighters": "Erik Perez vs Eoghan Chlemiah",
  "coMainFighters": "Alejandro Flores vs Bruno Assis",
  "heroDate": "February 23 | 6pm CST",
  "sticker": null,
  "gameUrl": null,
  "id": "51gkoSdMrKSc7GXG9KOq9m",
  "slug": "kc44",
  "category": "2024",
  "status": "finished",
  "votingOpenTime": "2024-02-22T00:00:00Z",
  "votingClosedTime": "2024-02-23T23:30:00Z",
  "inviteOnly": true,
  "fights": [
    {
      "redFighter": {
        "fightStyle": "Lucha Libre",
        "id": "74FtU88DEA8o04WkLENcBf",
        "bodyImage": {
          "title": "eric perez body temp ",
          "height": 700,
          "width": 460,
          "url": "https://images.ctfassets.net/4jrjxv6ydu11/6YnrDXgnKRpjIc8ynwDFlY/23c53182d21fb69e356c4d35c5c25a40/02aff074-112c-4e03-aa93-454d88dd8f6f-2FErik-Perez_268497_LeftFullBodyImage.png"
        },
        "headImage": {
          "title": "eric perez temp ",
          "height": 325,
          "width": 500,
          "url": "https://images.ctfassets.net/4jrjxv6ydu11/4Jej1flJbWFwxslPL9JWRV/2f127d8ea15ddd508802e5060a545ec5/PEREZ_ERIK.png"
        },
        "fullName": "Erik Perez",
        "slug": "erik-perez",
        "heightFt": 0,
        "heightIn": 0,
        "heightCms": null,
        "weight": 0,
        "weightKgs": null,
        "armReachCms": null,
        "legReachCms": null,
        "countryCode": null
      },
      "blueFighter": {
        "fightStyle": "WADO-RYU",
        "id": "58nglYcrondvbo2nvoPAQT",
        "bodyImage": {
          "title": "profile-eoghan-chelmiah",
          "height": 320,
          "width": 320,
          "url": "https://images.ctfassets.net/4jrjxv6ydu11/2E7rHfbQjeWREPpUfAf8rY/909c90e4088e94e2fe9625ef7ee12e8d/profile-eoghan-chelmiah.png"
        },
        "headImage": {
          "title": "eoghan-chelmiah-head-image",
          "height": 400,
          "width": 400,
          "url": "https://images.ctfassets.net/4jrjxv6ydu11/22e5VECcXzDQmSJDNPOOuB/2dc317df241c6d6a15a78bf16022847c/eoghan-chelmiah-head-image.png"
        },
        "fullName": "Eoghan Chelmiah",
        "slug": "eoghan-chelmiah",
        "heightFt": 0,
        "heightIn": 0,
        "heightCms": null,
        "weight": 0,
        "weightKgs": null,
        "armReachCms": null,
        "legReachCms": null,
        "countryCode": null
      },
      "weightClass": "Bantamweight",
      "id": "t6g3RUrR3BaFWOnSiuLv8",
      "fightId": "eric-goyito-perez-vs-eoghan-chelmiah",
      "isMain": true,
      "isTitle": false
    }
    ...
  ]
}

GET fight event by Slug

Slug is an identifier we're using on our website, and you can find all events here.

GET /api/fight-events/slug/{slug}

Example

curl -X 'GET' \
  'https://public-api.karate.com/api/fight-events/slug/kc44' \
  -H 'accept: application/json'

Fighters

GET all fighters

Filtering and Pagination
KeyTypeDescription
skipintUsed for pagination, amount of events to skip
limitintThe amount of fight events returned
isChampionbooleanFilter out only current champions
categorystringCategory types: KARATE COMBAT, KICKBACK, IFC, PIT SUBMISSION, KUMITE, INACTIVE
sortstringSorted by properties with order ASC or DESC. Examples: dateOfBirth_DESC, fullName_ASC
namestringQuery for searching by name or last name
weightClassstringQuery for searching by weight class

GET /api/fighters

Fighters schema

KeyTypeDescription
armReachNumberThe arm reach of the fighter in inches
biographyStringA brief introduction of the fighter's background and achievements
championBooleanA flag indicating whether the fighter is the current champion of their weight class
countryStringThe name of the country that the fighter represents
dateOfBirthDateThe date of birth of the fighter in ISO 8601 format
discordString or nullThe URL of the fighter's discord channel, if any
facebookStringThe URL of the fighter's facebook page
fightStyleStringThe name of the karate style that the fighter practices
highlightVideoVideo assetA video asset that contains the name, slug, YouTube URL and thumbnail URL of the fighter's highlight video
instagramStringThe URL of the fighter's instagram account
legReachNumberThe leg reach of the fighter in inches
raisedHandImagePhoto assetA photo asset that contains the title, height, width and URL of the fighter's image with a raised hand
rankingNumber or nullThe official ranking of the fighter in their weight class, if any
telegramString or nullThe URL of the fighter's telegram channel, if any
twitterStringThe URL of the fighter's twitter account
weightClassStringThe name of the weight class that the fighter belongs to
youTubeString or nullThe URL of the fighter's YouTube channel, if any
idStringThe unique identifier of the fighter
categoryArray of stringsThe categories that the fighter is associated with
bodyImagePhoto assetA photo asset that contains the title, height, width and URL of the fighter's body image
headImagePhoto assetA photo asset that contains the title, height, width and URL of the fighter's head image
ageNumberThe age of the fighter in years
fullNameStringThe full name of the fighter
slugStringThe slug of the fighter's profile page
nicknameStringThe nickname of the fighter
heightFtNumberThe height of the fighter in feet
heightInNumberThe height of the fighter in inches
heightCmsNumberThe height of the fighter in centimeters
weightNumberThe weight of the fighter in pounds
weightKgsNumberThe weight of the fighter in kilograms
armReachCmsNumberThe arm reach of the fighter in centimeters
legReachCmsNumberThe leg reach of the fighter in centimeters
countryCodeStringThe ISO 3166-1 alpha-2 code of the country that the fighter represents
StatsStats SchemaStats schema object that can be obtained separately
HistoryHistory SchemaHistory schema array that can be obtained separately
walletAddressstringFighter wallet address on ETH

GET fighter history

This endpoint provides detailed information about individual fights, including participants, event context, outcome, and a link to the fight's highlight video if available.

GET /api/fighters/{id}/history

ID that should be used to obtain this data, is the ID from the CMS we are using. Don't use slug (i.e. luiz-rocha) or wallet address.

curl -X 'GET' \
  'https://public-api.karate.com/api/fighters/2l0roZa1aCMVpCVkwFAABV/history' \
  -H 'accept: application/json'

Fighter History Schema

KeyTypeDescription
blueFighterSlugstringShort identifier used in the blue fighter's profile URL.
eventIdstringUnique identifier for the event.
eventNamestringFull name of the event.
fightDatestringDate of the fight.
idstringUnique identifier for the fight.
redFighterSlugstringShort identifier used in the red fighter's profile URL.
videoVideo AssetA video asset that contains the name, slug, YouTube URL and thumbnail URL of the fight event highlight video.
weightClassstringWeight class of the fight.
winMethodstringMethod of the fight's conclusion (e.g., "KO", "TKO", "Decision").
winnerstringUnique identifier of the fight winner.
blueFighterstringUnique identifier of the blue fighter.
redFighterstringUnique identifier of the red fighter.

GET fighter stats

This endpoint provides detailed fight statistics for a specific fighter. It returns various information about the fighter's career performance, including wins, losses, fight times, strike accuracy, takedowns, and significant strikes. It also provides information about the specific fights used to calculate these statistics.

GET /api/fighters/{id}/stats

ID that should be used to obtain this data, is the ID from the CMS we are using. Don't use slug (i.e. luiz-rocha) or wallet address.

curl -X GET https://public-api.karate.com/api/fighters/2l0roZa1aCMVpCVkwFAABV/stats
  -H accept: application/json

Fighter Stats Schema

KeyTypeDescription
winCountNumberTotal number of wins in the fighter's KC career.
lossCountNumberTotal number of losses in the fighter's KC career.
noContestCountNumberTotal number of no-contest fights in the fighter's KC career.
drawCountNumberTotal number of draw fights in the fighter's KC career.
koWinsNumberNumber of knockout wins in the fighter's KC career.
decisionWinsNumberNumber of decision wins in the fighter's KC career.
incompleteBoutCountNumberNumber of incomplete fights in the data set (might not be the fighter's actual record).
completeBoutCountNumberNumber of complete fights in the data set (might not be the fighter's actual record).
boutsCalculatedCountNumberNumber of fights used for calculating statistics.
boutsCalculatedListStringComma-separated list of fight IDs used for calculating statistics.
timeTotalHMSStringTotal fight time in hours, minutes, and seconds (e.g., "0:21:09").
timeTotalMinutesStringTotal fight time in minutes (e.g., "21:9").
timeTotalSecondsNumberTotal fight time in seconds (e.g., 1269).
strikesLandedNumberTotal number of strikes landed by the fighter.
strikesAccuracyStringPercentage of strikes landed by the fighter (e.g., "54.1%").
strikesTotalNumberTotal number of strikes attempted by the fighter.
strikesHeadAccuracyStringPercentage of strikes landed to the head by the fighter (e.g., "49.4%").
strikesBodyAccuracyStringPercentage of strikes landed to the body by the fighter (e.g., "65.6%").
strikesLegsAccuracyStringPercentage of strikes landed to the legs by the fighter (e.g., "76.5%").
absorbedStrikesPerMatchNumberAverage number of strikes absorbed per fight.
takedownLandedNumberTotal number of takedowns landed by the fighter.
takedownAttemptNumberTotal number of takedown attempts by the fighter.
takedownAccuracyStringPercentage of successful takedowns (e.g., "57.1%").
criticalNumberTotal number of significant strikes landed by the fighter.
criticalBodyNumberNumber of significant strikes landed to the body by the fighter.
criticalHeadNumberNumber of significant strikes landed to the head by the fighter.
criticalLegNumberNumber of significant strikes landed to the legs by the fighter.
criticalAccuracyStringPercentage of significant strikes landed by the fighter (e.g., "0.58%").
powerLandedNumberTotal number of power strikes landed by the fighter.
powerTotalNumberTotal number of power strikes attempted by the fighter.
powerAccuracyStringPercentage of power strikes landed by the fighter (e.g., "66.3%").
powerBodyNumberNumber of power strikes landed to the body by the fighter.
powerHeadNumberNumber of power strikes landed to the head by the fighter.
powerLegNumberNumber of power strikes landed to the legs by the fighter.

GET fighter by slug

All of the following endpoints are returning the fighter details, described in fighters schema

Slug is an identifier we're using on our website, and you can find all fighters here.

GET /api/fighters/slug/{slug}

Example

curl -X 'GET' \
  'https://public-api.karate.com/api/fighters/slug/rafael-aghayev' \
  -H 'accept: application/json'

GET fighter by id

You can use this endpoint to obtain the details about one particular karate combat fighter.

GET /api/fighters/{id}

Example

curl -X 'GET' \
  'https://public-api.karate.com/api/fighters/58nglYcrondvbo2nvoPAQT' \
  -H 'accept: application/json'

GET fighter by wallet address

Fighters that were fighting in Up Only Gaming are available for retrieval by their ETH wallet address

GET /api/fighters/address/{walletAddress}

Example

curl -X 'GET' \
  'https://public-api.karate.com/api/address/0x5467A853186B8E271C8A0434F135670f1752A112' \
  -H 'accept: application/json'

Fights

GET /api/fights/{id}

curl -X 'GET' \
  'https://public-api.karate.com/api/fights/326O8L3AO7NfJplr5UzcwK' \
  -H 'accept: application/json'
KeyTypeDescription
redFighterIdstringUnique identifier of the red fighter e.g. 6RLDgXcHvj4eOm7pydgGtZ
blueFighterIdstringUnique identifier of the blue fighter e.g. 2n1BirqXJminpA5UpOegpo
winStatusstringtKoWinLeft, tKoWinRight, koWinLeft, koWinRight, noContest,technicalDraw,winLeft,winRight
idstringUnique identifier of the fight e.g. 7J6ZlaOY5DDOHqNBYunu7h
idstringUnique identifier of the fight event e.g. 326O8L3AO7NfJplr5UzcwK
winnerstringUnique identifier of the winning fighter e.g. 2n1BirqXJminpA5UpOegpo

Countries

GET /api/countries

curl -X 'GET' \
  'https://public-api.karate.com/api/countries' \
  -H 'accept: application/json'
[{
    "code": "string",
    "name": "string"
}]

Weight Classes

GET /api/weight-classes

curl -X 'GET' \
  'https://public-api.karate.com/api/weight-classes' \
  -H 'accept: application/json'
[{
    "name": "string",
    "label": "string"
}]