BKFC API

Bare Knuckle Fighting Championship as clean JSON: every event since 2018, results with method, round and time, round-by-round punch stats, fighter records, official rankings, champions, and results as they post on fight night. New to it? Start with the BKFC API overview.

BASEhttps://api.citoapi.com/api/v1
BKFC API RootAppend any endpoint path below.

Punch stats for every bout since BKFC 1

Every completed bout carries punches landed and thrown for both corners, split by head and body, distance and clinch, with knockdowns, round by round. That is the full official stat record back to the first BKFC card in 2018, not just recent events.

GET /api/v1/bkfc/bouts/bkfc-fight-night-bethlehem--gregoris-cisneros--ryan-petersen/rounds

What BKFC data is available?

Every BKFC event since BKFC 1 in 2018: 175 cards, numbered events, Fight Nights, Prospects and international shows
1,760+ completed bouts with winner, method (KO, TKO, decision, DQ and more), round, time and scheduled rounds
Round-by-round punch stats for every completed bout: landed and thrown, head and body, distance and clinch, knockdowns
1,600+ fighter profiles with records, nicknames, rankings and official headshots where BKFC publishes them
Official rankings for every men's and women's division, current champions and interim champions
Head-to-head records between any two fighters
Fight cards in running order, including card changes and corrections
Results posted bout by bout on fight night, checked every 60 seconds while a card is running

Results pages

Event results with method, round and time for every bout, and punch totals for both corners.

Stat dashboards

Round-by-round punch breakdowns and career accuracy for fighter pages and fight analysis.

Fighter profiles

Records, rankings, fight histories and official headshots across 1,600+ fighters.

Rankings pages

Official rankings per division, champions and interim champions.

Matchup previews

Head-to-head records and both fighters' recent results before the next card.

Fight night

Card status and results as each bout finishes, by polling /bkfc/live or holding the /bkfc/live/stream SSE connection open.

From the next card to a result

1Find the next card
GET /bkfc/events/upcoming
2Load its fight card
GET /bkfc/events/bkfc-95-newark/bouts
3Follow fight night
GET /bkfc/live
4Open a result
GET /bkfc/bouts/bkfc-fight-night-bethlehem--gregoris-cisneros--ryan-petersen
5Break it down by round
GET /bkfc/bouts/bkfc-fight-night-bethlehem--gregoris-cisneros--ryan-petersen/rounds
6Profile the winner
GET /bkfc/fighters/ryan-petersen

Promotion & search

GET/api/v1/bkfc
BkfcPromotion overview: counts, next event, current champions.

Summary

Promotion overview: counts, next event, current champions.

REST
Bash
curl "https://api.citoapi.com/api/v1/bkfc" \
  -H "x-api-key: YOUR_API_KEY"
GET/api/v1/bkfc/search?q=arlovski
SearchSearch fighters and events by name.

Summary

Search fighters and events by name.

REST
Bash
curl "https://api.citoapi.com/api/v1/bkfc/search?q=arlovski" \
  -H "x-api-key: YOUR_API_KEY"
GET/api/v1/bkfc/sync/status
StatusData freshness: when each source was last read.

Summary

Data freshness: when each source was last read.

REST
Bash
curl "https://api.citoapi.com/api/v1/bkfc/sync/status" \
  -H "x-api-key: YOUR_API_KEY"

Events & fight cards

GET/api/v1/bkfc/events
List EventsEvery event since BKFC 1 (2018), newest first: numbered cards, Fight Nights, Prospects and international events.

Summary

Every event since BKFC 1 (2018), newest first: numbered cards, Fight Nights, Prospects and international events.

REST
Bash
curl "https://api.citoapi.com/api/v1/bkfc/events" \
  -H "x-api-key: YOUR_API_KEY"
GET/api/v1/bkfc/events/upcoming
Upcoming ScheduleScheduled cards with date, local start time, venue and bout count.

Summary

Scheduled cards with date, local start time, venue and bout count.

REST
Bash
curl "https://api.citoapi.com/api/v1/bkfc/events/upcoming" \
  -H "x-api-key: YOUR_API_KEY"
GET/api/v1/bkfc/events/recent
Recent MatchesMost recent completed cards.

Summary

Most recent completed cards.

REST
Bash
curl "https://api.citoapi.com/api/v1/bkfc/events/recent" \
  -H "x-api-key: YOUR_API_KEY"
