요약

OpenRouter의 GET /api/v1/benchmarks는 Artificial Analysis와 Design Arena 등 여러 벤치마크 소스를 하나의 응답 형태로 모아 주는 통합 벤치마크 API다. source를 지정하면 각 소스의 기존 응답 shape를 재현하고, task_type으로 coding, intelligence, agentic 목적에 맞는 모델 후보를 필터링할 수 있다.

이 엔드포인트는 모델 선택 워크플로우에서 2026-04-24-openrouter-model-pricing-comparison의 가격/컨텍스트 정보와 함께 쓰기 좋다. 모델별 벤치마크, OpenRouter stable model id(model_permaslug), per-token pricing을 한 번에 보며 moc-ai-models의 모델 평가 노트를 갱신할 수 있다.

Endpoint

항목
MethodGET
URLhttps://openrouter.ai/api/v1/benchmarks
문서 URLhttps://openrouter.ai/docs/api/api-reference/benchmarks/get-benchmarks
목적여러 benchmark source의 모델 점수와 메타데이터를 통합 조회
인증OpenRouter API key를 HTTP Authorization header의 bearer-token scheme으로 전달
Rate limitkey당 30 requests/minute, account당 500 requests/day

인증

OpenRouter API key를 Authorization 헤더의 Bearer token으로 전달한다. 위키에는 실제 토큰 값을 저장하지 않고 [REDACTED]로만 기록한다.

요청 예시는 다음과 같다. 실제 API key/token 값은 위키에 저장하지 않는다.

curl https://openrouter.ai/api/v1/benchmarks \
  -H "Authorization: Bearer <OPENROUTER_API_KEY>"

Query parameters

파라미터타입필수허용값 / 제약의미
sourceenumoptionalartificial-analysis, design-arena조회할 benchmark source. 생략하면 모든 source를 반환한다.
task_typeenumoptionalcoding, intelligence, agentic작업 유형 필터. Artificial Analysis에서는 대응 index로, Design Arena에서는 category로 매핑된다.
arenaenumoptionalmodels, builders, agentsDesign Arena 전용. source=design-arena일 때 arena 선택. 기본값은 models.
categorystringoptional예: codecategories, uicomponent, gamedev, 3d, dataviz, image, video, svgDesign Arena 전용 category. 생략하면 모든 category 반환.
max_resultsintegeroptional>= 1최대 반환 항목 수. 생략하면 matching result 전체 반환.

Response 구조

최상위 응답은 datameta로 구성된다.

{
  "data": [
    {
      "source": "artificial-analysis",
      "agentic_index": 58.3,
      "coding_index": 65.8,
      "display_name": "GPT-4o",
      "intelligence_index": 71.2,
      "model_permaslug": "openai/gpt-4o",
      "pricing": {
        "completion": "0.00001",
        "prompt": "0.0000025"
      }
    }
  ],
  "meta": {
    "as_of": "2026-06-03T12:00:00Z",
    "citation": null,
    "model_count": 1,
    "source": null,
    "source_url": null,
    "task_type": null,
    "version": "v1"
  }
}

data: artificial-analysis variant

필드타입설명
sourceliteral항상 "artificial-analysis"
agentic_indexdouble or nullArtificial Analysis Agentic Index composite score. 높을수록 좋다.
coding_indexdouble or nullArtificial Analysis Coding Index composite score. 높을수록 좋다.
display_namestringArtificial Analysis에 표시되는 모델명
intelligence_indexdouble or nullArtificial Analysis Intelligence Index composite score. 높을수록 좋다.
model_permaslugstringStable OpenRouter model identifier
pricingobject or nullOpenRouter per-token pricing. 없으면 null 가능.
pricing.completionstringoutput token당 USD 비용(decimal string)
pricing.promptstringinput token당 USD 비용(decimal string)

data: design-arena variant

필드타입설명
sourceliteral항상 "design-arena"
arenastringranking이 속한 arena
avg_generation_time_msdouble or null평균 생성 시간(ms)
categorystringarena 내 category
display_namestringDesign Arena의 human-readable model name
elodoublehead-to-head arena battle의 ELO rating
model_permaslugstring매핑된 Stable OpenRouter model identifier. 없으면 upstream Design Arena model id
pricingobject or nullOpenRouter per-token pricing. 없으면 null 가능.
pricing.completionstringoutput token당 USD 비용(decimal string)
pricing.promptstringinput token당 USD 비용(decimal string)
tournament_statsobjecttournament match placement distribution
tournament_stats.first_placeinteger or null1위 횟수
tournament_stats.second_placeinteger or null2위 횟수
tournament_stats.third_placeinteger or null3위 횟수
tournament_stats.fourth_placeinteger or null4위 횟수
tournament_stats.totalinteger or null전체 match 수
win_ratedouble승률. 0–100 percentage

meta

필드타입설명
as_ofstring데이터가 마지막으로 갱신된 ISO-8601 timestamp
citationstring or null재게시 시 필요한 attribution. 여러 source를 포함하면 null일 수 있으므로 item별 source 기준으로 attribution 필요
model_countinteger응답 내 unique model 수
sourceenum or null적용된 source filter. 전체 source 반환 시 null
source_urlstring or nullupstream data source URL. 여러 source 반환 시 null
task_typestring or null적용된 task_type filter. 없으면 null
versionenumdataset version. 현재 v1

Error codes

HTTP status의미
400Bad Request Error
401Unauthorized Error
429Too Many Requests Error
500Internal Server Error

활용 메모

  • task_type=coding은 코딩 모델 후보 shortlist를 만들 때 유용하며, 별도 가격 비교는 2026-04-24-openrouter-model-pricing-comparison와 함께 확인한다.
  • source를 생략하면 여러 source가 섞여 meta.citation / meta.source_url이 null일 수 있다. 공개 문서나 리포트에 재사용할 때는 각 data[].source를 보고 source별 attribution을 붙이는 편이 안전하다.
  • pricing은 token당 USD decimal string이다. $ / 1M tokens 비교표로 바꾸려면 promptcompletion에 각각 1,000,000을 곱한다.
  • 인증 실패 시 401, quota/rate limit 도달 시 429가 반환된다.

관련 노트