Benchmarks

Unified benchmark endpoint that aggregates scores from multiple benchmark sources (Artificial Analysis, Design Arena, and OpenRouter's own tau-bench, GPQA, and web-search evals). Filter by source to reproduce the exact shapes from the legacy per-source endpoints, or use task_type to find models suited for specific workloads. Use task_type=search (or a search_* benchmark_type) for OpenRouter's search benchmarks, which publish each model's highest-scoring eligible evaluation configuration with same-configuration runs combined by task-weighted mean. Authenticate with any valid OpenRouter API key. Rate-limited to 30 requests/minute per key and 500 requests/day per account.

get/benchmarks

Request

  • Base URL: https://openrouter.ai/api/v1
  • URL: https://openrouter.ai/api/v1/benchmarks
  • Auth: HTTP bearer

Query parameters

source'artificial-analysis' | 'design-arena' | 'openrouter'

Benchmark source to query. Determines the shape of the returned items. When omitted, returns results from all sources.

Example:artificial-analysis
task_type'coding' | 'intelligence' | 'agentic' | 'search'

Filter results by task type. For Artificial Analysis, maps to the corresponding index. For Design Arena, maps to the matching category. search returns OpenRouter search benchmark results only.

Example:coding
benchmark_type'gpqa_diamond' | 'tau_bench_verified_airline' | 'search_browsecomp' | 'search_hle' | 'search_dsqa' | 'search_widesearch'

Return results for one exact OpenRouter benchmark. A search_* value narrows the response to search results only; a classic value narrows the OpenRouter items and leaves other sources' items as they are.

Example:search_widesearch
include_run_configboolean

Search benchmarks only: include the published lane configuration whitelist in each search item. Defaults to false. The whitelist is limited to agent turn count, reasoning effort, and temperature so future harness configuration changes do not change the public contract.

Example:true
search_enginestring

OpenRouter search benchmarks only: filter by the search engine used.

Example:exa
search_surface'server-tool' | 'plugin'

OpenRouter search benchmarks only: filter by the request surface the lane ran on.

Example:server-tool
arena'models' | 'builders' | 'agents'

Design Arena only: arena to query. Defaults to models when source is design-arena.

Example:models
categorystring

Design Arena only: category within the arena (e.g. codecategories, uicomponent, gamedev, 3d, dataviz, image, video, svg). When omitted, returns all categories.

Example:codecategories
max_resultsinteger

Maximum number of items to return. When omitted, all matching results are returned.

Example:50

Response

Benchmark results filtered by the specified source and optional task type.

Example response

{
  "data": [
    {
      "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"
      },
      "source": "artificial-analysis"
    },
    {
      "accuracy": 0.72,
      "accuracy_stddev": 0.03,
      "avg_cost_per_task": 0.002,
      "benchmark_type": "gpqa_diamond",
      "display_name": "GPT-4o",
      "last_run_timestamp": "2026-06-03T12:00:00Z",
      "model_permaslug": "openai/gpt-4o",
      "source": "openrouter",
      "total_tasks": 300
    }
  ],
  "meta": {
    "as_of": "2026-06-03T12:00:00Z",
    "citation": null,
    "model_count": 1,
    "source": null,
    "source_url": null,
    "task_type": null,
    "version": "v1"
  }
}

Changes

    • breaking

      added to the / response property oneOf list for the response status

    • info

      added the new optional query request parameter benchmark_type

    • info

      added the new optional query request parameter include_run_config

    • info

      added the new optional query request parameter search_engine

    • info

      added the new optional query request parameter search_surface

    • info

      added the new enum value search to the query request parameter task_type

    • info

      removed discriminator from / response property for the response status

    • breaking

      added to the / response property oneOf list for the response status

    • warning

      added the new openrouter enum value to the / response property for the response status

    • info

      added the new enum value openrouter to the query request parameter source

    • info

      added openrouter discriminator mapping keys to the / response property for the response status