GET/api/v1/bkfc/events/{slug}
SlugOne event: date, venue, status (slug e.g. bkfc-95-newark).

Summary

One event: date, venue, status (slug e.g. bkfc-95-newark).

REST
Bash
curl "https://api.citoapi.com/api/v1/bkfc/events/{slug}" \
  -H "x-api-key: YOUR_API_KEY"
GET/api/v1/bkfc/events/{slug}/bouts
Event BoutsThe fight card in running order with results and punch totals.

Summary

The fight card in running order with results and punch totals.

REST
Bash
curl "https://api.citoapi.com/api/v1/bkfc/events/{slug}/bouts" \
  -H "x-api-key: YOUR_API_KEY"
GET/api/v1/bkfc/events/{slug}/changes
ChangesCard changes: bouts added, cancelled or moved, results and finish times corrected.

Summary

Card changes: bouts added, cancelled or moved, results and finish times corrected.

REST
Bash
curl "https://api.citoapi.com/api/v1/bkfc/events/{slug}/changes" \
  -H "x-api-key: YOUR_API_KEY"

Bouts & punch stats

GET/api/v1/bkfc/bouts?fighter=ryan-petersen
Event BoutsQuery bouts by fighter, event, division or status.

Summary

Query bouts by fighter, event, division or status.

REST
Bash
curl "https://api.citoapi.com/api/v1/bkfc/bouts?fighter=ryan-petersen" \
  -H "x-api-key: YOUR_API_KEY"
GET/api/v1/bkfc/bouts/{boutId}
BoutIdFull bout: winner, method, round, time, scheduled rounds, red and blue corners with punch totals.

Summary

Full bout: winner, method, round, time, scheduled rounds, red and blue corners with punch totals.

REST
Bash
curl "https://api.citoapi.com/api/v1/bkfc/bouts/{boutId}" \
  -H "x-api-key: YOUR_API_KEY"
GET/api/v1/bkfc/bouts/{boutId}/rounds
Bout RoundsRound-by-round punch stats per corner: landed and thrown, head and body, distance and clinch, knockdowns. Starter plan and above.

Summary

Round-by-round punch stats per corner: landed and thrown, head and body, distance and clinch, knockdowns. Starter plan and above.

REST
Bash
curl "https://api.citoapi.com/api/v1/bkfc/bouts/{boutId}/rounds" \
  -H "x-api-key: YOUR_API_KEY"

Fighters & head-to-head

GET/api/v1/bkfc/fighters
List FightersEvery fighter with record and division.

Summary

Every fighter with record and division.

REST
Bash
curl "https://api.citoapi.com/api/v1/bkfc/fighters" \
  -H "x-api-key: YOUR_API_KEY"
GET/api/v1/bkfc/fighters/{slug}
SlugFighter profile: record, nickname, ranking, official headshot where BKFC publishes one.

Summary

Fighter profile: record, nickname, ranking, official headshot where BKFC publishes one.

REST
Bash
curl "https://api.citoapi.com/api/v1/bkfc/fighters/{slug}" \
  -H "x-api-key: YOUR_API_KEY"
GET/api/v1/bkfc/fighters/{slug}/fights
FightsComplete BKFC fight history, newest first.

Summary

Complete BKFC fight history, newest first.

REST
Bash
curl "https://api.citoapi.com/api/v1/bkfc/fighters/{slug}/fights" \
  -H "x-api-key: YOUR_API_KEY"
GET/api/v1/bkfc/fighters/{slug}/stats
Slug StatsCareer punch stats: landed and thrown, accuracy, knockdowns, by target and position. Starter plan and above.

Summary

Career punch stats: landed and thrown, accuracy, knockdowns, by target and position. Starter plan and above.

REST
Bash
curl "https://api.citoapi.com/api/v1/bkfc/fighters/{slug}/stats" \
  -H "x-api-key: YOUR_API_KEY"
GET/api/v1/bkfc/h2h?fighter1=…&fighter2=…
H2hHead-to-head between two fighters (slugs or names).

Summary

Head-to-head between two fighters (slugs or names).

REST
Bash
curl "https://api.citoapi.com/api/v1/bkfc/h2h?fighter1=…&fighter2=…" \
  -H "x-api-key: YOUR_API_KEY"

Rankings, divisions & champions

GET/api/v1/bkfc/rankings
RankingsOfficial BKFC rankings for every division, with the champion.

