UFC API: Get fighter profile
Finds a UFC fighter by name or nickname and returns their profile: record, ranking, physical details, win methods and fight statistics. Missing profile values are null.
Unofficial. Not affiliated with or endorsed by UFC.
Inputs
Values from the run on Oct 26, 2026, shown under Output.
- Fighter, required
fighter Fighter name or nickname, for example Jon Jones or Bones.
The Eagle
Input as JSON
{ "fighter": "The Eagle"}Output
{ "age": 34, "name": "Khabib Nurmagomedov", "wins": 29, "draws": 0, "height": "5 ft 10 in", "losses": 0, "record": "29-0-0", "status": "retired", "division": "Lightweight", "hometown": "Dagestan Republic, Russia", "nickname": "The Eagle", "ufc_link": "https://www.ufc.com/athlete/khabib-nurmagomedov" , "reach_inches": 70, "weight_pounds": 155, "fighting_style": null, "current_ranking": null, "photo_image_link": "https://ufc.com/images/styles/athlete_bio_full_body/s3/image/fighter_images/Khabib_Nurmagomedov/1NURMAGOMEDOV_KHABIB_L.png?itok=CcyXygi6" , "wins_by_decision": 10, "wins_by_knockout": 8, "wins_by_submission": 11, "takedowns_per_15_minutes": 5.32, "striking_accuracy_percent": 49, "significant_strikes_landed_per_minute": 4.1}Code
curl https://api.fous.com/v1/runs \ -H "Authorization: Bearer $FOUS_API_KEY" \ -H "Content-Type: application/json" \ -d '{"method":"ufc.com/get_fighter","input":{"fighter":"The Eagle"}}' # Save as fous.py, then run: python3 fous.pyimport json, os, timefrom urllib.error import HTTPErrorfrom urllib.request import Request, urlopenAPI = "https://api.fous.com/v1/runs" KEY = os.environ["FOUS_API_KEY"]HEADERS = { "Authorization": f"Bearer {KEY}", "Content-Type": "application/json" ,}def call(url, body=None): data = json.dumps(body).encode() if body else None request = Request(url, data, HEADERS) try: with urlopen(request, timeout=120) as r: return r.status, json.load(r) except HTTPError as error: message = json.load(error)["error"]["message"] raise RuntimeError(message) from errorstatus, run = call(API, { "method": "ufc.com/get_fighter" , "input": { "fighter": "The Eagle" }})# 202: still going after 30 s. Ask again until it ends.while status == 202: time.sleep(2) status, run = call(f"{API}/{run['id']}")print(json.dumps(run["data"], indent=2))// Save as fous.mjs, then run: node fous.mjsconst api = "https://api.fous.com/v1/runs" ;const headers = { Authorization: `Bearer ${process.env.FOUS_API_KEY}`, "Content-Type": "application/json" ,};let response = await fetch(api, { method: "POST", headers, body: JSON.stringify({ "method": "ufc.com/get_fighter" , "input": { "fighter": "The Eagle" } }), signal: AbortSignal.timeout(120_000),});let run = await response.json();// 202: still going after 30 s. Ask again until it ends.while (response.status === 202) { await new Promise((done) => setTimeout(done, 2_000)); response = await fetch(`${api}/${run.id}`, { headers }); run = await response.json();}if (!response.ok) throw new Error(run.error.message);console.log(run.data);# Connect your agent to Fous once, over MCP (Streamable HTTP):# https://api.fous.com/mcp# Set FOUS_API_KEY first: create a key at https://app.fous.com/keys.# Claude Codeclaude mcp add \ --scope user \ --transport http fous https://api.fous.com/mcp \ --header "Authorization: Bearer ${FOUS_API_KEY:?Set FOUS_API_KEY to your Fous API key}"# Codexcodex mcp add fous \ --url https://api.fous.com/mcp \ --bearer-token-env-var FOUS_API_KEY# Cursor, VS Code, Windsurf, Cline and morenpx -y add-mcp https://api.fous.com/mcp -g -n fous \ --header "Authorization: Bearer ${FOUS_API_KEY:?Set FOUS_API_KEY to your Fous API key}"# Then ask your agent:# "Use Fous to run ufc.com/get_fighter# with {"fighter":"The Eagle"}"Over HTTP, the answer’s data holds the output. A run still going after 30 seconds answers 202 with its id: ask GET /v1/runs/{id} until it ends.
Schema
Input schema
{ "type": "object", "required": [ "fighter" ], "properties": { "fighter": { "type": "string", "minLength": 1, "description": "Fighter name or nickname, for example Jon Jones or Bones." } }}Output schema
{ "type": "object", "required": [ "name", "nickname", "division", "current_ranking", "record", "wins", "losses", "draws", "status", "age", "height", "weight_pounds", "reach_inches", "fighting_style", "hometown", "wins_by_knockout", "wins_by_submission", "wins_by_decision", "significant_strikes_landed_per_minute", "striking_accuracy_percent", "takedowns_per_15_minutes", "photo_image_link", "ufc_link" ], "properties": { "age": { "type": [ "integer", "null" ] }, "name": { "type": [ "string", "null" ] }, "wins": { "type": [ "integer", "null" ] }, "draws": { "type": [ "integer", "null" ] }, "height": { "type": [ "string", "null" ] }, "losses": { "type": [ "integer", "null" ] }, "record": { "type": [ "string", "null" ] }, "status": { "type": [ "string", "null" ] }, "division": { "type": [ "string", "null" ] }, "hometown": { "type": [ "string", "null" ] }, "nickname": { "type": [ "string", "null" ] }, "ufc_link": { "type": [ "string", "null" ] }, "reach_inches": { "type": [ "number", "null" ] }, "weight_pounds": { "type": [ "number", "null" ] }, "fighting_style": { "type": [ "string", "null" ] }, "current_ranking": { "type": [ "string", "null" ] }, "photo_image_link": { "type": [ "string", "null" ] }, "wins_by_decision": { "type": [ "integer", "null" ] }, "wins_by_knockout": { "type": [ "integer", "null" ] }, "wins_by_submission": { "type": [ "integer", "null" ] }, "takedowns_per_15_minutes": { "type": [ "number", "null" ] }, "striking_accuracy_percent": { "type": [ "integer", "null" ] }, "significant_strikes_landed_per_minute": { "type": [ "number", "null" ] } }}- Price
- 1 credit per completed run (1¢ with pay as you go); failed runs are free.
- Method
ufc.com/get_fighter- Returns
- name, nickname, division, ranking, record, bio, win methods, striking and takedown stats, photo, UFC link
Use it from your agent
Give your agent this line. It reads SKILL.md, gets a Fous API key and connects the Fous MCP server. Its run then takes the method ufc.com/get_fighter with the inputs above.
Ask your agent
- What's Islam Makhachev's current record and ranking?
- Pull up the fighter profile for 'The Notorious' on ufc.com — I want his win methods and striking accuracy.
- How tall is Alex Pereira and what's his reach? Also show his takedown defense stats.
- I need Zhang Weili's bio, division, and how many of her wins came by KO vs submission.
- Look up Sean O'Malley on UFC and give me his significant strikes landed per minute plus a photo link.
See more
All UFC methodsLists upcoming or past UFC events with fight cards, venue, start time and completed bout results, or returns one event by name. Upcoming events come soonest first and past events newest first.
ufc.com/list_eventsLooks up an NBA player by name, including retired players, and returns the bio and regular-season per-game averages for the reported season and career.
nba.com/get_playerFinds a cricketer on Cricbuzz by name, optionally narrowed by country. Returns the profile, current ICC rankings and career statistics.
cricbuzz.com/get_playerGets a Chess.com player's public profile, ratings and game records, best puzzle rating and Puzzle Rush best score from a username or member profile link.
chess.com/get_player_statsLooks up an NHL player by name, link or ID and returns the profile with regular-season stats for a season and career totals.
nhl.com/get_player_statsLooks up a Premier League player by name and returns the profile and either career totals or the stats for a chosen season. If names clash, a current Premier League player is preferred.
premierleague.com/get_player_statsGets a named NFL player's season and career stats, with profile details. Active players are preferred when names match.
nfl.com/get_player_statsGets an AKC dog breed profile by name or common nickname, with measurements, temperament, trait ratings, photo and profile link.
akc.org/get_dog_breed