Docs/API Reference/RAF Wrestling API

RAF Wrestling API

Real American Freestyle, the pro freestyle wrestling league, as clean JSON: every event and bout with per-period scores, takedowns and win methods, athlete records, head-to-heads, champions, and results as they post on fight night. New to it? Start with the RAF wrestling API overview.

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

Every bout, scored period by period

Each completed bout carries the winner, the win method (decision, tech fall, pin or injury), the final score and each wrestler's takedowns, plus the score of every period. Results are checked against a second source, and corrections are kept with their evidence.

GET /api/v1/raf/bouts/raf13--belal-muhammad--colby-covington/periods

What RAF data is available?

Every RAF event since the league's first card in 2025, flagship numbered cards and international events
Every bout with winner, win method (decision, tech fall, pin, injury), final score and takedowns per side
Per-period scores for both wrestlers, and finish times where an official source lists them
200+ athlete profiles: record, age, club, hometown, country, and an official headshot with its credit
Head-to-head records between any two wrestlers
Weight divisions, current champions, and title histories
Fight cards in running order, including card changes (moved, replaced or removed bouts)
Results posted bout by bout on fight night, polled every 90 seconds while a card is running

Results pages

Event results with method, score and takedowns for every bout, and per-period scores for bout detail screens.

Athlete profiles

Records, career stats by win method, bout history and official headshots for every wrestler on the roster.

Matchup previews

Head-to-head records and both athletes' recent form ahead of the next card.

Title histories

Current champions per division and the history of every title.

Fight night

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

From the next card to a result

1Find the next card
GET /raf/events/upcoming
2Load its fight card
GET /raf/events/raf14/bouts
3Follow fight night
GET /raf/live/events/raf14
4Open a result
GET /raf/bouts/raf13--belal-muhammad--colby-covington
5Show the periods
GET /raf/bouts/raf13--belal-muhammad--colby-covington/periods
6Profile the winner
GET /raf/athletes/colby-covington

League & search

GET/api/v1/raf
RafLeague overview: counts, next and last event, current champions.

Summary

League overview: counts, next and last event, current champions.

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

Summary

Search athletes and events by name.

REST
Bash
curl "https://api.citoapi.com/api/v1/raf/search?q=snyder" \
  -H "x-api-key: YOUR_API_KEY"
GET/api/v1/raf/rules
RulesThe RAF ruleset: periods, scoring actions, tech-fall margin, tiebreak, win methods.

Summary

The RAF ruleset: periods, scoring actions, tech-fall margin, tiebreak, win methods.

REST
Bash
curl "https://api.citoapi.com/api/v1/raf/rules" \
  -H "x-api-key: YOUR_API_KEY"
GET/api/v1/raf/coverage
CoverageWhich fields each event carries (scores, takedowns, finish times).

Summary

Which fields each event carries (scores, takedowns, finish times).

REST
Bash
curl "https://api.citoapi.com/api/v1/raf/coverage" \
  -H "x-api-key: YOUR_API_KEY"
GET/api/v1/raf/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/raf/sync/status" \
  -H "x-api-key: YOUR_API_KEY"

Events & fight cards

GET/api/v1/raf/events
List EventsEvery event, newest first: flagship numbered cards and international events.

Summary

Every event, newest first: flagship numbered cards and international events.

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

Summary

Scheduled cards with date, local start time, venue and main event.

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

Summary

Most recent completed cards.

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

Summary

One event: date, venue, status and bout counts (slug e.g. raf13).

REST
Bash
curl "https://api.citoapi.com/api/v1/raf/events/{slug}" \
  -H "x-api-key: YOUR_API_KEY"
GET/api/v1/raf/events/{slug}/bouts
Event BoutsThe fight card in running order, main event first.

Summary

The fight card in running order, main event first.

REST
Bash
curl "https://api.citoapi.com/api/v1/raf/events/{slug}/bouts" \
  -H "x-api-key: YOUR_API_KEY"
GET/api/v1/raf/events/{slug}/results
ResultsResults for every bout on the card: winner, method, score, takedowns.

Summary

Results for every bout on the card: winner, method, score, takedowns.

REST
Bash
curl "https://api.citoapi.com/api/v1/raf/events/{slug}/results" \
  -H "x-api-key: YOUR_API_KEY"
GET/api/v1/raf/events/{slug}/changes
ChangesCard changes: bouts moved, opponents replaced, bouts removed.

Summary

Card changes: bouts moved, opponents replaced, bouts removed.

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

Bouts

GET/api/v1/raf/bouts?athlete=kyle-snyder
Event BoutsQuery bouts by athlete, event, division or status.

Summary

Query bouts by athlete, event, division or status.

REST
Bash
curl "https://api.citoapi.com/api/v1/raf/bouts?athlete=kyle-snyder" \
  -H "x-api-key: YOUR_API_KEY"
GET/api/v1/raf/bouts/{boutId}
BoutIdFull bout detail: both athletes, result, win method, score, takedowns, title stakes.

Summary

Full bout detail: both athletes, result, win method, score, takedowns, title stakes.

REST
Bash
curl "https://api.citoapi.com/api/v1/raf/bouts/{boutId}" \
  -H "x-api-key: YOUR_API_KEY"
GET/api/v1/raf/bouts/{boutId}/periods
PeriodsPer-period scores for both wrestlers.

Summary

Per-period scores for both wrestlers.

REST
Bash
curl "https://api.citoapi.com/api/v1/raf/bouts/{boutId}/periods" \
  -H "x-api-key: YOUR_API_KEY"
GET/api/v1/raf/bouts/{boutId}/stats
BoutId StatsBout statistics: points and takedowns per side. Starter plan and above.

