The WEC API for developers.
World Extreme Cagefighting from 2001 to 2010 as clean JSON: 50 cards and 362 bouts with results, official round-by-round stats on 348 of them in the same fields as UFC rounds, fighters and head-to-head. WEC merged into the UFC, and its fighters with a UFC record keep their UFC slug.
- 50 cards, 2001 to 2010
- 348 of 362 bouts with official round stats
- Same fighter IDs as UFC
{ "success": true, "data": { "slug": "wec-48", "name": "WEC 48: Aldo vs. Faber", "date": "2010-04-24", "venue": "Sleep Train Arena", "boutCount": 11, "boutsWithStats": 11, "card": [ { "id": "wec-2739", "weightClass": "Featherweight", "method": "Decision - Unanimous", "resultRound": 5, "winnerFighterSlug": "jose-aldo", "fighters": [ { "fighterSlug": "jose-aldo", "ufcFighterSlug": "jose-aldo", "totals": { "significantStrikes": "77 of 103" } }, { "fighterSlug": "urijah-faber", "ufcFighterSlug": "urijah-faber", "totals": { "significantStrikes": "20 of 112" } } ] }, ... ] }}Seamless Integration with our MCP Server
Give Claude, Cursor, and ChatGPT the WEC archive. One command writes the MCP config, and the next MCP release adds league wec to combat_card, combat_bout, and combat_athlete, so agents work from real bout and fighter IDs. Your key stays on your machine.
MCPInstall the Cito MCP serverWEC, read like UFC
Cards, results and round stats from WEC's run, in the fields your UFC code already reads.
50 cards, 2001 to 2010
WEC from June 2001 to its last card in December 2010, each card main event first.
Results to the second
Winner, method, round and time for every bout, with finish position, submission and referee.
Official round stats
Strikes, takedowns, knockdowns and control time per corner per round on 348 of 362 bouts.
The /ufc shape
Same field names and "13 of 18" formats as UFC rounds, so one parser reads both promotions.
Same fighter IDs
jose-aldo is the same id on /wec and /ufc; ufcFighterSlug marks every shared fighter.
Whole archive career
/mma/fighters/{slug} adds the record in every archive promotion, WEC included.
How does WEC data connect to the UFC?
WEC merged into the UFC in 2010, so many of its fighters carry on in the UFC data. A WEC fighter with a UFC record keeps the same id on /wec and /ufc: jose-aldo on /wec/fighters/jose-aldo is the fighter on /ufc/fighters/jose-aldo, so their WEC rounds and UFC rounds join without name matching. Aldo's WEC career stats, for example:
| GET /api/v1/wec/fighters/jose-aldo/stats | Value |
|---|---|
| record | 8-0-0 (8 fights with stats) |
| significantStrikes | 263 of 500 (52.6%) |
| leg | 70 of 78 (89.7%) |
| knockdowns | 5 |
| takedowns absorbed | 1 of 27 (3.7%) |
Are WEC stats in the same format as UFC stats?
Yes. A WEC round row has the same fields and formats as a /ufc round row, so a model or stat page built on UFC rounds reads WEC rounds without a new parser. 348 of 362 bouts with official round stats; hasStats on each event and bout says which.
| Field | Format |
|---|---|
| significantStrikes / totalStrikes / takedowns | "landed of attempted", e.g. "13 of 18" |
| head / body / leg | Significant strikes by target, same format |
| distance / clinch / ground | Significant strikes by position, same format |
| knockdowns / submissionAttempts / reversals | Counts |
| controlTime | "m:ss", e.g. "1:42", or null when not recorded |
What is the first WEC endpoint to call?
List the cards that carry stats with /wec/events?hasStats=true, open one with /wec/events/{slug} (for example wec-48), then pull any bout's rounds with /wec/bouts/{boutId}/rounds.
curl "https://api.citoapi.com/api/v1/wec/events?hasStats=true" \
-H "x-api-key: $CITO_API_KEY"Endpoints you can ship with
Five groups, one UFC key. Start with a WEC card, open a bout's rounds, then follow a fighter across promotions.
Events & cards
Every WEC card on file from 2001 to 2010, each with its full card main event first.
- GET
/api/v1/wec/eventsEvery card, newest first. Filter by date, name or hasStats.
- GET
/api/v1/wec/events/{slug}One card with every bout and each fighter's whole-fight totals.
- GET
/api/v1/wec/events/{slug}/boutsThe card in running order: weight class, corners, winner, method, round and time.
- GET
/api/v1/wec/events/{slug}/statsSame shape as /ufc/events/{slug}/stats: bouts, boutStats and roundStats for the card.
Bouts & round stats
Result, method, round, time, finish and referee for every bout, and official round-by-round stats where they exist, in /ufc's field names and formats.
- GET
/api/v1/wec/boutsQuery bouts by fighter, opponent, event, weight class, method, title fight or hasStats.
- GET
/api/v1/wec/bouts/{boutId}One bout: corners with totals, result, finish position and submission, referee, every round.
- GET
/api/v1/wec/bouts/{boutId}/roundsPer corner per round: strikes, takedowns, control time, by target and position.
- GET
/api/v1/wec/bouts/{boutId}/statsPaid plans: whole-fight totals (boutStats) and every round (roundStats).
Fighters & head-to-head
Fighters with bio, WEC record and fight history, career stats over their WEC bouts, and head-to-head between any two.
- GET
/api/v1/wec/fightersEvery fighter, searchable and paginated. ufc=true keeps fighters with a UFC record.
- GET
/api/v1/wec/fighters/{slug}Bio, WEC record, UFC pointer, other promotions, last five fights.
- GET
/api/v1/wec/fighters/{slug}/fightsEvery WEC bout a fighter fought, newest first.
- GET
/api/v1/wec/fighters/{slug}/statsPaid plans: career landed, attempted and accuracy, plus strikes and takedowns absorbed.
- GET
/api/v1/wec/h2h?fighter1={slug}&fighter2={slug}Head-to-head record and every meeting between two fighters.
Whole career (/mma)
/mma answers across every archive promotion. A fighter profile there adds recordByPromotion, and fighters with a UFC record keep their UFC slug.
- GET
/api/v1/mmaEvery promotion with its counts and coverage window, plus totals.
- GET
/api/v1/mma/bouts?promotion=wecArchive bouts filtered to WEC.
- GET
/api/v1/mma/fighters/{slug}A fighter's whole non-UFC career: recordByPromotion and the UFC pointer.
- GET
/api/v1/ufc/fighters/{slug}The same slug on the UFC API, for fighters with a UFC record.
Overview & search
The WEC archive's coverage window and counts, and a search that turns a name or nickname into fighter and event slugs.
- GET
/api/v1/wecCoverage window, counts and the endpoint list.
- GET
/api/v1/wec/search?q={name}Find fighters and events by name or nickname.
FAQs
Coverage, plans, identity and agents
Can't find what you're looking for? Contact our customer support team
Explore the WEC API
Every MMA archive sits next to the UFC API on the same key.
- MMA archive API docsPRIDE, Strikeforce, WEC, DREAM, EliteXC, Affliction and /mma in one place.
- PRIDE APIPRIDE FC cards, results and round stats, 1997 to 2007.
- Strikeforce APIStrikeforce cards, results and round stats, 2006 to 2013.
- Bellator APIThe Bellator archive with official round stats in the UFC's shape.
- UFC APIFight cards, results, round-by-round stats and odds.
- Cito MCP serverRAF and BKFC tools for Claude, Cursor and other MCP clients.
- Cito API pricingFree, Starter, Pro and Scale plans compared.
Build career models
Create a free key with UFC as your game and call your first WEC endpoint in a minute. The full archive with round stats is on Pro.