| title | Quickstart |
|---|---|
| description | Get API access and fetch live leaderboard data |
The Design Arena API provides programmatic access to real-time AI model rankings from our human-evaluated arena battles.
API access requires an API key. To get one:
- Go to designarena.ai/developers/apply
- Fill out the application form describing your use case
- We'll review your application (usually 1-2 business days)
- Once approved, you'll receive your API key via email
First, find out what arenas and categories are available:
```bash curl curl -H "Authorization: Bearer sk_live_your_api_key_here" \ https://www.designarena.ai/api/v1/arenas ```import requests
headers = {'Authorization': 'Bearer sk_live_your_api_key_here'}
resp = requests.get('https://www.designarena.ai/api/v1/arenas', headers=headers)
for arena in resp.json()['data']:
cats = ', '.join(c['id'] for c in arena['categories'])
print(f"{arena['name']}: {cats}")Pick an arena and category, then fetch rankings:
```bash curl curl -H "Authorization: Bearer sk_live_your_api_key_here" \ https://www.designarena.ai/api/v1/leaderboard/models/website ```const resp = await fetch('https://www.designarena.ai/api/v1/leaderboard/models/website', {
headers: {
'Authorization': 'Bearer sk_live_your_api_key_here'
}
});
const data = await resp.json();
console.log(data);import requests
headers = {'Authorization': 'Bearer sk_live_your_api_key_here'}
resp = requests.get(
'https://www.designarena.ai/api/v1/leaderboard/models/website',
headers=headers
)
print(resp.json())The response contains a sorted list of models in the data array:
{
"success": true,
"data": [
{
"displayName": "Claude Opus 4.6",
"provider": "anthropic",
"openRouterId": "anthropic/claude-opus-4.6",
"elo": 1390,
"winRate": 63.0,
"avgGenerationTimeMs": 122828
},
{
"displayName": "v0-1.5-lg",
"provider": "vercel",
"openRouterId": null,
"elo": 1280,
"winRate": 60.0,
"avgGenerationTimeMs": 45000
}
],
"meta": {
"arena": "models",
"category": "website",
"lastUpdated": "2026-02-22T04:00:06Z"
},
"timestamp": "2026-02-22T04:51:46Z"
}| Metric | Description |
|---|---|
| elo | The core ranking score. Higher is better. Base rating ~1200. |
| winRate | Percentage of head-to-head battles won. |
| avgGenerationTimeMs | Average time to generate output (milliseconds). |
| openRouterId | OpenRouter model ID for cross-referencing. null if not on OpenRouter. |
| Status | Meaning |
|---|---|
401 |
Missing or invalid API key |
403 |
API key is inactive or revoked |
400 |
Invalid arena or category |
500 |
Server error |