SportStatsAPI Mma API

The mma API from SportStatsAPI — 6 operation(s) for mma.

GitHub OpenAPI

Operations 6

GET /mma/bouts/{id} Get an MMA bout #
GET /mma/events List MMA events #
GET /mma/events/{id} Get an MMA event #
GET /mma/fighters Find MMA fighters #
GET /mma/fighters/{id} Get an MMA fighter's record #
GET /mma/live Get MMA cards in progress #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/sportstatsapi:sportstatsapi-mma-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

sportstatsapi-mma-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  contact:
    name: SportStatsAPI
    url: https://sportstatsapi.com
  description: 'Every public endpoint of SportStatsAPI. Endpoints marked with x-x402 can also be paid per call by an AI agent; the curated list of those is https://api.sportstatsapi.com/api/openapi.agents.json.


    Authentication: an API key (header X-API-Key, or Authorization: Bearer ), or without a key an x402 payment (header PAYMENT-SIGNATURE, USDC on Base). Prices and payment offers: https://api.sportstatsapi.com/.well-known/x402. Docs for AI models: https://api.sportstatsapi.com/llms.txt. MCP server: https://mcp.sportstatsapi.com/mcp.'
  summary: Sports data API and x402 pay-per-call endpoints
  title: SportStats Mma API
  version: '1.0'
