{
  "openapi": "3.0.1",
  "info": {
    "title": "Fight Matrix MMA Rankings Scraper",
    "description": "Fight Matrix MMA rankings: every ranked fighter in every division, quarterly historical rankings since 1990, and fighter profiles with ratings, stats and fight history.",
    "version": "0.1",
    "x-build-id": "VUopCGdKRJ3pfqD8g"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/artsiom_k~fightmatrix-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-artsiom_k-fightmatrix-scraper",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/acts/artsiom_k~fightmatrix-scraper/runs": {
      "post": {
        "operationId": "runs-sync-artsiom_k-fightmatrix-scraper",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor and returns information about the initiated run in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/runsResponseSchema"
                }
              }
            }
          }
        }
      }
    },
    "/acts/artsiom_k~fightmatrix-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-artsiom_k-fightmatrix-scraper",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "inputSchema": {
        "type": "object",
        "properties": {
          "entityType": {
            "title": "Data type",
            "enum": [
              "rankings",
              "historicalRankings",
              "fighters"
            ],
            "type": "string",
            "description": "\"rankings\": the current Fight Matrix rankings, every ranked fighter (about 1,500 in a big division). \"historicalRankings\": the quarterly rankings since 1990. \"fighters\": full fighter profiles with stats, every fight with the opponent's rank at the time and the ranking history.",
            "default": "rankings"
          },
          "divisions": {
            "title": "Divisions",
            "type": "array",
            "description": "Divisions to scrape. Empty = all of them (men's and women's divisions, pound-for-pound and the dominance lists). For fighters: the fighters ranked in these divisions.",
            "items": {
              "type": "string",
              "enum": [
                "pound-for-pound",
                "division-dominance",
                "heavyweight",
                "light-heavyweight",
                "middleweight",
                "welterweight",
                "lightweight",
                "featherweight",
                "bantamweight",
                "flyweight",
                "strawweight",
                "womens-pound-for-pound",
                "womens-division-dominance",
                "womens-featherweight",
                "womens-bantamweight",
                "womens-flyweight",
                "womens-strawweight",
                "womens-atomweight"
              ],
              "enumTitles": [
                "Pound-for-Pound",
                "Division Dominance",
                "Heavyweight",
                "Light Heavyweight",
                "Middleweight",
                "Welterweight",
                "Lightweight",
                "Featherweight",
                "Bantamweight",
                "Flyweight",
                "Strawweight",
                "Women's Pound-for-Pound",
                "Women's Division Dominance",
                "Women's Featherweight",
                "Women's Bantamweight",
                "Women's Flyweight",
                "Women's Strawweight",
                "Women's Atomweight"
              ]
            },
            "default": []
          },
          "maxRank": {
            "title": "Ranks per division",
            "minimum": 1,
            "type": "integer",
            "description": "Only the top N of each division (e.g. 25 or 100). Empty = the whole list."
          },
          "promotion": {
            "title": "Promotion filter",
            "type": "string",
            "description": "Current rankings: only fighters whose last fight was in this promotion, exactly as Fight Matrix names it (UFC, PFL, ONE Championship, Rizin Fighting Federation, Oktagon MMA, Cage Warriors, LFA, KSW...). Ranks are then within the filter, with the overall rank alongside."
          },
          "country": {
            "title": "Country filter",
            "type": "string",
            "description": "Current rankings: a two-letter country code (US, BR, RU...) or a Fight Matrix region code (REU Europe, REE Eastern Europe, RAS Asia, RWE Western Europe, RNA North America)."
          },
          "ratingSystem": {
            "title": "Rating system",
            "enum": [
              "FM",
              "R_ELOK170",
              "R_ELOMOD1",
              "R_GLICKO1",
              "R_WHR"
            ],
            "type": "string",
            "description": "Current rankings: Fight Matrix's own ratings, or the same fights rated by Elo, modified Elo, Glicko-1 or WHR.",
            "default": "FM"
          },
          "dateFrom": {
            "title": "Issues from (YYYY-MM-DD)",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
            "type": "string",
            "description": "Historical rankings: only quarterly issues on or after this date (issues are dated Jan 1, Apr 1, Jul 1 and Oct 1, from 1990)."
          },
          "dateTo": {
            "title": "Issues to (YYYY-MM-DD)",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
            "type": "string",
            "description": "Historical rankings: only issues on or before this date."
          },
          "startUrls": {
            "title": "Fighter profile URLs",
            "type": "array",
            "description": "Fighters only: specific Fight Matrix profiles (https://www.fightmatrix.com/fighter-profile/Ilia%20Topuria/149195/). When set, they replace the division selection.",
            "items": {
              "type": "string"
            }
          },
          "maxItems": {
            "title": "Max results",
            "minimum": 1,
            "type": "integer",
            "description": "Stop after pushing this many rows. Defaults to 50 - a fast, cheap preview. Set to null for everything in your selection.",
            "default": 50
          },
          "mode": {
            "title": "Incremental mode",
            "enum": [
              "auto",
              "full",
              "incremental"
            ],
            "type": "string",
            "description": "Current rankings only. \"incremental\" returns only fighters who are new to the list or whose rank, points or record changed since the last complete run of the same selection, plus those who dropped out (delisted). \"auto\" is incremental when Max results is cleared and an earlier run exists.",
            "default": "auto"
          },
          "concurrency": {
            "title": "Concurrency",
            "minimum": 1,
            "maximum": 12,
            "type": "integer",
            "description": "Requests in flight at once.",
            "default": 6
          },
          "impersonate": {
            "title": "TLS impersonation target",
            "enum": [
              "chrome",
              "firefox",
              "safari"
            ],
            "type": "string",
            "description": "Browser TLS fingerprint. Change only if requests are blocked.",
            "default": "chrome"
          },
          "proxyConfiguration": {
            "title": "Proxy configuration",
            "type": "object",
            "description": "Apify Proxy settings. Not needed in testing.",
            "default": {
              "useApifyProxy": false
            }
          }
        }
      },
      "runsResponseSchema": {
        "type": "object",
        "properties": {
          "data": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "actId": {
                "type": "string"
              },
              "userId": {
                "type": "string"
              },
              "startedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "finishedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "status": {
                "type": "string",
                "example": "READY"
              },
              "meta": {
                "type": "object",
                "properties": {
                  "origin": {
                    "type": "string",
                    "example": "API"
                  },
                  "userAgent": {
                    "type": "string"
                  }
                }
              },
              "stats": {
                "type": "object",
                "properties": {
                  "inputBodyLen": {
                    "type": "integer",
                    "example": 2000
                  },
                  "rebootCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "restartCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "resurrectCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "computeUnits": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "options": {
                "type": "object",
                "properties": {
                  "build": {
                    "type": "string",
                    "example": "latest"
                  },
                  "timeoutSecs": {
                    "type": "integer",
                    "example": 300
                  },
                  "memoryMbytes": {
                    "type": "integer",
                    "example": 1024
                  },
                  "diskMbytes": {
                    "type": "integer",
                    "example": 2048
                  }
                }
              },
              "buildId": {
                "type": "string"
              },
              "defaultKeyValueStoreId": {
                "type": "string"
              },
              "defaultDatasetId": {
                "type": "string"
              },
              "defaultRequestQueueId": {
                "type": "string"
              },
              "buildNumber": {
                "type": "string",
                "example": "1.0.0"
              },
              "containerUrl": {
                "type": "string"
              },
              "usage": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "integer",
                    "example": 1
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "usageTotalUsd": {
                "type": "number",
                "example": 0.00005
              },
              "usageUsd": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "number",
                    "example": 0.00005
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}