Summary

Official BKFC rankings for every division, with the champion.

REST
Bash
curl "https://api.citoapi.com/api/v1/bkfc/rankings" \
  -H "x-api-key: YOUR_API_KEY"
GET/api/v1/bkfc/rankings/{division}
DivisionOne division's rankings (division e.g. heavyweight, womens-flyweight).

Summary

One division's rankings (division e.g. heavyweight, womens-flyweight).

REST
Bash
curl "https://api.citoapi.com/api/v1/bkfc/rankings/{division}" \
  -H "x-api-key: YOUR_API_KEY"
GET/api/v1/bkfc/champions
ChampionsCurrent champion and interim champion of every division.

Summary

Current champion and interim champion of every division.

REST
Bash
curl "https://api.citoapi.com/api/v1/bkfc/champions" \
  -H "x-api-key: YOUR_API_KEY"
GET/api/v1/bkfc/divisions
DivisionsAll divisions, men's and women's.

Summary

All divisions, men's and women's.

REST
Bash
curl "https://api.citoapi.com/api/v1/bkfc/divisions" \
  -H "x-api-key: YOUR_API_KEY"

Fight night

GET/api/v1/bkfc/live
Live MatchesCards in progress, with each bout's status and result as it posts.

Summary

Cards in progress, with each bout's status and result as it posts.

REST
Bash
curl "https://api.citoapi.com/api/v1/bkfc/live" \
  -H "x-api-key: YOUR_API_KEY"
GET/api/v1/bkfc/live/{boutId}
BoutIdThe latest state of one bout.

Summary

The latest state of one bout.

REST
Bash
curl "https://api.citoapi.com/api/v1/bkfc/live/{boutId}" \
  -H "x-api-key: YOUR_API_KEY"
GET/api/v1/bkfc/live/stream
StreamServer-sent events: a message whenever a bout's status or result changes.

Summary

Server-sent events: a message whenever a bout's status or result changes.

REST
Bash
curl "https://api.citoapi.com/api/v1/bkfc/live/stream" \
  -H "x-api-key: YOUR_API_KEY"
GET/api/v1/bkfc/live/health
HealthWhether the fight-night pipeline is running and how fresh it is.

Summary

Whether the fight-night pipeline is running and how fresh it is.

REST
Bash
curl "https://api.citoapi.com/api/v1/bkfc/live/health" \
  -H "x-api-key: YOUR_API_KEY"

Bout example

curl "https://api.citoapi.com/api/v1/bkfc/bouts/bkfc-fight-night-bethlehem--gregoris-cisneros--ryan-petersen" \
  -H "x-api-key: YOUR_API_KEY"

{
  "boutId": "bkfc-fight-night-bethlehem--gregoris-cisneros--ryan-petersen",
  "slot": "Main event",
  "weightClass": { "label": "Welterweight" },
  "scheduledRounds": 6,
  "status": "completed",
  "winner": { "slug": "ryan-petersen", "name": "Ryan Petersen" },
  "result": { "method": "tko", "methodText": "TKO", "round": 1, "time": "1:59" },
  "fighters": [
    { "corner": "red", "slug": "ryan-petersen", "result": "win",
      "totals": { "landed": 31, "thrown": 52, "knockdowns": 1, "accuracyPct": 59.6 } },
    { "corner": "blue", "slug": "gregoris-cisneros", "result": "loss",
      "totals": { "landed": 48, "thrown": 68, "knockdowns": 0, "accuracyPct": 70.6 } }
  ]
}

Headshots are official BKFC images. Each one carries its credit (© Bare Knuckle Fighting Championship (BKFC)) in the payload: show it wherever the image appears.

Good to know

  • Fight night data is results as each bout finishes. Punch stats arrive with the official result, not punch by punch during a round.
  • BKFC publishes a headshot for about 40% of fighters. The rest come back with headshot: null rather than someone else's photo.
  • Add every BKFC card to a calendar: api.citoapi.com/api/v1/public/calendars/bkfc.ics
  • Aliases are accepted: /bkfc/athletes maps to fighters and /bkfc/fight-cards to events. OpenAPI spec: api.citoapi.com/api/v1/openapi.json

Start with a free key

Every BKFC endpoint except career stats and round-by-round stats works on the free plan, with 500 requests a month. Starter ($15/month) adds those with 10,000 requests, with BKFC as your included game.