servers:
- url: https://api.sportstatsapi.com/api/v1
tags:
- name: mma
paths:
  /mma/bouts/{id}:
    get:
      description: One fight with its result and per-fighter stats (strikes by target, knockdowns, takedowns, submission attempts, control time), and its event
      operationId: getMmaBoutsById
      parameters:
      - description: Bout ID
        in: path
        name: id
        required: true
        schema:
          type: integer
      responses:
        '200':
          content:
            application/json:
              schema:
                allOf:
                - $ref: '#/components/schemas/middleware.Response'
                - properties:
                    data:
                      $ref: '#/components/schemas/dto.MMABoutResponse'
                  type: object
          description: OK
        '400':
          content:
            application/json:
              schema:
                allOf:
                - $ref: '#/components/schemas/middleware.Response'
                - properties:
                    error:
                      $ref: '#/components/schemas/middleware.ErrorInfo'
                  type: object
          description: Bad Request
        '401':
          content:
            application/json:
              schema:
                allOf:
                - $ref: '#/components/schemas/middleware.Response'
                - properties:
                    error:
                      $ref: '#/components/schemas/middleware.ErrorInfo'
                  type: object
          description: Unauthorized
        '404':
          content:
            application/json:
              schema:
                allOf:
                - $ref: '#/components/schemas/middleware.Response'
                - properties:
                    error:
                      $ref: '#/components/schemas/middleware.ErrorInfo'
                  type: object
          description: Not Found
      security:
      - ApiKeyAuth: []
      - BearerAuth: []
      summary: Get an MMA bout
      tags:
      - mma
  /mma/events:
    get:
      description: Fight cards (UFC) by date, with the main event and its result once known
      operationId: getMmaEvents
      parameters:
      - description: scheduled, live, finished or cancelled
        in: query
        name: status
        schema:
          type: string
      - description: Events on or after this date (YYYY-MM-DD)
        in: query
        name: date_from
        schema:
          type: string
      - description: Events on or before this date (YYYY-MM-DD)
        in: query
        name: date_to
        schema:
          type: string
      - description: Maximum results (1-100)
        in: query
        name: limit
        schema:
          default: 50
          type: integer
      - description: Results to skip
        in: query
        name: offset
        schema:
          default: 0
          type: integer
      responses:
        '200':
          content:
            application/json:
              schema:
                allOf:
                - $ref: '#/components/schemas/middleware.Response'
                - properties:
                    data:
                      items:
                        $ref: '#/components/schemas/dto.MMAEventResponse'
                      type: array
                    meta:
                      $ref: '#/components/schemas/middleware.MetaInfo'
                  type: object
          description: OK
        '401':
          content:
            application/json:
              schema:
                allOf:
                - $ref: '#/components/schemas/middleware.Response'
                - properties:
                    error:
                      $ref: '#/components/schemas/middleware.ErrorInfo'
                  type: object
          description: Unauthorized
        '402':
          $ref: '#/components/responses/PaymentRequired'
        '500':
          content:
            application/json:
              schema:
                allOf:
                - $ref: '#/components/schemas/middleware.Response'
                - properties:
                    error:
                      $ref: '#/components/schemas/middleware.ErrorInfo'
                  type: object
          description: Internal Server Error
      security:
      - ApiKeyAuth: []
      - BearerAuth: []
      - x402: []
      summary: List MMA events
      tags:
      - mma
      x-x402:
        asset: '0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913'
        currency: USDC
        discovery: https://api.sportstatsapi.com/.well-known/x402
        minSinglePayment: '0.01'
        network: eip155:8453
        price: '0.002'
  /mma/events/{id}:
    get:
      description: 'A fight card with every bout from the main event down: weight class, fighters, winner, method, round, time, judges'' scores and fight stats'
      operationId: getMmaEventsById
      parameters:
      - description: Event ID
        in: path
        name: id
        required: true
        schema:
          type: integer
      responses:
        '200':
          content:
            application/json:
              schema:
                allOf:
                - $ref: '#/components/schemas/middleware.Response'
                - properties:
                    data:
                      $ref: '#/components/schemas/dto.MMAEventResponse'
                  type: object
          description: OK
        '400':
          content:
            application/json:
              schema:
                allOf:
                - $ref: '#/components/schemas/middleware.Response'
                - properties:
                    error:
                      $ref: '#/components/schemas/middleware.ErrorInfo'
                  type: object
          description: Bad Request
        '401':
          content:
            application/json:
              schema:
                allOf:
                - $ref: '#/components/schemas/middleware.Response'
                - properties:
                    error:
                      $ref: '#/components/schemas/middleware.ErrorInfo'
                  type: object
          description: Unauthorized
        '402':
          $ref: '#/components/responses/PaymentRequired'
        '404':
          content:
            application/json:
              schema:
                allOf:
                - $ref: '#/components/schemas/middleware.Response'
                - properties:
                    error:
                      $ref: '#/components/schemas/middleware.ErrorInfo'
                  type: object
          description: Not Found
      security:
      - ApiKeyAuth: []
      - BearerAuth: []
      - x402: []
      summary: Get an MMA event
      tags:
      - mma
      x-x402:
        asset: '0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913'
        currency: USDC
        discovery: https://api.sportstatsapi.com/.well-known/x402
        minSinglePayment: '0.01'
        network: eip155:8453
        price: '0.005'
  /mma/fighters:
    get:
      description: Fighters whose name contains q, among the bouts we hold, most recently active first
      operationId: getMmaFighters
      parameters:
      - description: Part of the name (2+ characters)
        in: query
        name: q
        required: true
        schema:
          type: string
      - description: Maximum results (1-100)
        in: query
        name: limit
        schema:
          default: 50
          type: integer
      responses:
        '200':
          content:
            application/json:
              schema:
                allOf:
                - $ref: '#/components/schemas/middleware.Response'
                - properties:
                    data:
                      items:
                        $ref: '#/components/schemas/dto.MMAFighterHit'
                      type: array
                  type: object
          description: OK
        '400':
          content:
            application/json:
              schema:
                allOf:
                - $ref: '#/components/schemas/middleware.Response'
                - properties:
                    error:
                      $ref: '#/components/schemas/middleware.ErrorInfo'
                  type: object
          description: Bad Request
        '401':
          content:
            application/json:
              schema:
                allOf:
                - $ref: '#/components/schemas/middleware.Response'
                - properties:
                    error:
                      $ref: '#/components/schemas/middleware.ErrorInfo'
                  type: object
          description: Unauthorized
        '500':
          content:
            application/json:
              schema:
                allOf:
                - $ref: '#/components/schemas/middleware.Response'
                - properties:
                    error:
                      $ref: '#/components/schemas/middleware.ErrorInfo'
                  type: object
          description: Internal Server Error
      security:
      - ApiKeyAuth: []
      - BearerAuth: []
      summary: Find MMA fighters
      tags:
      - mma
  /mma/fighters/{id}:
    get:
      description: 'Wins, losses, draws and no contests with the methods, from the bouts we hold (the provider''s 2026 season on; the data provider has no career records), and the last 10 fights. Where the fighter has a Wikipedia/Wikidata entry: profile (birth date, height, reach, stance, nationality, weight class, team), Wikipedia''s career record and the fights before 2026 (history), with the attribution (CC BY-SA 4.0 / CC0) in data and meta.'
      operationId: getMmaFightersById
      parameters:
      - description: Fighter ID
        in: path
        name: id
        required: true
        schema:
          type: integer
      responses:
        '200':
          content:
            application/json:
              schema:
                allOf:
                - $ref: '#/components/schemas/middleware.Response'
                - properties:
                    data:
                      $ref: '#/components/schemas/dto.MMAFighterResponse'
                    meta:
                      $ref: '#/components/schemas/middleware.MetaInfo'
                  type: object
          description: OK
        '400':
          content:
            application/json:
              schema:
                allOf:
                - $ref: '#/components/schemas/middleware.Response'
                - properties:
                    error:
                      $ref: '#/components/schemas/middleware.ErrorInfo'
                  type: object
          description: Bad Request
        '401':
          content:
            application/json:
              schema:
                allOf:
                - $ref: '#/components/schemas/middleware.Response'
                - properties:
                    error:
                      $ref: '#/components/schemas/middleware.ErrorInfo'
                  type: object
          description: Unauthorized
        '404':
          content:
            application/json:
              schema:
                allOf:
                - $ref: '#/components/schemas/middleware.Response'
                - properties:
                    error:
                      $ref: '#/components/schemas/middleware.ErrorInfo'
                  type: object
          description: Not Found
      security:
      - ApiKeyAuth: []
      - BearerAuth: []
      summary: Get an MMA fighter's record
      tags:
      - mma
  /mma/live:
    get:
      description: Events on now (a bout decided, not all), each with its full card
      operationId: getMmaLive
      responses:
        '200':
          content:
            application/json:
              schema:
                allOf:
                - $ref: '#/components/schemas/middleware.Response'
                - properties:
                    data:
                      items:
                        $ref: '#/components/schemas/dto.MMAEventResponse'
                      type: array
                  type: object
          description: OK
        '401':
          content:
            application/json:
              schema:
                allOf:
                - $ref: '#/components/schemas/middleware.Response'
                - properties:
                    error:
                      $ref: '#/components/schemas/middleware.ErrorInfo'
                  type: object
          description: Unauthorized
        '402':
          $ref: '#/components/responses/PaymentRequired'
        '500':
          content:
            application/json:
              schema:
                allOf:
                - $ref: '#/components/schemas/middleware.Response'
                - properties:
                    error:
                      $ref: '#/components/schemas/middleware.ErrorInfo'
                  type: object
          description: Internal Server Error
      security:
      - ApiKeyAuth: []
      - BearerAuth: []
      - x402: []
      summary: Get MMA cards in progress
      tags:
      - mma
      x-x402:
        asset: '0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913'
        currency: USDC
        discovery: https://api.sportstatsapi.com/.well-known/x402
        minSinglePayment: '0.01'
        network: eip155:8453
        price: '0.002'
