BKFC punch stats, round by round.
Every punch landed and thrown in every BKFC round since 2018: head and body, distance and clinch, knockdowns and accuracy. Career rates per fighter, ready for models, graphics and stat pages.
- 1,761 bouts with punch stats
- Back to BKFC 1 (2018)
- Starter, $15/mo
{ "success": true, "data": { "boutId": "bkfc-fight-night-bethlehem--gregoris-cisneros--ryan-petersen", "rounds": [ { "round": 1, "red": { "landed": 31, "thrown": 52, "knockdowns": 1, "headLanded": 29, "bodyLanded": 2, "clinchLanded": 4, "accuracyPct": 59.6 }, "blue": { "landed": 48, "thrown": 68, "knockdowns": 0, "headLanded": 39, "bodyLanded": 9, "clinchLanded": 21, "accuracyPct": 70.6 } } ] }}Seamless Integration with our MCP Server
Give Claude, Cursor, and ChatGPT the BKFC card. One command writes the MCP config; agents call combat_card, combat_bout, and combat_athlete with league bkfc instead of guessing bout IDs, and your key stays on your machine.
MCPInstall the Cito MCP serverThe numbers behind every round
What happened in each round of each bout, and what it adds up to over a career. Punch stats are one part of the BKFC API, next to cards, results, fighters and rankings on the same key.
Landed and thrown
Per fighter, per round: punches landed, thrown and missed, with accuracy.
Head and body
Every punch split by target, so body work shows up as its own number.
Distance and clinch
Where the punches landed: at range or in the clinch, crossed with head and body.
Knockdowns
Knockdowns per round, alongside the method, round and time of the finish.
Career rates
Landed and absorbed per bout and per minute, accuracy, and fight time for every fighter.
Bout totals on Free
A finished bout's punch totals come with it on any plan; per-round lines are Starter.
Which punch stats does each round carry?
Each round has one line per corner (red and blue) with these fields. Bout totals use the same fields summed.
| Field | Meaning |
|---|---|
| landed / thrown / missed | All punches |
| headLanded / headThrown | Punches to the head |
| bodyLanded / bodyThrown | Punches to the body |
| distanceLanded / distanceThrown | Punches at range |
| clinchLanded / clinchThrown | Punches in the clinch |
| knockdowns | Knockdowns scored in the round |
| accuracyPct | Landed as a share of thrown |
What do fighter career stats include?
/bkfc/fighters/{slug}/stats returns bouts with stats, wins by method, punches landed and absorbed with per-bout and per-minute rates, accuracy, target and position splits, knockdowns scored and against, and total fight time. Ryan Petersen, for example: 6 bouts, 58.5% accuracy, 13.11 punches landed per minute.
Endpoints you can ship with
Rounds and career stats are in the Bouts and Fighters groups. Everything else is on the free plan.
Events & cards
Every BKFC card since BKFC 1 in 2018, with local start time, time zone and venue, and each card's bouts in running order.
- GET
/api/v1/bkfc/events/upcomingScheduled cards, soonest first, with date, local time, time zone and venue.
- GET
/api/v1/bkfc/events/recentFinished cards, newest first.
- GET
/api/v1/bkfc/events/{slug}One card: name, number, date, location and bout counts.
- GET
/api/v1/bkfc/events/{slug}/boutsThe card in running order: weight class, corners, result and punch totals.
- GET
/api/v1/bkfc/events/{slug}/changesWhat changed on a card: bouts added or cancelled, winners, methods, date moves.
- GET
/api/v1/public/calendars/bkfc.icsEvery scheduled BKFC card as a calendar feed. No key needed.
Bouts & results
Each bout's winner, method, round and time, with red and blue corners, scheduled rounds, and punch totals per fighter.
- GET
/api/v1/bkfc/boutsQuery bouts by event, fighter, division or status.
- GET
/api/v1/bkfc/bouts/{boutId}One bout: corners, result, method, round, time and punch totals.
- GET
/api/v1/bkfc/bouts/{boutId}/roundsStarter: punches landed and thrown per round, head/body, distance/clinch, knockdowns.
Fighters
Fighter profiles with record and headshot where BKFC publishes one, every bout they fought, and career punch stats.
- GET
/api/v1/bkfc/fightersEvery fighter, searchable and paginated.
- GET
/api/v1/bkfc/fighters/{slug}Profile: name, nickname, record, division and official headshot.
- GET
/api/v1/bkfc/fighters/{slug}/fightsEvery BKFC bout a fighter fought, newest first.
- GET
/api/v1/bkfc/fighters/{slug}/statsStarter: career punches landed and absorbed, accuracy, per-minute rates, knockdowns.
- GET
/api/v1/bkfc/h2h?fighter1={slug}&fighter2={slug}Head-to-head record and every meeting between two fighters.
- GET
/api/v1/bkfc/search?q={name}Find fighters and events by name.
Rankings
BKFC's official rankings per division, current and interim champions, and the division list.
- GET
/api/v1/bkfc/rankingsOfficial rankings for every division, with the champion at the top.
- GET
/api/v1/bkfc/rankings/{division}One division's ranking.
- GET
/api/v1/bkfc/championsCurrent and interim champion of every division.
- GET
/api/v1/bkfc/divisionsDivisions with weight limits.
Fight night
On fight night the card is polled every 60 seconds: bout state and results as they are posted, by poll or pushed over SSE.
- GET
/api/v1/bkfc/liveCards in progress with each bout's state.
- GET
/api/v1/bkfc/live/{boutId}One bout on a live card.
- GET
/api/v1/bkfc/live/streamServer-Sent Events push of live card updates.
- GET
/api/v1/bkfc/live/healthLive pipeline health and last update time.
More of the BKFC API
- BKFC APIEvery BKFC card since 2018: results, fighters, rankings and punch stats.
- BKFC results APIWinner, method, round and time for every bout, plus the schedule.
- BKFC API docsEvery BKFC endpoint, its parameters and a real response.
- Cito MCP serverRAF and BKFC tools for Claude, Cursor and other MCP clients.
- Cito API pricingFree, Starter, Pro and Scale plans compared.
Build stat pages
Start on a free key with bout totals, then add Starter for every round.