# LMArena API

> LMArena returns AI model rankings, scores, and votes, available as a workflow and API.

LMArena, also called Chatbot Arena, returns ranked models, scores, votes, confidence intervals, organizations, licenses, and update dates. Get leaderboard takes an arena category and model limit, returning ranked entries for up to 200 models.

- Page: https://fous.com/tools/lmarena
- Handle: `@lmarena`
- Category: [AI](https://fous.com/tools/category/ai)
- Source website: https://arena.ai/leaderboard
- Last verified: Sep 29, 2026

## Methods

### Get leaderboard

Operation `get_leaderboard`, version 1. 1 credit per completed call. Failed calls without a completed billing receipt are free; completed work can remain charged if delivery is interrupted.

Get ranked AI models, scores, votes, confidence intervals, organizations, licenses, and the last-updated date for an Arena leaderboard. Covers the overall rankings in seven listed arenas; up to 200 models.

**Input**

| Field | Type | Required | Example | Description |
|---|---|---|---|---|
| `category` | string | no | `"webdev"` | Arena to rank, for example text or webdev. Available: text, webdev, vision, text_to_image, image_edit, search, text_to_video. |
| `max_results` | integer | no | `5` | Maximum models to return, for example 25 (up to 200). |

**Input schema**

```json
{
  "type": "object",
  "properties": {
    "category": {
      "type": "string",
      "default": "text",
      "description": "Arena to rank, for example text or webdev. Available: text, webdev, vision, text_to_image, image_edit, search, text_to_video.",
      "examples": [
        "webdev",
        "text",
        "text_to_image"
      ]
    },
    "max_results": {
      "type": "integer",
      "default": 25,
      "maximum": 200,
      "minimum": 1,
      "description": "Maximum models to return, for example 25 (up to 200).",
      "x-fous-developer": true,
      "examples": [
        5,
        25,
        4
      ]
    }
  },
  "additionalProperties": false,
  "examples": [
    {
      "category": "webdev",
      "max_results": 5
    },
    {
      "category": "text",
      "max_results": 25
    },
    {
      "category": "text_to_image",
      "max_results": 4
    }
  ]
}
```

**Output**

| Field | Type | Example | Description |
|---|---|---|---|
| `models` | array |  | Models in the order shown on the leaderboard. |
| `models[].rank` | integer | `1` | Rank on the selected leaderboard. |
| `models[].votes` | integer | `1607` | Number of votes for this model. |
| `models[].license` | string or null | `"Proprietary"` | Displayed model license. |
| `models[].model_name` | string | `"claude-opus-5.5-max"` | Displayed model name. |
| `models[].arena_score` | integer | `1827` | Displayed Arena score. |
| `models[].organization` | string or null | `"Anthropic"` | Organization behind the model. |
| `models[].leaderboard_link` | string | `"https://arena.ai/leaderboard/code/webdev"` | Public page for this leaderboard. |
| `models[].confidence_interval` | string or null | `"+18/-18"` | Confidence interval exactly as displayed, such as ±12 or +18/-18. |
| `last_updated` | string | `"2026-09-25"` | Date the selected leaderboard was last updated (YYYY-MM-DD). |

**Example input**

```json
{
  "category": "webdev",
  "max_results": 5
}
```

**Example output**

```json
{
  "models": [
    {
      "rank": 1,
      "votes": 1607,
      "license": "Proprietary",
      "model_name": "claude-opus-5.5-max",
      "arena_score": 1827,
      "organization": "Anthropic",
      "leaderboard_link": "https://arena.ai/leaderboard/code/webdev",
      "confidence_interval": "+18/-18"
    },
    {
      "rank": 2,
      "votes": 4908,
      "license": "Proprietary",
      "model_name": "gpt-6-astra-max",
      "arena_score": 1792,
      "organization": "OpenAI",
      "leaderboard_link": "https://arena.ai/leaderboard/code/webdev",
      "confidence_interval": "+11/-11"
    },
    {
      "rank": 3,
      "votes": 5313,
      "license": "Proprietary",
      "model_name": "claude-fable-5.1-max",
      "arena_score": 1751,
      "organization": "Anthropic",
      "leaderboard_link": "https://arena.ai/leaderboard/code/webdev",
      "confidence_interval": "+10/-10"
    }
  ],
  "last_updated": "2026-09-25"
}
```

## Quick start

Replace `YOUR_API_KEY` with a Fous API key. To create one, open Developers at the bottom of Fous Studio, turn on Developer mode, then go to API keys (https://app.fous.com/keys). Change the values in `input` to run the same tool on new data.

```bash
curl 'https://api.fous.com/v1/query' \
  --fail-with-body --silent --show-error --max-time 180 \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H 'Content-Type: application/json' \
  --data-raw '{
  "api": "@lmarena",
  "visibility": "public",
  "operation": "get_leaderboard",
  "version": 1,
  "input": {
    "category": "webdev",
    "max_results": 5
  },
  "response": {
    "format": "json"
  }
}'
```

```python
# Save as fous.py and run with python3 fous.py. No packages needed.
import json
import urllib.error
import urllib.request

api_key = "YOUR_API_KEY"

body = json.loads("{\n  \"api\": \"@lmarena\",\n  \"visibility\": \"public\",\n  \"operation\": \"get_leaderboard\",\n  \"version\": 1,\n  \"input\": {\n    \"category\": \"webdev\",\n    \"max_results\": 5\n  },\n  \"response\": {\n    \"format\": \"json\"\n  }\n}")
request = urllib.request.Request(
    "https://api.fous.com/v1/query",
    data=json.dumps(body).encode("utf-8"),
    headers={
        "Authorization": f"Bearer {api_key}",
        "Content-Type": "application/json",
    },
    method="POST",
)
try:
    with urllib.request.urlopen(request, timeout=180) as response:
        result = json.load(response)
except urllib.error.HTTPError as error:
    raise RuntimeError(f"HTTP {error.code}: {error.read().decode('utf-8', errors='replace')}") from error
if result.get("success") is False:
    raise RuntimeError(result.get("error", {}).get("message", "Request failed"))
print(json.dumps(result["data"]["output"], indent=2))
```

```typescript
// Save as fous.mts and run with npx tsx fous.mts.
const apiKey = "YOUR_API_KEY";

const response = await fetch("https://api.fous.com/v1/query", {
  method: "POST",
  headers: {
    "Authorization": `Bearer ${apiKey}`,
    "Content-Type": "application/json",
  },
  signal: AbortSignal.timeout(180_000),
  body: JSON.stringify({
  "api": "@lmarena",
  "visibility": "public",
  "operation": "get_leaderboard",
  "version": 1,
  "input": {
    "category": "webdev",
    "max_results": 5
  },
  "response": {
    "format": "json"
  }
}),
});
type ApiResult = { success: boolean; data?: { output: unknown }; error?: { message: string } };
const result: ApiResult = await response.json();
if (!response.ok || result.success === false) {
  throw new Error(result.error?.message ?? `HTTP ${response.status}`);
}
if (!result.data) throw new Error("Missing API response data");
console.log(result.data.output);
```

## Use from an AI assistant

Connect this tool to Claude Code, Claude Desktop, Cursor, VS Code, Codex and any MCP client as its own MCP server. Each method is a typed tool whose arguments are the method’s input.

- Server URL: `https://api.fous.com/mcp/tools/lmarena`
- Authorization: `Authorization: Bearer <Fous API key>`

**Tools**

- `get_leaderboard`: Get leaderboard. 1 credit per completed call. Failed calls without a completed billing receipt are free; completed work can remain charged if delivery is interrupted.
- `fous_get_run`: the result of a run that was still going, by its `request_id`. Free.

Claude Code:

```bash
claude mcp add --scope user --transport http fous-lmarena https://api.fous.com/mcp/tools/lmarena --header "Authorization: Bearer ${FOUS_API_KEY:?Set FOUS_API_KEY to your Fous API key}"
```

To give the assistant every tool, connect `https://api.fous.com/mcp`: it finds one with `fous_search_tools` and runs it with `fous_run_tool`. Setup for other clients: https://fous.com/llms-full.txt.

## Use cases

- Compare model rankings across arena categories
- Track Arena scores and vote counts
- Review model organizations and displayed licenses
- Monitor confidence intervals for ranked models
- Check when a selected leaderboard was last updated

## FAQ

### Can I run it with my own inputs?

Yes. Change the inputs in Studio and press Run, or send new inputs from your code, or ask a connected AI assistant.

### Can I call this LMArena tool as an API?

Yes. Send a POST request to /v1/query with your Fous API key and the inputs, and get JSON back.

### How much does it cost?

Each completed run costs 1 credit. Failed runs without a completed receipt are free; completed work can remain charged if delivery is interrupted. With pay as you go, a credit costs 1¢. Monthly plans cost less per credit.

### Do I need a LMArena account?

No. You only need a Fous account.

### How current is the data?

Fous gets the data from arena.ai when you run it. Some results are reused for up to 24 hours, and results that use your account or key are never reused. It was last verified on Sep 29, 2026.

### Which AI models rank highest in an arena?

Get leaderboard returns models in leaderboard order, with each model’s rank and Arena score.

### How many votes does each model have?

Get leaderboard returns the vote count for each model.

### When was the selected leaderboard last updated?

Get leaderboard returns the selected leaderboard’s last-updated date.

## Related

- [Hugging Face API](https://fous.com/tools/hugging-face.md): Hugging Face returns public model, dataset, and demo search results, model details, or weekly trending models; unpublished information may be missing, and demo availability can change.
- [Sports Reference API](https://fous.com/tools/sports-reference.md): Sports Reference provides regular-season career stats, awards and season records across basketball, football, baseball and hockey, plus season leaders using the latest published season if unspecified.
- [Chess.com API](https://fous.com/tools/chess-com.md): Chess.com returns public player profiles, ratings, records, puzzle scores, top-player rankings, and completed public games for a selected month, defaulting to the current UTC month.
- [OpenRouter API](https://fous.com/tools/openrouter.md): OpenRouter lets you browse and compare AI models by price, context, supported inputs, release date, hosting providers, and reported one-day uptime when available.
- [Twitch API](https://fous.com/tools/twitch.md): Twitch returns channel profiles, live status, up to 10 broadcasts, top streams, viewer-ranked categories, up to 100 public videos/clips, and 1–30-day schedules; counts change.
- [Polymarket API](https://fous.com/tools/polymarket.md): Polymarket shows searchable markets with search-time odds and sometimes-unavailable 24-hour volume, ranks open markets by trading, and tracks chances over time, sometimes without recent points.
- [CoinGecko API](https://fous.com/tools/coingecko.md): CoinGecko returns cryptocurrency prices and histories, sector rankings and details, and trending coins; non-USD historical values cover 365 days, histories 7–365 days, and today’s prices may change.
- [Roblox API](https://fous.com/tools/roblox.md): Explore and play community-created Roblox experiences, find experiences by name or link, and browse current Charts rankings with player counts and other details.
- [All AI tools](https://fous.com/tools/category/ai)
