Discover/OKTAGON MMA API
live

OKTAGON MMA APIoktagonmma.com

Access OKTAGON MMA fighter profiles, records, rankings, fight history, and weight class data via 4 structured API endpoints.

Endpoint health
verified 3d ago
list_fighters
get_fighter
get_fighter_fight_history
get_all_fighters
4/4 passing latest checkself-healing
Endpoints
4
Updated
26d ago

What is the OKTAGON MMA API?

The OKTAGON MMA API provides access to fighter data from Europe's leading MMA promotion through 4 endpoints. Use list_fighters to browse the roster with weight class filtering, get_fighter to retrieve a full profile including gym affiliation, rankings, height, and links to Sherdog and Tapology, and get_fighter_fight_history to pull per-fight outcomes, result types, and event details for any fighter on the roster.

Try it
Number of fighters to skip for pagination.
Number of fighters to return per page (max 100).
Filter by weight class ID. Known values: 1=Welterweight, 2=Middleweight, 3=Light Heavyweight, 4=Lightweight, 5=Heavyweight, 6=Bantamweight.
api.parse.bot/scraper/36854270-8f1b-4f95-9a0c-7057bcb4e2a7/<endpoint>
Ready to send
Fill in the parameters and hit sign in to send to see live response data here.
Call it over HTTPgrab a free API key at signup
curl -X GET 'https://api.parse.bot/scraper/36854270-8f1b-4f95-9a0c-7057bcb4e2a7/list_fighters?lang=en&skip=0&limit=10&weight_class_id=1' \
  -H 'X-API-Key: $PARSE_API_KEY'
Python SDK · recommended

Typed, relational, agent-ready

A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.

  • Fully typed · autocompletes
  • Objects link to objects
  • Typed errors & pagination

Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:

uv add parse-sdk
uv run parse init
uv run parse add --marketplace oktagonmma-com-api

uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.

from parse_apis.oktagon_mma_fighter_api import Oktagon, WeightClass, FighterNotFound

oktagon = Oktagon()

# Browse welterweight fighters
for fighter in oktagon.fighters.list(weight_class_id=WeightClass.WELTERWEIGHT):
    print(fighter.full_name, fighter.record.wins, fighter.record.losses, fighter.nationality)

# Get a specific fighter's full profile
david = oktagon.fighters.get(fighter_id=1)
print(david.full_name, david.nickname, david.gym, david.height_cm)

# Browse that fighter's OKTAGON fight history
for fight in david.fights.list():
    print(fight.outcome, fight.result_type, fight.opponent.full_name, fight.event.title)
All endpoints · 4 totalmissing one? ·

List fighters with pagination and optional weight class filtering. Returns basic fighter information including name, record, weight class, nationality, and image. The API returns fighters ordered by most recently added. Uses skip/limit offset pagination; each call returns one page.

Input
ParamTypeDescription
skipintegerNumber of fighters to skip for pagination.
limitintegerNumber of fighters to return per page (max 100).
weight_class_idintegerFilter by weight class ID. Known values: 1=Welterweight, 2=Middleweight, 3=Light Heavyweight, 4=Lightweight, 5=Heavyweight, 6=Bantamweight.
Response
{
  "type": "object",
  "fields": {
    "fighters": "array of fighter objects with id, full_name, record, weight_class, nationality, and other profile fields",
    "pagination": "object with limit, skip, and count keys"
  },
  "sample": {
    "data": {
      "fighters": [
        {
          "id": 1028,
          "gym": "Box Club Gifhorn",
          "slug": "joseph-donkor",
          "links": {
            "tapology": "https://www.tapology.com/fightcenter/fighters/236338-joseph-donkor",
            "instagram": "https://www.instagram.com/aberration_mma/"
          },
          "record": {
            "wins": 6,
            "draws": 0,
            "losses": 2,
            "no_contests": 0
          },
          "champion": false,
          "nickname": null,
          "rankings": [],
          "full_name": "Joseph Donkor",
          "height_cm": null,
          "image_url": "https://assets.oktagonmma.com/FIGHTER_PROFILE_IMAGE/98e4e1eb-5a80-4eaa-8063-d7962c9d32e3/cs.1781026487229.png",
          "last_name": "Donkor",
          "first_name": "Joseph",
          "description": "<p>Joseph Donkor...</p>",
          "nationality": "DE",
          "weight_class": "Lightweight",
          "year_of_birth": null,
          "other_rankings": [],
          "weight_class_id": 4
        }
      ],
      "pagination": {
        "skip": 0,
        "count": 5,
        "limit": 5
      }
    },
    "status": "success"
  }
}

About the OKTAGON MMA API

Fighter Roster and Filtering

The list_fighters endpoint returns paginated fighter objects, each containing id, full_name, record, weight_class, nationality, and image_url. You can filter by division using the weight_class_id parameter — accepted values map to Welterweight (1), Middleweight (2), Light Heavyweight (3), Heavyweight (5), and Bantamweight (6). Pagination is controlled with skip and limit (max 100 per request), and the response includes a pagination object with count, skip, and limit fields.

Detailed Fighter Profiles

get_fighter accepts a single fighter_id and returns the full profile: gym, nickname, height_cm, champion (boolean indicating current title status), rankings (array of division positions), and a links object with external references to Sherdog, Tapology, and Instagram. The record field breaks down wins, losses, draws, and no contests.

Fight History

get_fighter_fight_history returns a fights array for the specified fighter, where each entry includes outcome, opponent, event, result_type (e.g. KO, submission, decision), and time. The optional limit parameter caps the number of fights returned. Fighters who have not competed under the OKTAGON banner will return an empty fights array with count: 0.

Full Roster Export

get_all_fighters iterates through all available pages and returns every fighter on the OKTAGON roster in a single response under a fighters array with a total count. This endpoint performs multiple paginated fetches internally and may take several seconds to resolve.

