The fight database, as an API.
Events, full cards, results, per-fight and per-round statistics, complete fighter careers, official rankings back to 2013, Power Index ratings and AI win probabilities — for UFC, PFL and OKTAGON. The same data that powers this site, served as clean JSON.
Free tier: 500 requests/month, full data, no credit card.
One request, ten years back
$ curl "https://api.ufcalendar.com/v1/rankings/ufc?date=2016-11-14" \
-H "Authorization: Bearer ufcalendar_..."
{
"data": {
"org": "ufc",
"board": "official",
"snapshot_date": "2016-11-07",
"divisions": [
{
"division": "lightweight",
"entries": [
{ "rank": 0, "is_champion": true,
"name": "Eddie Alvarez", "fighter_slug": "eddie-alvarez" },
...The rankings time machine: every official UFC board since 2013, valid until superseded. Rank 0 is the champion.
What no other API has
Three orgs, one schema
UFC, PFL and OKTAGON at launch — every alternative is UFC-only. More orgs join as they clear our reliability bar; /v1/orgs carries per-org capability flags so your client discovers coverage.
Rankings time machine
Official UFC rankings point-in-time back to 2013 (623 snapshots), plus PFL and OKTAGON boards. "What was he ranked that night?" is one query parameter.
Card-change log
Fight added, opponent swapped, card reshuffled — the diff log behind our "card updated" badge is an endpoint, so your app can react to late changes.
Per-round statistics
Strikes by target and position, takedowns, control time — per fight and per round. 10,674 fights carry full stat lines (91% of the catalog).
Complete careers
Fighter timelines span every promotion they ever fought in — not just the launch orgs. 121,078 career rows, merged and deduplicated.
Built for AI agents
OpenAPI 3.1, llms.txt, stable snake_case JSON with a predictable envelope. Point an agent at the spec and it works.
Pricing
Hard caps, no overage bills, cancel anytime. Annual billing gives 2 months free.
- 250,000 requests/month
- 300 requests/minute
- Internal redistribution, priority support
Founding members: 50% off for 6 months with code FOUNDING50. · Enterprise (custom quotas, redistribution rights, contracts): api@ufcalendar.com
What's inside
Counts grow every fight night — the same scraper fleet that runs this site feeds the API within minutes of each result.
Questions
- Why only UFC, PFL and OKTAGON?
- Those are the orgs where our data is deepest: per-fight statistics, own live results pipelines, official rankings boards. ONE, KSW, RIZIN and ACA are tracked and join the moment they clear our reliability bar — each addition is announced in the changelog.
- Do you serve betting odds?
- No, by design. The Fight API carries no betting data on any tier.
- Can I use the fighter images?
- Yes — every image the API returns is Creative-Commons or public-domain licensed from Wikimedia Commons, with artist and license fields included. Displaying that credit is required by the license.
- How fresh are results?
- Live results land within 5 minutes for every launch org (2 minutes for UFC). Pre-fight card changes refresh every 2 hours, rankings twice a day, model probabilities every 30 minutes.
- What are the usage rules?
- Paid tiers cover commercial display and analysis. No bulk resale of the raw dataset below Enterprise, and no use as an official-data feed for regulated sportsbooks. Free tier is non-commercial with an attribution link.
UFCalendar is an independent publication, not affiliated with UFC/Zuffa/TKO, PFL, OKTAGON MMA or any promotion. Organization names are used to describe the data. Terms of service