components:
  responses:
    PaymentRequired:
      content:
        application/json:
          schema:
            properties:
              accepts:
                items:
                  additionalProperties: true
                  type: object
                type: array
              error:
                type: string
              resource:
                properties:
                  mimeType:
                    type: string
                  url:
                    type: string
                type: object
              x402Version:
                example: 2
                type: integer
            required:
            - x402Version
            - accepts
            type: object
      description: 'Payment Required: no API key and no valid payment. The body and the PAYMENT-REQUIRED header (base64 JSON) carry the x402 offers; pay one and repeat the request with PAYMENT-SIGNATURE. Only a 200 answer is charged.'
      headers:
        PAYMENT-REQUIRED:
          description: Base64 JSON of the x402 offers
          schema:
            type: string
  schemas:
    dto.MMAHistoryFight:
      properties:
        date:
          description: YYYY-MM-DD
          type: string
        event:
          type: string
        location:
          type: string
        method:
          type: string
        opponent:
          type: string
        record:
          type: string
        result:
          type: string
        round:
          type: integer
        time:
          type: string
      type: object
    dto.MMAFighterRef:
      properties:
        id:
          type: integer
        name:
          type: string
      type: object
    dto.MMAFighterProfile:
      properties:
        birth_date:
          description: YYYY-MM-DD
          type: string
        height_cm:
          type: integer
        nationality:
          description: citizenship(s)
          type: string
        reach_cm:
          type: integer
        source:
          type: string
        stance:
          description: Orthodox, Southpaw, Switch
          type: string
        team:
          type: string
        updated_at:
          type: string
        weight_class:
          description: current or last division
          type: string
        wikidata_id:
          type: string
        wikipedia_title:
          type: string
      type: object
    dto.MMABoutResponse:
      properties:
        attribution:
          type: string
        event_id:
          type: integer
        fighter1:
          $ref: '#/components/schemas/dto.MMAFighterRef'
        fighter2:
          $ref: '#/components/schemas/dto.MMAFighterRef'
        id:
          type: integer
        judges_scores:
          description: '"29-28", one per judge'
          items:
            type: string
          type: array
        main_card:
          type: boolean
        main_event:
          type: boolean
        method:
          type: string
        method_detail:
          description: Punches, Rear Naked Choke
          type: string
        order:
          type: integer
        result_source:
          description: 'ResultSource: provider, or wikipedia where the result (winner,

            method, round, time, scores) is the event article''s: the data provider had

            none, it was changed after the event (overturned), or the data provider does

            not list the bout. Attribution is set then.'
          type: string
        round:
          description: the round it ended in
          type: integer
        start:
          description: UTC
          type: string
        stats:
          description: 'fighter1, fighter2: strikes by target (total, power), knockdowns, takedowns, submissions, control time'
          items:
            type: integer
          type: array
        status:
          description: scheduled, live, finished, cancelled, postponed
          type: string
        time:
          description: time in that round, "4:07"
          type: string
        updated_at:
          type: string
        weight_class:
          type: string
        winner:
          type: integer
      type: object
    dto.MMAEventResponse:
      properties:
        attribution:
          description: 'Attribution: set when a result shown comes from Wikipedia.'
          type: string
        bouts:
          type: integer
        card:
          items:
            $ref: '#/components/schemas/dto.MMABoutResponse'
          type: array
        date:
          description: the event's (US) date
          type: string
        id:
          type: integer
        main_event:
          $ref: '#/components/schemas/dto.MMABoutResponse'
        name:
          type: string
        status:
          type: string
      type: object
    dto.MMAFighterResponse:
      properties:
        attribution:
          type: string
        career_record:
          $ref: '#/components/schemas/dto.MMACareerRecord'
        draws:
          type: integer
        history:
          items:
            $ref: '#/components/schemas/dto.MMAHistoryFight'
          type: array
        id:
          type: integer
        losses:
          type: integer
        losses_by:
          additionalProperties:
            type: integer
          description: same
          type: object
        name:
          type: string
        no_contests:
          type: integer
        profile:
          $ref: '#/components/schemas/dto.MMAFighterProfile'
        recent_fights:
          items:
            $ref: '#/components/schemas/dto.MMABoutResponse'
          type: array
        record:
          description: W-L-D
          type: string
        record_source:
          type: string
        wins:
          type: integer
        wins_by:
          additionalProperties:
            type: integer
          description: ko_tko, submission, decision, other
          type: object
      type: object
    dto.MMAFighterHit:
      properties:
        bouts:
          type: integer
        id:
          type: integer
        last_bout:
          description: YYYY-MM-DD
          type: string
        name:
          type: string
      type: object
    middleware.Response:
      properties:
        data: {}
        error:
          $ref: '#/components/schemas/middleware.ErrorInfo'
        meta:
          $ref: '#/components/schemas/middleware.MetaInfo'
        success:
          type: boolean
      type: object
    middleware.MetaInfo:
      properties:
        attribution:
          description: Attribution a data source's licence asks for (Cricsheet's history).
          type: string
        has_more:
          description: 'HasMore: the cursor-paged list has more rows now (ask again at once).'
          type: boolean
        limit:
          type: integer
        live:
          description: 'Live: the answer is the live feed''s, kept while the match is played

            (cricket ball by ball before Cricsheet''s file replaces it).'
          type: boolean
        next_cursor:
          description: NextCursor continues a cursor-paged list (GET /changes).
          type: string
        offset:
          type: integer
        sources:
          description: 'Sources: where the answer''s data came from, with each source''s licence

            and the attribution it asks for (docs/source-licences.md).'
          items:
            $ref: '#/components/schemas/middleware.SourceInfo'
          type: array
        total:
          type: integer
        warnings:
          description: 'Warnings: query parameters ignored or changed (a limit above the

            maximum is clamped to it; a from/to that is not a date is ignored).'
          items:
            type: string
          type: array
      type: object
    middleware.SourceInfo:
      properties:
        attribution:
          description: show it with the data
          example: 'Data: nflverse (CC-BY 4.0)'
          type: string
        licence:
          description: the licence or terms the data is served under
          example: CC-BY-4.0
          type: string
        name:
          description: provider = our main licensed feed
          example: nflverse
          type: string
      type: object
    middleware.ErrorInfo:
      properties:
        code:
          type: string
        message:
          type: string
      type: object
    dto.MMACareerRecord:
      properties:
        draws:
          type: integer
        losses:
          type: integer
        no_contests:
          type: integer
        record:
          description: W-L-D
          type: string
        source:
          type: string
        wins:
          type: integer
      type: object
  securitySchemes:
    ApiKeyAuth:
      description: API key
      in: header
      name: X-API-Key
      type: apiKey
    BearerAuth:
      description: The same API key as a bearer token
      scheme: bearer
      type: http
    x402:
      description: x402 v2 payment (USDC on Base, eip155:8453) built from the offers of a 402 answer; see https://api.sportstatsapi.com/.well-known/x402
      in: header
      name: PAYMENT-SIGNATURE
      type: apiKey
externalDocs:
  description: x402 payment offers and prices
  url: https://api.sportstatsapi.com/.well-known/x402