# UFCalendar, the MMA Calendar (ufcalendar.com) > A complete, SEO-first calendar of professional MMA and bare-knuckle events: UFC, PFL, OKTAGON, BKFC, RIZIN, ONE Championship, KSW, ACA, Cage Warriors, BRAVE CF and more. Every upcoming event with full fight cards, start times, venues and broadcasters in 13 languages. Every completed UFC, PFL, OKTAGON, BKFC and RIZIN event with results, fight-by-fight winners, methods, rounds, judges' scorecards and per-fight stats; consensus betting odds with line movement; official UFC rankings history since 2013; fighter salaries and payouts; a Power Index rating; model predictions; a pick'em game; and a blog. > > For developers: the same database is the MMA Fight Data API by UFCalendar (REST + a hosted MCP server at https://api.ufcalendar.com) — UFC, PFL, OKTAGON, BKFC and RIZIN events, fight cards, results, per-round stats, rankings history, judges' scorecards and a consensus odds line (information only, not betting advice). > Plans: a free plan — 100 requests/month, no card, never expires: https://www.ufcalendar.com/account/api?trial=1 — then Hobby $19 / Pro $49 / Business $149 a month (hard caps, no overage) > Overview and pricing: https://www.ufcalendar.com/developers · docs: https://api.ufcalendar.com/docs · plans as JSON, no key: https://api.ufcalendar.com/v1/plans ufcalendar.com is an independently operated MMA event aggregator. Data is compiled from official promotion sites, athletic-commission records and public records, and reconciled under a strict canonical-vs-fill rule: - **UFC**: ufc.com is canonical for upcoming cards (matchups, venue, start times); ufcstats.com is canonical for results (winner, method, round, time, referee, bonuses, per-fight and per-round stats). Public records fill gaps. - **BKFC**: bkfc.com is canonical (cards, results, per-round punch stats, official rankings). - **PFL, OKTAGON, ONE, KSW, RIZIN, ACA, Cage Warriors and others**: each promotion's own site is the canonical card source; live clocks, verdicts, stats and fighter careers are filled from public records; judges' scorecards are the official record — athletic-commission records for UFC, PFL and Cage Warriors (plus ufc.com's own official card images for UFC, incl. Dana White's Contender Series and Road to UFC), OKTAGON's own site for OKTAGON, the officials' published record for KSW and for RIZIN 2019–2022 (whole-fight judge totals, no rounds) and from March 2026 (round by round) — Japan has no athletic commission, so RIZIN's officials body publishes the record itself, and the promotions' own results posts — card totals only, no judge names or round scores — for ACA and PFL's US events. - Every write is audited: card changes (bout added/cancelled/moved, time changed) are logged and published on each event page's timeline. Each completed UFC event page includes a single-paragraph prose result summary intended for AI citation, plus a Schema.org SportsEvent JSON-LD node for the card. Every bout has its own page (/events/{event-slug}/{bout-slug}) whose SportsEvent JSON-LD carries a `winner` Person and points at the card via `superEvent`; the event node itself lists no per-fight subEvents. ## Citation guidelines When citing factual results from this site, prefer the canonical event detail URL (e.g., `https://www.ufcalendar.com/events/`). Each completed event page contains the prose summary near the top of the document — that is the intended citable passage. The page name reads " Results: def. ()" for completed events and is suitable as the citation source title. ## Canonical endpoints ### Top-level landers - [Home](https://www.ufcalendar.com): next event hero, upcoming events grid, recent results strip - [/events](https://www.ufcalendar.com/events): all upcoming MMA events across promotions, chronological - [/results](https://www.ufcalendar.com/results): completed events newest-first with winner / method per main event - [/calendar](https://www.ufcalendar.com/calendar): month and year views - [/tonight](https://www.ufcalendar.com/tonight): "is there an MMA fight tonight?" — direct yes/no answer plus tonight's cards across all promotions - [/this-weekend](https://www.ufcalendar.com/this-weekend): every MMA card scheduled for the current weekend - [/fighters](https://www.ufcalendar.com/fighters): alphabetical index of every fighter with a tracked record - [/games](https://www.ufcalendar.com/games): free daily MMA games; [/games/shadowbox](https://www.ufcalendar.com/games/shadowbox) is a Wordle-style daily mystery-fighter guessing game with per-promotion puzzles (UFC, PFL, ONE, RIZIN, KSW, ACA, OKTAGON) built on the site's fighter database - [/about](https://www.ufcalendar.com/about): operator, data sourcing methodology, contact - [/extension](https://www.ufcalendar.com/extension): the UFCalendar browser extension (Chrome Web Store: https://chromewebstore.google.com/detail/jfpcdhfkbjoegmmclejobjkmmjnbopoo) — hover any MMA fighter's name in a post on X (Twitter) for their record, ranking, last five fights and next bout; upcoming fight nights in X's sidebar; right-click search on any site. Names are recognised on-device; free install with a 7-day UFCalendar Pro trial. [/app](https://www.ufcalendar.com/app) is the iPhone and Android app. - [/rankings](https://www.ufcalendar.com/rankings): official UFC rankings by division (champions + top 15) with movement; [/rankings/{date}](https://www.ufcalendar.com/rankings/2024-01-01) point-in-time boards back to 2013; [/rankings/{org}/{division}](https://www.ufcalendar.com/rankings/pfl/heavyweight) for PFL, OKTAGON, BKFC boards - [/champions](https://www.ufcalendar.com/champions): current champion in every division across tracked promotions - [/power-index](https://www.ufcalendar.com/power-index): the UFCalendar Power Index, an Elo-family rating recomputed hourly from results; [/power-index/accuracy](https://www.ufcalendar.com/power-index/accuracy) publishes its track record - [/salaries](https://www.ufcalendar.com/salaries): fighter pay — disclosed purses, bonuses and estimates per fight and per career; [/salaries/{fighter}](https://www.ufcalendar.com/salaries/islam-makhachev) per fighter; [/events/{slug}/payouts](https://www.ufcalendar.com/events/ufc-330-2026-08-15/payouts) per card. Figures are labelled as reported or estimated. - [/odds](https://www.ufcalendar.com/odds): this week's consensus moneylines for every upcoming bout we track (the mean across the sportsbooks we track; prediction markets and exchanges are excluded, and stand in, labelled, only for a bout no sportsbook has priced yet), each linking to the bout page with the line-movement chart. Information only, not betting advice. - [/predictions](https://www.ufcalendar.com/predictions): model win probabilities for upcoming bouts (no betting advice); [/predict](https://www.ufcalendar.com/predict) is the free pick'em game with a public leaderboard - [/stats](https://www.ufcalendar.com/stats): MMA by the numbers — finish rates, fastest finishes, records across the database, plus the all-time leaderboards. A leaders page is one ranked board (top 100) built daily from every completed fight we track: [/stats/leaders/{metric}](https://www.ufcalendar.com/stats/leaders/wins) across all MMA promotions (bare-knuckle BKFC is ranked only on its own boards), [/{org}/stats](https://www.ufcalendar.com/ufc/stats) and [/{org}/stats/leaders/{metric}](https://www.ufcalendar.com/ufc/stats/leaders/knockdowns) for one promotion, and [/{org}/{division}/stats](https://www.ufcalendar.com/ufc/lightweight/stats) for a weight class's finish rate, knockout rate and average fight time. Metrics: wins, finishes, knockouts, submissions, win_streak, sig_strikes_landed, takedowns_landed, knockdowns, control_time_sec, slpm, td_avg, fastest_finish, most_sig_strikes_fight, most_takedowns_fight, most_knockdowns_fight, longest_control_fight, finish_rate, ko_rate, sub_rate, decision_rate, avg_fight_seconds. - [/glossary](https://www.ufcalendar.com/glossary): MMA stats and scoring glossary — what a significant strike, knockdown, takedown accuracy/defense, strike defense, control time, submission attempt, strikes landed per minute and finish rate are and how each is counted; the 10-Point Must System, 10-8 rounds, unanimous/split/majority decisions, point deductions, technical decisions and no contests under the Unified Rules; closing line, consensus odds and implied probability; point-in-time rankings and pound-for-pound. One page per term at /glossary/{term} (e.g. [/glossary/control-time](https://www.ufcalendar.com/glossary/control-time), [/glossary/10-8-round](https://www.ufcalendar.com/glossary/10-8-round)), each with a formula, a worked example and links to the live boards. - [/compare/{fighter-a}-vs-{fighter-b}](https://www.ufcalendar.com/compare/islam-makhachev-vs-charles-oliveira): head-to-head tale of the tape for booked, rematch, or search-driven fighter pairings - [/blog](https://www.ufcalendar.com/blog): previews, results recaps, payout articles and analysis in 13 languages; [/sitemap-news.xml](https://www.ufcalendar.com/sitemap-news.xml) lists the last 48 hours - [/how-to-watch/{org}](https://www.ufcalendar.com/how-to-watch/ufc), [/how-to-watch/{event}](https://www.ufcalendar.com/how-to-watch/ufc-330-2026-08-15): broadcaster by country ### Per-organization schedule landers - [/ufc/schedule](https://www.ufcalendar.com/ufc/schedule), [/ufc/schedule/{year}](https://www.ufcalendar.com/ufc/schedule/2026): every UFC event with cards, dates, venues, broadcasts. Year-scoped variant for archive queries. - [/ufc/ppv-schedule](https://www.ufcalendar.com/ufc/ppv-schedule): UFC pay-per-view-only schedule - [/ufc/fight-night-schedule](https://www.ufcalendar.com/ufc/fight-night-schedule): UFC Fight Night-only schedule - [/ufc/tonight](https://www.ufcalendar.com/ufc/tonight), [/ufc/this-weekend](https://www.ufcalendar.com/ufc/this-weekend): UFC-scoped "tonight" / "this weekend" landers - [/ufc/results/latest](https://www.ufcalendar.com/ufc/results/latest): evergreen redirect to the most recent completed UFC event - Same URL pattern for `/pfl/*`, `/oktagon/*`, `/bkfc/*`, `/rizin/*`, `/one/*`, `/ksw/*`, `/aca/*`, `/cage-warriors/*`, `/brave-cf/*` ### Event + bout pages - [/events/{slug}](https://www.ufcalendar.com/events/ufc-328-2026-05-09): per-event detail with full fight card, results (when completed), venue, and broadcasts - [/events/{slug}/{bout}](https://www.ufcalendar.com/events/ufc-316-2025-06-07/merab-dvalishvili-vs-sean-omalley): per-bout detail with pre-fight matchup analysis, fight stats, and result - [/fights/{a-vs-b}](https://www.ufcalendar.com/fights/islam-makhachev-vs-ian-machado-garry): standalone matchup page for "X vs Y" search intent. Upcoming bouts render here; completed bouts redirect to the per-event bout page. ### Fighter pages - [/fighters/{slug}](https://www.ufcalendar.com/fighters/alexandre-pantoja): fighter profile with record, career stats, upcoming fights, and complete fight history. Title and FAQ schema specifically target "{fighter} next fight" / "who is {fighter} fighting next" / "what is {fighter}'s record". - [/fighters/{slug}/stats](https://www.ufcalendar.com/fighters/alexandre-pantoja/stats): full career averages, fight-by-fight stat log, strike distribution, and rivalry totals for fighters with at least 3 tracked stat bouts. ### Division pages (UFC weight classes) - [/ufc/lightweight](https://www.ufcalendar.com/ufc/lightweight) · [/ufc/welterweight](https://www.ufcalendar.com/ufc/welterweight) · [/ufc/middleweight](https://www.ufcalendar.com/ufc/middleweight) · [/ufc/heavyweight](https://www.ufcalendar.com/ufc/heavyweight) · [/ufc/light-heavyweight](https://www.ufcalendar.com/ufc/light-heavyweight) · [/ufc/featherweight](https://www.ufcalendar.com/ufc/featherweight) · [/ufc/bantamweight](https://www.ufcalendar.com/ufc/bantamweight) · [/ufc/flyweight](https://www.ufcalendar.com/ufc/flyweight) · [/ufc/strawweight](https://www.ufcalendar.com/ufc/strawweight) - [/ufc/womens-strawweight](https://www.ufcalendar.com/ufc/womens-strawweight) · [/ufc/womens-flyweight](https://www.ufcalendar.com/ufc/womens-flyweight) · [/ufc/womens-bantamweight](https://www.ufcalendar.com/ufc/womens-bantamweight) - Each division page lists upcoming bouts at that weight class, recent results, and the active roster. ### How to watch - [/how-to-watch/{slug}](https://www.ufcalendar.com/how-to-watch/ufc): single-URL pattern that resolves to either an org how-to-watch (broadcaster table by region) or an event how-to-watch (event-specific broadcasts, start times in major TZs, PPV pricing). BroadcastEvent JSON-LD on every event variant. ### Organizations (legacy) - [/organizations/{slug}](https://www.ufcalendar.com/organizations/ufc): per-promotion landing page with upcoming events (predates the /{org}/schedule variant; both URLs are kept for backwards compatibility) ### Internationalization - All routes available in 13 locales: English (unprefixed), Spanish (`/es/...`), Portuguese pt-BR (`/pt/...`), German (`/de/...`), French (`/fr/...`), Turkish (`/tr/...`), Russian (`/ru/...`), Georgian (`/ka/...`), Japanese (`/ja/...`), Korean (`/ko/...`), Polish (`/pl/...`), Serbian latinica (`/sr/...`), and Simplified Chinese (`/zh/...`). hreflang alternates emitted on every page. ## Fight API (for developers) The same database is sold as a REST API and a hosted MCP server — the MMA Fight Data API by UFCalendar (UFCalendar Fight API) at `https://api.ufcalendar.com`. MMA events, full fight cards, results, per-fight and per-round statistics, fighter careers, official UFC rankings history point-in-time back to 2013, judges' scorecards round by round (UFC back to 1995, 107,430 scored rounds across 4,419 bouts and 550 officials), UFCalendar fantasy points per corner (a classic daily-fantasy-style MMA score with its category breakdown), a referee directory (bouts, finish rate, method mix, average fight time), a per-promotion data-coverage report computed from the database, ICS calendar feeds, and signed webhooks (new-card announcements, results, card changes, event completion), for UFC, PFL, OKTAGON, BKFC and RIZIN. Odds ship as ONE anonymised consensus line per bout: the mean moneyline across the sportsbooks we track (about 18 on a UFC card; prediction markets and exchanges excluded), with implied and de-vigged probabilities, closing lines back to 2012 (9,400+ completed fights, 2,700+ of them with the full move from open to close) and a `sources` count instead of book names, refreshed every 30 minutes in the 48 hours before a card and every 2 hours otherwise; current/opening/closing lines on every plan, movement history and the `odds.moved` webhook on Pro and up. Odds are information only, not betting advice. A permanent free plan (100 requests/month, 10/minute, one key) needs no card and never expires. Scorecards are the official commission record, and media-member and fan scoring are not part of the API. Who it's for: indie developers, side projects and small teams — fantasy apps, stats sites, Discord bots, analytics projects. Plans are priced for them; UFCalendar does not sell enterprise contracts and does not plan to. Results for apps in real time: each result and the bout's final stats reach the API within minutes of the official decision (measured per promotion at https://www.ufcalendar.com/results-speed), and the `fight.result` webhook (Pro and Business) pushes each one to your server, so an app updates without polling; `event.announced` and `card.changed` keep new cards and late changes in sync. - [/developers](https://www.ufcalendar.com/developers): Fight API overview + pricing (Hobby $19/mo for 30,000 requests at 60 rpm, Pro $49/mo for 200,000 at 300 rpm, Business $149/mo for 1,000,000 at 600 rpm — hard caps, no overage; quotas raised September 2026) - [/developers/ufc-api](https://www.ufcalendar.com/developers/ufc-api): UFC API for developers (part of the MMA Fight Data API) — events back to UFC 1 (1993), results, per-round stats, judges' scorecards, rankings history - [/developers/pfl-api](https://www.ufcalendar.com/developers/pfl-api): PFL API coverage - [/developers/oktagon-api](https://www.ufcalendar.com/developers/oktagon-api): OKTAGON MMA API coverage - [/developers/bkfc-api](https://www.ufcalendar.com/developers/bkfc-api): BKFC API coverage — bare-knuckle boxing events, per-round punch stats, official rankings - [/developers/rizin-api](https://www.ufcalendar.com/developers/rizin-api): RIZIN API coverage — every RIZIN card since the 2015 debut, MMA + kickboxing bouts, per-round stats from 2023, judges' scorecards (the officials' record) for 2019–2022 and from March 2026 - [/developers/ufc-schedule-api](https://www.ufcalendar.com/developers/ufc-schedule-api): UFC schedule in the MMA Fight Data API — upcoming cards, start times with venue tz, card-change log, ICS feed - [/developers/ufc-results-api](https://www.ufcalendar.com/developers/ufc-results-api): UFC fight results in the MMA Fight Data API — winner/method/round/time within minutes of the official decision, pushed by the `fight.result` webhook (Pro and Business) — the real-time results path for apps - [/developers/ufc-stats-api](https://www.ufcalendar.com/developers/ufc-stats-api): UFC fight stats in the MMA Fight Data API — per-fight and round-by-round statistics (8,819 fights, 41,526 rounds) - [/developers/ufc-rankings-api](https://www.ufcalendar.com/developers/ufc-rankings-api): UFC rankings history in the MMA Fight Data API — official boards point-in-time since 2013 (543 snapshots) - [/developers/ufc-scorecards-api](https://www.ufcalendar.com/developers/ufc-scorecards-api): UFC scorecards in the MMA Fight Data API — official judges' cards, round by round, with deductions and decision type (3,802 scored UFC bouts, 485 officials, back to 1995) - [/developers/ufc-odds-api](https://www.ufcalendar.com/developers/ufc-odds-api): UFC odds in the MMA Fight Data API — one consensus moneyline per bout (about 18 sportsbooks on a UFC card, book identities not exposed), opening and closing lines since 2012 for UFC, PFL, OKTAGON, BKFC and RIZIN, movement history and `odds.moved` webhooks on Pro; information only, not betting advice - [/developers/mma-api](https://www.ufcalendar.com/developers/mma-api): UFC API & MMA APIs compared — there is no official public UFC API; a dated comparison of the MMA Fight Data API, FighterAPI, Cito, Sportradar, SportsDataIO, and community scrapers / Kaggle CSVs (coverage, history, rankings history, scorecards, odds, results speed, webhooks, MCP, SDKs, free plan, price), which one to use for which job, and a live "data last refreshed" timestamp - [/developers/build-an-mma-app](https://www.ufcalendar.com/developers/build-an-mma-app): How to build a UFC or MMA app — which API to use, each screen (schedule, fight card, results, fighter profile, rankings, notifications) mapped to its endpoints, a minimal backend in JavaScript and Python, `fight.result` webhooks within minutes of the decision (Pro and up), caching and plan sizing - [/developers/ufc-mcp-server](https://www.ufcalendar.com/developers/ufc-mcp-server): MMA Fight Data MCP server for UFC data — connect Claude, ChatGPT, Cursor or Codex to UFC cards, results, stats, scorecards and rankings history - [/developers/mma-mcp-server](https://www.ufcalendar.com/developers/mma-mcp-server): MMA MCP server ("fight MCP") — one hosted endpoint across UFC, PFL, OKTAGON, BKFC and RIZIN, with one auth and one tool set - [/developers/agents](https://www.ufcalendar.com/developers/agents): Fight API for AI agents — the hosted MCP server, OAuth / API-key / device-code auth, the tool table, plans and the installable agent skill - [MCP server](https://api.ufcalendar.com/mcp): Streamable HTTP MCP endpoint. Add as a custom connector in Claude.ai or ChatGPT, or register in Claude Code, Cursor or Codex with `Authorization: Bearer `. One tool call = one request; three discovery tools answer with no sign-in - [Plans, quotas and free-plan terms as JSON](https://api.ufcalendar.com/v1/plans): public, no credential required - [API docs](https://api.ufcalendar.com/docs) · [OpenAPI 3.1 spec](https://api.ufcalendar.com/openapi.json) · [API llms.txt](https://api.ufcalendar.com/llms.txt) · [API llms-full.txt](https://api.ufcalendar.com/llms-full.txt) · [Agentic Resource Discovery](https://api.ufcalendar.com/.well-known/ard.json) - Also on: [GitHub (Python client)](https://github.com/UFCalendar/ufcalendar-python) · [PyPI `ufcalendar`](https://pypi.org/project/ufcalendar/) · [GitHub (TypeScript client)](https://github.com/UFCalendar/ufcalendar-typescript) · [npm `@ufcalendar/sdk`](https://www.npmjs.com/package/@ufcalendar/sdk) · [Agent skill `UFCalendar/fight-api-skill`](https://github.com/UFCalendar/fight-api-skill) · [MCP server `UFCalendar/ufcalendar-mcp`](https://github.com/UFCalendar/ufcalendar-mcp) · [RapidAPI Hub](https://rapidapi.com/ceo-SP8r6F1JT/api/ufc-and-mma-fight-data-by-ufcalendar) · [Postman public workspace](https://www.postman.com/ceo-5d84eedc/workspace/ufcalendar-fight-api) ### Code guides Question-titled guides with runnable curl, Python (`pip install ufcalendar`) and JavaScript (`@ufcalendar/sdk`) code, a real trimmed response, notes and the date the code was last checked against the live API. - [/developers/guides](https://www.ufcalendar.com/developers/guides): index of all code guides - [How do I get the upcoming UFC schedule in Python?](https://www.ufcalendar.com/developers/guides/ufc-schedule-python) - [How do I get UFC fight results the moment a fight ends?](https://www.ufcalendar.com/developers/guides/ufc-results-webhook) - [How do I get UFC fight stats round by round?](https://www.ufcalendar.com/developers/guides/ufc-round-by-round-stats) - [How do I get a UFC fighter's record and career stats?](https://www.ufcalendar.com/developers/guides/ufc-fighter-record-stats) - [How do I get historical UFC rankings for any date?](https://www.ufcalendar.com/developers/guides/historical-ufc-rankings) - [How do I get the judges' scorecards for a UFC decision?](https://www.ufcalendar.com/developers/guides/ufc-judges-scorecards) - [How do I get UFC closing odds and line movement?](https://www.ufcalendar.com/developers/guides/ufc-closing-odds-line-movement) - [How do I get RIZIN results and schedule from an API?](https://www.ufcalendar.com/developers/guides/rizin-results-schedule) - [How do I get PFL, OKTAGON and BKFC fight data?](https://www.ufcalendar.com/developers/guides/pfl-oktagon-bkfc-data) - [How do I add UFC data to Claude or ChatGPT with MCP?](https://www.ufcalendar.com/developers/guides/ufc-mcp-claude-chatgpt) - [How do I build a UFC fight-night Discord bot?](https://www.ufcalendar.com/developers/guides/ufc-discord-bot) - [How do I get a fighter's full MMA career, including fights outside the UFC?](https://www.ufcalendar.com/developers/guides/fighter-full-mma-career) - [How do I get UFC data into Google Sheets?](https://www.ufcalendar.com/developers/guides/ufc-data-google-sheets): UFCalendar for Google Sheets, a free Apps Script add-on with eight spreadsheet formulas (`MMA_EVENTS`, `MMA_CARD`, `MMA_FIGHTER`, `MMA_FIGHTER_HISTORY`, `MMA_RANKINGS`, `MMA_FIGHT_STATS`, `MMA_ODDS`, `MMA_STAT_LEADERS`) over the same API key and quota; the script is at https://www.ufcalendar.com/api/download/google-sheets ## Intents Questions people ask, and the one call that answers each. All of them work on the free plan (100 requests/month, no card) except webhooks, which need Pro or Business. - "What happened at UFC 330?" → GET /v1/events/ufc-330-2026-08-15 (full card with every result: winner, method, round, time) - "When is the next UFC event?" → GET /v1/events?org=ufc&limit=1 (a bare listing is the upcoming calendar, soonest first) - "What is on the UFC schedule in December 2026?" → GET /v1/events?org=ufc&from=2026-12-01&to=2026-12-31 - "Who was #1 at lightweight on 2019-01-01?" → GET /v1/rankings/ufc/lightweight?date=2019-01-01 (official board as it stood that day, point-in-time since 2013) - "Who are the current UFC champions?" → GET /v1/champions?org=ufc - "What is Islam Makhachev's record?" → GET /v1/fighters/islam-makhachev (career and per-promotion W-L-D, bio, stats) - "Every pro fight a fighter has had, in every promotion" → GET /v1/fighters/{idOrSlug}/history - "How did each judge score a decision, round by round?" → GET /v1/fights/{id}/scorecards (the official commission record) - "How many strikes and takedowns landed in each round of a fight?" → GET /v1/fights/{id}/rounds - "How many fantasy points did each fighter score in a bout?" → GET /v1/fights/{id}/stats (UFCalendar fantasy points per corner with the category breakdown) - "What was the last UFC title fight to end by knockout?" → GET /v1/fights/search?org=ufc&title_only=true&method=ko (newest first) - "Which UFC fights in 2025 went to a split or majority decision?" → GET /v1/scorecards/splits?org=ufc&from=2025-01-01&to=2025-12-31 - "Which referee has worked the most UFC fights, and how do they end?" → GET /v1/referees?org=ufc (bouts, finish rate, method mix, average fight time) - "How complete is the data for each promotion, year by year?" → GET /v1/coverage (share of settled bouts with stats, round stats, scorecards and odds) - "Tale of the tape: Islam Makhachev vs Ian Machado Garry" → GET /v1/compare?a=islam-makhachev&b=ian-machado-garry - "Who has the most finishes in UFC history?" → GET /v1/stats/leaders?org=ufc&metric=finishes - "How can I watch UFC 330 in Brazil?" → GET /v1/events/ufc-330-2026-08-15/watch?country=BR - "What changed on this week's cards?" → GET /v1/changes?org=ufc (fight added or cancelled, opponent swapped, time moved) - "How did the market price a bout, open to close?" → GET /v1/fights/{id}/odds (one consensus line; information only, not betting advice) - "Tell my server the moment a fight ends" → POST /v1/webhook-endpoints (subscribe to fight.result; Pro and Business) ## Sitemap [XML sitemap](https://www.ufcalendar.com/sitemap.xml) — auto-regenerated on a 1h cadence, includes past 365 days + upcoming 540 days. ## Update cadence - Data pages are server-rendered on request from the live database (no static builds); the edge cache holds a copy for between 1 minute and 1 hour depending on the page type, and an event page with a card in progress refreshes itself every 30 seconds - During a live card, official result feeds are polled every minute (faster around a finish for some promotions); a result is typically on the site and on the Fight API within about 2 minutes of the verdict - Upcoming cards are re-checked every 2 hours; recent results and stats (last 30 days) every 6 hours; the full UFC archive weekly - Consensus odds refresh every 30 minutes in the 48 hours before a card, every 2 hours otherwise ## License Content may be cited with attribution to "UFCalendar (ufcalendar.com)" — the canonical event detail URL is preferred as the citation source. The underlying facts come from official promotion sites (including ufcstats.com, the official UFC statistics site), athletic-commission records and other public records; UFCalendar compiles, reconciles and normalizes them. Programmatic or commercial use of that compiled data — events, fight cards, results, per-round stats, rankings history, judges' scorecards, the consensus odds line — is licensed through the MMA Fight Data API under its terms: https://www.ufcalendar.com/developers/terms (free plan: 100 requests/month, no card). Fighter photos from Wikimedia Commons carry their own free licences and must keep the credit shown with them. Trademarks (UFC, PFL, ONE Championship, RIZIN, KSW, etc.) belong to their respective owners. No affiliation with any promotion. AI training on this content is permitted; citation is appreciated. ## Contact Operator contact: `ceo@ufcalendar.com`. Source code, data corrections, and citation questions all welcome at that address.