Arena API: Get leaderboard
Gets the ranked AI models of an LMArena (Arena) leaderboard with scores, confidence intervals, votes, organizations, licenses and the date the leaderboard was last updated.
Unofficial. Not affiliated with or endorsed by Arena.
Inputs
Values from the run on Oct 31, 2026, shown under Output.
- Category optional
category Arena to rank, for example text or webdev. Available: text, webdev, vision, text_to_image, image_edit, search, text_to_video.
text
One of
text,webdev,vision,text_to_image,image_edit,search,text_to_video. Defaulttext.- Max Results optional
max_results Maximum models to return, for example 25 (up to 200).
25
Whole number from 1 to 200. Default
25.
Input as JSON
{ "category": "text", "max_results": 25}Output
{ "models": [ { "rank": 1, "votes": 2307, "license": "Proprietary", "model_name": "claude-opus-5.5-high", "arena_score": 1509, "organization": "Anthropic", "leaderboard_link": "https://arena.ai/leaderboard/text" , "confidence_interval": "±12" }, { "rank": 2, "votes": 76518, "license": "Proprietary", "model_name": "claude-opus-4-6-high", "arena_score": 1505, "organization": "Anthropic", "leaderboard_link": "https://arena.ai/leaderboard/text" , "confidence_interval": "±3" }, { "rank": 3, "votes": 36462, "license": "Proprietary", "model_name": "claude-fable-5-high", "arena_score": 1504, "organization": "Anthropic", "leaderboard_link": "https://arena.ai/leaderboard/text" , "confidence_interval": "±4" } ], "last_updated": "2026-09-25"}Code
curl https://api.fous.com/v1/runs \ -H "Authorization: Bearer $FOUS_API_KEY" \ -H "Content-Type: application/json" \ -d '{"method":"arena.ai/get_leaderboard","input":{"category":"text","max_results":25}}' # Save as fous.py, then run: python3 fous.pyimport json, os, timefrom urllib.error import HTTPErrorfrom urllib.request import Request, urlopenAPI = "https://api.fous.com/v1/runs" KEY = os.environ["FOUS_API_KEY"]HEADERS = { "Authorization": f"Bearer {KEY}", "Content-Type": "application/json" ,}def call(url, body=None): data = json.dumps(body).encode() if body else None request = Request(url, data, HEADERS) try: with urlopen(request, timeout=120) as r: return r.status, json.load(r) except HTTPError as error: message = json.load(error)["error"]["message"] raise RuntimeError(message) from errorstatus, run = call(API, { "method": "arena.ai/get_leaderboard" , "input": { "category": "text", "max_results": 25 }})# 202: still going after 30 s. Ask again until it ends.while status == 202: time.sleep(2) status, run = call(f"{API}/{run['id']}")print(json.dumps(run["data"], indent=2))// Save as fous.mjs, then run: node fous.mjsconst api = "https://api.fous.com/v1/runs" ;const headers = { Authorization: `Bearer ${process.env.FOUS_API_KEY}`, "Content-Type": "application/json" ,};let response = await fetch(api, { method: "POST", headers, body: JSON.stringify({ "method": "arena.ai/get_leaderboard" , "input": { "category": "text", "max_results": 25 } }), signal: AbortSignal.timeout(120_000),});let run = await response.json();// 202: still going after 30 s. Ask again until it ends.while (response.status === 202) { await new Promise((done) => setTimeout(done, 2_000)); response = await fetch(`${api}/${run.id}`, { headers }); run = await response.json();}if (!response.ok) throw new Error(run.error.message);console.log(run.data);# Connect your agent to Fous once, over MCP (Streamable HTTP):# https://api.fous.com/mcp# Set FOUS_API_KEY first: create a key at https://app.fous.com/keys.# Claude Codeclaude mcp add \ --scope user \ --transport http fous https://api.fous.com/mcp \ --header "Authorization: Bearer ${FOUS_API_KEY:?Set FOUS_API_KEY to your Fous API key}"# Codexcodex mcp add fous \ --url https://api.fous.com/mcp \ --bearer-token-env-var FOUS_API_KEY# Cursor, VS Code, Windsurf, Cline and morenpx -y add-mcp https://api.fous.com/mcp -g -n fous \ --header "Authorization: Bearer ${FOUS_API_KEY:?Set FOUS_API_KEY to your Fous API key}"# Then ask your agent:# "Use Fous to run arena.ai/get_leaderboard# with {"category":"text","max_results":25}"Over HTTP, the answer’s data holds the output. A run still going after 30 seconds answers 202 with its id: ask GET /v1/runs/{id} until it ends.
Schema
Input schema
{ "type": "object", "properties": { "category": { "enum": [ "text", "webdev", "vision", "text_to_image", "image_edit", "search", "text_to_video" ], "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." }, "max_results": { "type": "integer", "default": 25, "maximum": 200, "minimum": 1, "description": "Maximum models to return, for example 25 (up to 200)." } }}Output schema
{ "type": "object", "required": [ "last_updated", "models" ], "properties": { "models": { "type": "array", "items": { "type": "object", "required": [ "rank", "model_name", "organization", "arena_score", "confidence_interval", "votes", "license", "leaderboard_link" ], "properties": { "rank": { "type": "integer", "description": "Rank on the selected leaderboard." }, "votes": { "type": "integer", "description": "Number of votes for this model." }, "license": { "type": [ "string", "null" ], "description": "Displayed model license." }, "model_name": { "type": "string", "description": "Displayed model name." }, "arena_score": { "type": "integer", "description": "Displayed Arena score." }, "organization": { "type": [ "string", "null" ], "description": "Organization behind the model." }, "leaderboard_link": { "type": "string", "description": "Public page for this leaderboard." }, "confidence_interval": { "type": [ "string", "null" ], "description": "Confidence interval exactly as displayed, such as ±12 or +18/-18." } }, "additionalProperties": false }, "description": "Models in the order shown on the leaderboard." }, "last_updated": { "type": "string", "format": "date", "description": "Date the selected leaderboard was last updated (YYYY-MM-DD)." } }, "additionalProperties": false}- Price
- 1 credit per completed run (1¢ with pay as you go); failed runs are free.
- Method
arena.ai/get_leaderboard- Returns
- last updated date; models with rank, name, organization, score, confidence interval, votes, license, leaderboard link
Use it from your agent
Give your agent this line. It reads SKILL.md, gets a Fous API key and connects the Fous MCP server. Its run then takes the method arena.ai/get_leaderboard with the inputs above.
Ask your agent
- Show me the top 10 models on the LMArena text leaderboard with their scores and vote counts
- Which AI models currently rank highest for web development? I need the top 20 with organizations and licenses
- Pull the current text-to-image model rankings, including confidence intervals and when the board was last updated
- Get the arena.ai vision leaderboard, top 50 models
- What are the best-ranked text-to-video models right now and who makes them? Just the top 5
See more
Lists the open Polymarket markets with the most trading in the last 24 hours. You can pick one category or list all of them; markets outside the named categories are labeled Other.
polymarket.com/list_trending_marketsLists Twitch games and categories ranked by current live viewers, with content tags, box art and category links.
twitch.tv/list_top_categoriesLists CoinGecko crypto sectors by market cap with daily change, volume, leading coins and category pages, optionally filtered by name or link.
coingecko.com/list_crypto_categoriesLists Similarweb's most visited websites for a category and country, with rankings and engagement figures for the reported month. Anonymous view limits may restrict results, especially for country rankings.
similarweb.com/list_top_websitesLists up to 50 top Chess.com players for a time control, in rank order, with ratings, game records and profile links. Puzzles rankings use puzzle scores.
chess.com/list_top_playersLists the current Bilibili ranking overall or in a selected category, in rank order. The Movies ranking does not provide uploader, likes, length or BV numbers.
bilibili.com/list_popular_videosLists featured launches in Product Hunt's daily leaderboard order for a given US Pacific day, with each product's website when its public page shows one.
producthunt.com/list_launchesLists Hugging Face models in trending order this week, optionally filtered to one task. Downloads cover the last 30 days.
huggingface.co/list_trending_models