Summary

Bout statistics: points and takedowns per side. Starter plan and above.

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

Athletes & head-to-head

GET/api/v1/raf/athletes
AthletesEvery athlete with record, division and country.

Summary

Every athlete with record, division and country.

REST
Bash
curl "https://api.citoapi.com/api/v1/raf/athletes" \
  -H "x-api-key: YOUR_API_KEY"
GET/api/v1/raf/athletes/{slug}
SlugAthlete profile: record, age, club, hometown, official headshot.

Summary

Athlete profile: record, age, club, hometown, official headshot.

REST
Bash
curl "https://api.citoapi.com/api/v1/raf/athletes/{slug}" \
  -H "x-api-key: YOUR_API_KEY"
GET/api/v1/raf/athletes/{slug}/bouts
Event BoutsAn athlete's complete RAF bout history, newest first.

Summary

An athlete's complete RAF bout history, newest first.

REST
Bash
curl "https://api.citoapi.com/api/v1/raf/athletes/{slug}/bouts" \
  -H "x-api-key: YOUR_API_KEY"
GET/api/v1/raf/athletes/{slug}/stats
Slug StatsCareer stats: wins by method, points for and against, takedowns, points by period, streak. Starter plan and above.

Summary

Career stats: wins by method, points for and against, takedowns, points by period, streak. Starter plan and above.

REST
Bash
curl "https://api.citoapi.com/api/v1/raf/athletes/{slug}/stats" \
  -H "x-api-key: YOUR_API_KEY"
GET/api/v1/raf/h2h?athlete1=…&athlete2=…
H2hHead-to-head between two wrestlers.

Summary

Head-to-head between two wrestlers.

REST
Bash
curl "https://api.citoapi.com/api/v1/raf/h2h?athlete1=…&athlete2=…" \
  -H "x-api-key: YOUR_API_KEY"
GET/api/v1/raf/athletes/{slug}/h2h/{opponent}
OpponentPath form of head-to-head.

Summary

Path form of head-to-head.

REST
Bash
curl "https://api.citoapi.com/api/v1/raf/athletes/{slug}/h2h/{opponent}" \
  -H "x-api-key: YOUR_API_KEY"

Divisions & titles

GET/api/v1/raf/divisions
DivisionsWeight divisions with their limits.

Summary

Weight divisions with their limits.

REST
Bash
curl "https://api.citoapi.com/api/v1/raf/divisions" \
  -H "x-api-key: YOUR_API_KEY"
GET/api/v1/raf/divisions/{division}
DivisionOne division: champion and athletes.

Summary

One division: champion and athletes.

REST
Bash
curl "https://api.citoapi.com/api/v1/raf/divisions/{division}" \
  -H "x-api-key: YOUR_API_KEY"
GET/api/v1/raf/champions
ChampionsCurrent champion of every title, or vacant.

Summary

Current champion of every title, or vacant.

REST
Bash
curl "https://api.citoapi.com/api/v1/raf/champions" \
  -H "x-api-key: YOUR_API_KEY"
GET/api/v1/raf/titles/{titleKey}
TitleKeyOne title's history (titleKey e.g. men-heavyweight).

Summary

One title's history (titleKey e.g. men-heavyweight).

REST
Bash
curl "https://api.citoapi.com/api/v1/raf/titles/{titleKey}" \
  -H "x-api-key: YOUR_API_KEY"

Fight night

GET/api/v1/raf/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/raf/live" \
  -H "x-api-key: YOUR_API_KEY"
GET/api/v1/raf/live/events/{slug}
SlugThe running card for one event.

Summary

The running card for one event.

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

Summary

The latest state of one bout.

REST
Bash
curl "https://api.citoapi.com/api/v1/raf/live/{boutId}" \
  -H "x-api-key: YOUR_API_KEY"
GET/api/v1/raf/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/raf/live/stream" \
  -H "x-api-key: YOUR_API_KEY"
GET/api/v1/raf/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/raf/live/health" \
  -H "x-api-key: YOUR_API_KEY"

Bout example

curl "https://api.citoapi.com/api/v1/raf/bouts/raf13--belal-muhammad--colby-covington" \
  -H "x-api-key: YOUR_API_KEY"

{
  "boutId": "raf13--belal-muhammad--colby-covington",
  "event": { "slug": "raf13", "name": "RAF 13", "date": "2026-09-18" },
  "slot": "MAIN EVENT",
  "weightClass": { "label": "Cruiserweight Crossover", "crossover": true },
  "status": "completed",
  "athletes": [
    { "slug": "colby-covington", "name": "Colby Covington", "score": 10, "takedowns": 2, "result": "win" },
    { "slug": "belal-muhammad",  "name": "Belal Muhammad",  "score": 0,  "takedowns": 0, "result": "loss" }
  ]
}

Headshots are official RAF images. Each one carries its credit (© Real American Freestyle) in the payload: show it wherever the image appears.

Good to know

  • Fight night data is results as each bout finishes, not point-by-point scoring during a bout. No public source publishes in-bout scoring for RAF.
  • A few bouts have a final score but no finish time or no per-period breakdown, because no official source lists them. Those fields come back null rather than a guess. /raf/coverage shows what each event carries.
  • Aliases are accepted: /raf/fights, /raf/matches, /raf/wrestlers and /raf/fighters map to bouts and athletes.
  • OpenAPI spec: api.citoapi.com/api/v1/openapi.json

Start with a free key

Every RAF endpoint except the two stats endpoints works on the free plan, with 500 requests a month. Starter ($15/month) adds career and bout stats with 10,000 requests, with RAF as your included game.