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.
https://api.citoapi.com/api/v1Every 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/periodsWhat RAF data is available?
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
6 calls, real idsGET /raf/events/upcomingGET /raf/events/raf14/boutsGET /raf/live/events/raf14GET /raf/bouts/raf13--belal-muhammad--colby-covingtonGET /raf/bouts/raf13--belal-muhammad--colby-covington/periodsGET /raf/athletes/colby-covingtonLeague & search
GET/api/v1/rafRafLeague overview: counts, next and last event, current champions.
/api/v1/rafcurl "https://api.citoapi.com/api/v1/raf" \
-H "x-api-key: YOUR_API_KEY"GET/api/v1/raf/search?q=snyderSearchSearch athletes and events by name.
/api/v1/raf/search?q=snydercurl "https://api.citoapi.com/api/v1/raf/search?q=snyder" \
-H "x-api-key: YOUR_API_KEY"GET/api/v1/raf/rulesRulesThe RAF ruleset: periods, scoring actions, tech-fall margin, tiebreak, win methods.
/api/v1/raf/rulescurl "https://api.citoapi.com/api/v1/raf/rules" \
-H "x-api-key: YOUR_API_KEY"GET/api/v1/raf/coverageCoverageWhich fields each event carries (scores, takedowns, finish times).
/api/v1/raf/coveragecurl "https://api.citoapi.com/api/v1/raf/coverage" \
-H "x-api-key: YOUR_API_KEY"GET/api/v1/raf/sync/statusStatusData freshness: when each source was last read.
/api/v1/raf/sync/statuscurl "https://api.citoapi.com/api/v1/raf/sync/status" \
-H "x-api-key: YOUR_API_KEY"Events & fight cards
GET/api/v1/raf/eventsList EventsEvery event, newest first: flagship numbered cards and international events.
/api/v1/raf/eventscurl "https://api.citoapi.com/api/v1/raf/events" \
-H "x-api-key: YOUR_API_KEY"GET/api/v1/raf/events/upcomingUpcoming ScheduleScheduled cards with date, local start time, venue and main event.
/api/v1/raf/events/upcomingcurl "https://api.citoapi.com/api/v1/raf/events/upcoming" \
-H "x-api-key: YOUR_API_KEY"GET/api/v1/raf/events/recentRecent MatchesMost recent completed cards.
/api/v1/raf/events/recentcurl "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).
/api/v1/raf/events/{slug}curl "https://api.citoapi.com/api/v1/raf/events/{slug}" \
-H "x-api-key: YOUR_API_KEY"GET/api/v1/raf/events/{slug}/boutsEvent BoutsThe fight card in running order, main event first.
/api/v1/raf/events/{slug}/boutscurl "https://api.citoapi.com/api/v1/raf/events/{slug}/bouts" \
-H "x-api-key: YOUR_API_KEY"GET/api/v1/raf/events/{slug}/resultsResultsResults for every bout on the card: winner, method, score, takedowns.
/api/v1/raf/events/{slug}/resultscurl "https://api.citoapi.com/api/v1/raf/events/{slug}/results" \
-H "x-api-key: YOUR_API_KEY"GET/api/v1/raf/events/{slug}/changesChangesCard changes: bouts moved, opponents replaced, bouts removed.
/api/v1/raf/events/{slug}/changescurl "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-snyderEvent BoutsQuery bouts by athlete, event, division or status.
/api/v1/raf/bouts?athlete=kyle-snydercurl "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.
/api/v1/raf/bouts/{boutId}curl "https://api.citoapi.com/api/v1/raf/bouts/{boutId}" \
-H "x-api-key: YOUR_API_KEY"GET/api/v1/raf/bouts/{boutId}/periodsPeriodsPer-period scores for both wrestlers.
/api/v1/raf/bouts/{boutId}/periodscurl "https://api.citoapi.com/api/v1/raf/bouts/{boutId}/periods" \
-H "x-api-key: YOUR_API_KEY"GET/api/v1/raf/bouts/{boutId}/statsBoutId StatsBout statistics: points and takedowns per side. Starter plan and above.
/api/v1/raf/bouts/{boutId}/statscurl "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/athletesAthletesEvery athlete with record, division and country.
/api/v1/raf/athletescurl "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.
/api/v1/raf/athletes/{slug}curl "https://api.citoapi.com/api/v1/raf/athletes/{slug}" \
-H "x-api-key: YOUR_API_KEY"GET/api/v1/raf/athletes/{slug}/boutsEvent BoutsAn athlete's complete RAF bout history, newest first.
/api/v1/raf/athletes/{slug}/boutscurl "https://api.citoapi.com/api/v1/raf/athletes/{slug}/bouts" \
-H "x-api-key: YOUR_API_KEY"GET/api/v1/raf/athletes/{slug}/statsSlug StatsCareer stats: wins by method, points for and against, takedowns, points by period, streak. Starter plan and above.
/api/v1/raf/athletes/{slug}/statscurl "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.
/api/v1/raf/h2h?athlete1=…&athlete2=…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.
/api/v1/raf/athletes/{slug}/h2h/{opponent}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/divisionsDivisionsWeight divisions with their limits.
/api/v1/raf/divisionscurl "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.
/api/v1/raf/divisions/{division}curl "https://api.citoapi.com/api/v1/raf/divisions/{division}" \
-H "x-api-key: YOUR_API_KEY"GET/api/v1/raf/championsChampionsCurrent champion of every title, or vacant.
/api/v1/raf/championscurl "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).
/api/v1/raf/titles/{titleKey}curl "https://api.citoapi.com/api/v1/raf/titles/{titleKey}" \
-H "x-api-key: YOUR_API_KEY"Fight night
GET/api/v1/raf/liveLive MatchesCards in progress, with each bout's status and result as it posts.
/api/v1/raf/livecurl "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.
/api/v1/raf/live/events/{slug}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.
/api/v1/raf/live/{boutId}curl "https://api.citoapi.com/api/v1/raf/live/{boutId}" \
-H "x-api-key: YOUR_API_KEY"GET/api/v1/raf/live/streamStreamServer-sent events: a message whenever a bout's status or result changes.
/api/v1/raf/live/streamcurl "https://api.citoapi.com/api/v1/raf/live/stream" \
-H "x-api-key: YOUR_API_KEY"GET/api/v1/raf/live/healthHealthWhether the fight-night pipeline is running and how fresh it is.
/api/v1/raf/live/healthcurl "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
nullrather than a guess./raf/coverageshows what each event carries. - Aliases are accepted:
/raf/fights,/raf/matches,/raf/wrestlersand/raf/fightersmap 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.