Reliability & maintenanceVerified

The OKTAGON MMA API is a managed, monitored endpoint for oktagonmma.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when oktagonmma.com changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.

This isn't an official oktagonmma.com API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.

Last verified
3d ago
Latest check
4/4 endpoints passing
Maintenance
Monitored & self-healing
Will this API break when the source site changes?+
It's built not to. Every endpoint is health-checked on a schedule with automated test probes. When the source site changes and a check fails, the API is automatically queued for repair and re-verified — that's the self-healing layer. Each API page shows when its endpoints were last verified. And because marketplace APIs are shared, any fix reaches everyone using it.
Is this an official API from the source site?+
No — Parse APIs are independent, managed REST wrappers over publicly available data. That is the point: where a site has no official API (or only a limited one), Parse gives you a maintained, monitored endpoint for that data and keeps it working as the site changes — so you get a stable contract over a source that never promised one.
Can I fix or extend this API myself if I need a new endpoint or field?+
Yes — and you don't have to wait on us. This API was generated by the Parse agent, which stays attached. Describe the change in plain English ("add an endpoint that returns reviews", "fix the price field") in the revise box on the API page or via the revise_api MCP tool, and the agent rebuilds it against the live site in minutes. Contributing the change back to the public API is free.
What happens if I call an endpoint that has an issue?+
Errors are machine-readable: a bad call returns a clean status with the list of available endpoints and a repair hint, so an agent (or you) can recover or trigger a fix instead of failing silently. Confirmed failures feed the automatic repair queue.
Common use cases
  • Build a fighter comparison tool using record, height_cm, weight_class, and rankings from get_fighter
  • Track divisional standings by querying list_fighters with each weight_class_id and sorting by ranking position
  • Populate a fan app's fighter directory using get_all_fighters for full roster data with profile images
  • Analyze finish rates by iterating get_fighter_fight_history across multiple fighters and aggregating result_type values
  • Cross-reference OKTAGON fighters on Sherdog or Tapology using the links object returned by get_fighter
  • Identify current champions by filtering get_all_fighters results on the champion boolean field
  • Monitor fighter gym affiliations and nationality distribution across weight classes using roster data
Pricing & limitsSee full pricing →
TierPriceCredits/monthRate limit
Free$0/mo1005 req/min
Hobby$30/mo1,00020 req/min
Developer$100/mo5,000100 req/min

One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.

Frequently asked questions
Does OKTAGON MMA have an official developer API?+
OKTAGON MMA does not publish a public developer API or developer documentation at oktagonmma.com. This Parse API is the available structured way to access their fighter and event data programmatically.
How does weight class filtering work in `list_fighters`?+
Pass a weight_class_id integer as a query parameter. The supported mappings are: 1 = Welterweight, 2 = Middleweight, 3 = Light Heavyweight, 5 = Heavyweight, and 6 = Bantamweight. Omitting the parameter returns fighters across all divisions. Note that weight class IDs are not consecutive — there is no ID 4 in the current set.
What happens when a fighter has no OKTAGON fights recorded?+
get_fighter_fight_history will return a valid response with count: 0 and an empty fights array. This can occur for recently signed fighters or those whose records have not yet been logged under the OKTAGON banner.
Does the API return upcoming scheduled fights or event schedules?+
Not currently. The API covers fighter profiles, records, rankings, and past fight history. It does not expose upcoming bouts or event schedules. You can fork this API on Parse and revise it to add an endpoint that fetches scheduled events and matchups.
Are fight statistics like significant strikes or takedown numbers available?+
Not currently. Fight history entries include outcome, opponent, event, result_type, and time, but do not include in-fight strike or grappling statistics. You can fork this API on Parse and revise it to add per-fight statistical breakdowns if that data becomes accessible from the source.
Page content last updated . Spec covers 4 endpoints from oktagonmma.com.
Related APIs in SportsSee all →
ufcstats.com API
Access comprehensive UFC fight data including event results, fighter profiles, and detailed statistics like striking accuracy, takedown rates, and win-loss records. Search fighters, view fight cards, and explore fight history with method of victory information to analyze performance metrics and outcomes.
ufc.com API
Access current UFC fighter rankings organized by weight class division, complete with champion information and the top 15 ranked fighters in each category. Use this to stay updated on fighter standings, track competitor positions, and discover who's competing at the elite level across all UFC divisions.
boxrec.com API
Access detailed boxer statistics, career records, and fight histories from BoxRec. Retrieve comprehensive data on any fighter's record, rankings, division, KO percentage, and performance metrics, plus discover trending fighters in real-time.
cagematch.net API
Access the Cagematch.net wrestling database. Search for wrestlers, events, matches, promotions, and championship titles, and retrieve detailed profiles, career histories, and match results.
statleaders.ufc.com API
Track and compare UFC fighter performance with access to ranked leaderboards for career achievements, individual fight statistics, round-by-round data, and event records. Search fighter profiles and fight details to analyze comprehensive combat statistics and record book information across the UFC's history.
tapology.com API
Discover upcoming MMA and combat sports events with details like event name, date, time, location, and direct links to event pages. Stay updated on all the fights happening near you by accessing Tapology's comprehensive FightCenter event database.
sumodb.sumogames.de API
Search for sumo wrestlers and access detailed profiles, rankings, techniques, and historical tournament winners from the comprehensive Sumo Reference Database. Get current banzuke standings and analyze wrestler kimarite (winning technique) statistics to explore sumo's rich competitive history.
smashbros.com API
Look up detailed information about Super Smash Bros. Ultimate fighters, stages, items, Pokémon, and assist trophies, or search for specific characters by series and DLC status. Browse official Smash blog articles and discover game content all in one place.