{
  "openapi": "3.1.0",
  "info": {
    "title": "Arena API",
    "version": "1.0.0",
    "summary": "Rank and score of every model on about 30 public AI leaderboards, captured daily, plus a composite that names the leader of leaders",
    "description": "Rank and score of every model on about 30 public AI leaderboards, captured daily, plus a composite that names the leader of leaders. Captured every day at 04:30 UTC. Free to read; please cite \"Arena (arena.fru.dev)\" with a link. Responses are cached at the edge; keep to about 60 requests a minute. Guide: https://arena.fru.dev/agents",
    "contact": {
      "name": "fru.dev",
      "url": "https://fru.dev",
      "email": "fru.dev3@gmail.com"
    }
  },
  "externalDocs": {
    "description": "For AI agents",
    "url": "https://arena.fru.dev/agents"
  },
  "servers": [
    {
      "url": "https://arena.fru.dev"
    }
  ],
  "paths": {
    "/api/leaders": {
      "get": {
        "operationId": "leader_of_leaders",
        "summary": "The composite ranking: every model that earns points on the fresh language-model boards",
        "description": "The composite ranking: every model that earns points on the fresh language-model boards. Returns models in rank order with podium score (0 to 100), #1 finishes, top-10 places and median rank.",
        "parameters": [
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "description": "Items per page, 1 to 200",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 200,
              "default": 200
            }
          },
          {
            "name": "offset",
            "in": "query",
            "required": false,
            "description": "Items to skip, for the next page",
            "schema": {
              "type": "integer",
              "minimum": 0,
              "default": 0
            }
          }
        ],
        "responses": {
          "200": {
            "description": "models in rank order with podium score (0 to 100), #1 finishes, top-10 places and median rank",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                },
                "example": {
                  "capturedAt": "2026-09-23T13:51:56.857Z",
                  "boardsCounted": [
                    "lmarena-text",
                    "scale-multichallenge"
                  ],
                  "method": "https://arena.fru.dev/method",
                  "items": [
                    {
                      "rank": 1,
                      "model": "claude-fable-5-1",
                      "name": "Claude Fable 5.1",
                      "vendor": "anthropic",
                      "vendorName": "Anthropic",
                      "openWeights": false,
                      "podiumScore": 58,
                      "points": 87,
                      "wins": 1,
                      "top10": 11,
                      "listed": 11,
                      "medianRank": 2,
                      "url": "https://arena.fru.dev/models/claude-fable-5-1"
                    },
                    {
                      "rank": 2,
                      "model": "gpt-6-astra",
                      "name": "GPT-6 Astra",
                      "vendor": "openai",
                      "vendorName": "OpenAI",
                      "openWeights": false,
                      "podiumScore": 48.7,
                      "points": 73,
                      "wins": 5,
                      "top10": 8,
                      "listed": 11,
                      "medianRank": 3,
                      "url": "https://arena.fru.dev/models/gpt-6-astra"
                    }
                  ],
                  "total": 60,
                  "limit": 3,
                  "offset": 0,
                  "next": "/api/leaders?limit=3&offset=3"
                }
              }
            }
          }
        }
      }
    },
    "/api/boards": {
      "get": {
        "operationId": "list_boards",
        "summary": "Every leaderboard tracked, with its current #1",
        "description": "Every leaderboard tracked, with its current #1. Returns boards with category, metric, status (fresh, stale, retired), publish date, entry count and the #1 model and score.",
        "parameters": [
          {
            "name": "category",
            "in": "query",
            "required": false,
            "description": "Only boards in this category",
            "schema": {
              "type": "string",
              "enum": [
                "chat",
                "reasoning",
                "coding",
                "agents",
                "vision",
                "image",
                "video",
                "speech",
                "embeddings",
                "speed",
                "price",
                "usage"
              ]
            },
            "example": "coding"
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "description": "Items per page, 1 to 200",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 200,
              "default": 200
            }
          },
          {
            "name": "offset",
            "in": "query",
            "required": false,
            "description": "Items to skip, for the next page",
            "schema": {
              "type": "integer",
              "minimum": 0,
              "default": 0
            }
          }
        ],
        "responses": {
          "200": {
            "description": "boards with category, metric, status (fresh, stale, retired), publish date, entry count and the #1 model and score",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                },
                "example": {
                  "capturedAt": "2026-09-23T13:51:56.857Z",
                  "items": [
                    {
                      "id": "lmarena-webdev",
                      "name": "LMArena WebDev Arena",
                      "org": "LMArena",
                      "category": "coding",
                      "metric": "Arena rating",
                      "unit": "elo",
                      "higherIsBetter": true,
                      "status": "fresh",
                      "publishedOn": "2026-09-22",
                      "capturedAt": "2026-09-23 13:51:51",
                      "entries": 100,
                      "countsTowardComposite": true,
                      "leader": {
                        "model": "gpt-6-astra",
                        "name": "GPT-6 Astra",
                        "publishedAs": "gpt-6-astra-max",
                        "score": 1793.1844725539563,
                        "verified": true
                      },
                      "source": "https://lmarena.ai/leaderboard/webdev"
                    },
                    {
                      "id": "scale-swe-pro",
                      "name": "SWE-Bench Pro",
                      "org": "Scale AI",
                      "category": "coding",
                      "metric": "Resolved",
                      "unit": "%",
                      "higherIsBetter": true,
                      "status": "fresh",
                      "publishedOn": "2026-09-23",
                      "capturedAt": "2026-09-23 13:51:53",
                      "entries": 11,
                      "countsTowardComposite": true,
                      "leader": {
                        "model": "claude-opus-5",
                        "name": "Claude Opus 5",
                        "publishedAs": "Opus 5 (Claude Code) xhigh",
                        "score": 98,
                        "verified": true
                      },
                      "source": "https://scale.com/leaderboard/swe_bench_pro_public_v2"
                    }
                  ],
                  "total": 4,
                  "limit": 2,
                  "offset": 0,
                  "next": "/api/boards?category=coding&limit=2&offset=2"
                }
              }
            }
          }
        }
      }
    },
    "/api/boards/{id}": {
      "get": {
        "operationId": "board_ranking",
        "summary": "One board: the full ranking as published, best variant per model",
        "description": "One board: the full ranking as published, best variant per model. Returns the board and up to 100 entries with rank, model, name as published, score and verified flag.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "Board id from /api/boards, e.g. lmarena-text",
            "schema": {
              "type": "string"
            },
            "example": "lmarena-text"
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "description": "Entries, 1 to 100",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 100
            }
          }
        ],
        "responses": {
          "200": {
            "description": "the board and up to 100 entries with rank, model, name as published, score and verified flag",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                },
                "example": {
                  "board": {
                    "id": "lmarena-text",
                    "name": "LMArena Text Arena",
                    "org": "LMArena",
                    "category": "chat",
                    "measures": "Blind pairwise votes from millions of people chatting with two anonymous models. Style control on.",
                    "metric": "Arena rating",
                    "unit": "elo",
                    "higherIsBetter": true,
                    "status": "fresh",
                    "publishedOn": "2026-09-13",
                    "capturedAt": "2026-09-23 13:51:50",
                    "entries": 100,
                    "source": "https://lmarena.ai/leaderboard/text",
                    "url": "https://arena.fru.dev/boards/lmarena-text"
                  },
                  "ranking": [
                    {
                      "rank": 1,
                      "model": "claude-fable-5",
                      "name": "Claude Fable 5",
                      "vendor": "anthropic",
                      "publishedAs": "claude-fable-5-high",
                      "score": 1505.682718082738,
                      "verified": true,
                      "capturedOn": "2026-09-23"
                    },
                    {
                      "rank": 2,
                      "model": "claude-opus-4-6",
                      "name": "Claude Opus 4.6",
                      "vendor": "anthropic",
                      "publishedAs": "claude-opus-4-6-high",
                      "score": 1504.559637415755,
                      "verified": true,
                      "capturedOn": "2026-09-23"
                    }
                  ]
                }
              }
            }
          },
          "404": {
            "description": "Not found"
          }
        }
      }
    },
    "/api/models/{id}": {
      "get": {
        "operationId": "model_ranks",
        "summary": "One model: its rank and score on every board that lists it",
        "description": "One model: its rank and score on every board that lists it. Returns the model (name, vendor, open weights, release date), its composite standing and one row per board.",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "description": "Model id, from /api/leaders or /api/search",
            "schema": {
              "type": "string"
            },
            "example": "gpt-6-astra"
          }
        ],
        "responses": {
          "200": {
            "description": "the model (name, vendor, open weights, release date), its composite standing and one row per board",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                },
                "example": {
                  "model": {
                    "id": "gpt-6-astra",
                    "name": "GPT-6 Astra",
                    "vendor": "openai",
                    "vendorName": "OpenAI",
                    "openWeights": false,
                    "releaseDate": "2026-09-02",
                    "url": "https://arena.fru.dev/models/gpt-6-astra"
                  },
                  "standing": {
                    "rank": 2,
                    "podiumScore": 48.7,
                    "wins": 5,
                    "top10": 8,
                    "listed": 11,
                    "medianRank": 3
                  },
                  "boards": [
                    {
                      "board": "lmarena-webdev",
                      "name": "LMArena WebDev Arena",
                      "category": "coding",
                      "rank": 1,
                      "of": 100,
                      "score": 1793.1844725539563,
                      "unit": "elo",
                      "publishedAs": "gpt-6-astra-max",
                      "verified": true,
                      "status": "fresh",
                      "capturedOn": "2026-09-23"
                    },
                    {
                      "board": "scale-hle",
                      "name": "Humanity's Last Exam",
                      "category": "reasoning",
                      "rank": 1,
                      "of": 42,
                      "score": 54.8,
                      "unit": "%",
                      "publishedAs": "GPT 6 Astra",
                      "verified": true,
                      "status": "fresh",
                      "capturedOn": "2026-09-23"
                    }
                  ]
                }
              }
            }
          },
          "404": {
            "description": "Not found"
          }
        }
      }
    },
    "/api/search": {
      "get": {
        "operationId": "search",
        "summary": "Search models, boards, labs and pages",
        "description": "Search models, boards, labs and pages. Returns up to 20 ranked results with title, link and one line.",
        "parameters": [
          {
            "name": "q",
            "in": "query",
            "required": true,
            "description": "A model, board or lab name",
            "schema": {
              "type": "string"
            },
            "example": "claude"
          }
        ],
        "responses": {
          "200": {
            "description": "up to 20 ranked results with title, link and one line",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                },
                "example": {
                  "q": "claude",
                  "results": [
                    {
                      "id": "m:claude-opus-5",
                      "group": "items",
                      "title": "Claude Opus 5",
                      "subtitle": "Anthropic · #3 overall · 10 boards",
                      "href": "/models/claude-opus-5",
                      "keywords": [
                        "claude opus 5"
                      ],
                      "logo": "https://img.logo.dev/anthropic.com?token=...&retina=true&format=png&theme=light&size=64&fallback=404",
                      "boost": 27,
                      "score": 845
                    },
                    {
                      "id": "m:claude-fable-5-1",
                      "group": "items",
                      "title": "Claude Fable 5.1",
                      "subtitle": "Anthropic · #1 overall · 13 boards",
                      "href": "/models/claude-fable-5-1",
                      "keywords": [
                        "claude fable 5 1"
                      ],
                      "logo": "https://img.logo.dev/anthropic.com?token=...&retina=true&format=png&theme=light&size=64&fallback=404",
                      "boost": 29,
                      "score": 844
                    }
                  ]
                }
              }
            }
          }
        }
      }
    }
  }
}