One request, all endpoints

Every endpoint is self-describing. A single GET /api/v1 tells you every URL, parameter, schema and example — agents never need to read docs.

curl -s https://aicoder.com/api/v1
📖

Self-describing

The entry point lists every endpoint, param, field meaning and example so agents never touch docs.

🌐

CORS open

Access-Control-Allow-Origin: * — safe to call from browser scripts.

🔓

No auth

Fully public read-only. No API key, no rate limit.

🔄

Fresh daily

Pricing verified daily, boards synced weekly, Cache-Control ≈ 30 min.

📚 Endpoint catalogue

Discovery

GET/api/v1Agent entry point — one call returns every endpoint, schema, and sample code
curl -s https://aicoder.com/api/v1 | jq .
GET/llms.txtllms.txt site index, Markdown crafted for LLMs
curl -s https://aicoder.com/llms.txt
GET/.well-known/openapi.jsonOpenAPI 3.1 spec — importable in Postman / SwaggerUI
curl -s https://aicoder.com/.well-known/openapi.json
GET/.well-known/ai-plugin.jsonChatGPT / OpenAI plugin manifest
curl -s https://aicoder.com/.well-known/ai-plugin.json

Models & Pricing

GET/api/v1/modelsList every model (filterable by vendor/status/tag, paginated)

Sample query:?vendor=Anthropic&limit=20

curl -s 'https://aicoder.com/api/v1/models?vendor=Anthropic' | jq '.models[].name'
GET/api/v1/models/{id}Get one model by stable slug id
curl -s https://aicoder.com/api/v1/models/anthropic-claude-opus-4-8
GET/api/v1/pricingPricing-only projection, default sorted by input_price desc

Sample query:?sort=input_price&dir=desc

curl -s 'https://aicoder.com/api/v1/pricing?sort=input_price&dir=desc' | jq '.models[:5]'

Leaderboards

GET/api/v1/leaderboardsMetadata for all 6 boards + Top-5 snapshot
curl -s https://aicoder.com/api/v1/leaderboards | jq .boards
GET/api/v1/leaderboards/{board}Full ranking on one board (native metric + normalised score)

Sample query:board ∈ { lmarena, artificial_analysis, livebench, aider_polyglot, livecodebench, evalplus }

curl -s https://aicoder.com/api/v1/leaderboards/lmarena | jq '.entries[:5]'
GET/api/v1/leaderboards/model/{id}One model's rank across every board
curl -s https://aicoder.com/api/v1/leaderboards/model/anthropic-claude-opus-4-8

Search

GET/api/v1/searchFuzzy search across models / boards / plans

Sample query:?q=claude

curl -s 'https://aicoder.com/api/v1/search?q=claude'

Subscription Plans

GET/api/plansSubscription plans (overseas / domestic filterable)

Sample query:?region=overseas

curl -s 'https://aicoder.com/api/plans?region=overseas' | jq '.plans[].name'

🚀 Quick-start snippets

# Fetch every LMArena board entry
curl -s https://aicoder.com/api/v1/leaderboards/lmarena \
  | jq '.entries[] | select(.rank <= 5) | { rank, model_id, native }'

# Look up one model across every board
curl -s https://aicoder.com/api/v1/leaderboards/model/anthropic-claude-opus-4-8 \
  | jq '.boards'

# Cheapest 5 models
curl -s 'https://aicoder.com/api/v1/pricing?sort=input_price&dir=asc' \
  | jq '.models[:5] | .[] | { name, input_price, output_price }'

🔌 Integrations

ChatGPT / OpenAI plugin

Register this site directly as a ChatGPT plugin.

/.well-known/ai-plugin.json ↗

Claude / MCP

Claude or MCP servers can consume /api/v1 as-is.

/api/v1 ↗

Cursor / Copilot

Cursor / GitHub Copilot IDE agents can pull the whole index via llms.txt.

/llms.txt ↗

Custom script

Any-language client generated from OpenAPI 3.1.

OpenAPI 3.1 spec ↗