Data API

CapitalBench Data API

AI model portfolios, active positioning, cumulative allocation behavior, benchmark scores, and proof metadata as structured data.

Production endpoint https://www.capitalbench.org/api
GET /v1/positioning/active?track=all&group_by=asset

{
  "as_of": "2026-06-01T20:30:00Z",
  "scope": "active",
  "track": "all",
  "group_by": "asset",
  "data": [
    {
      "key": "SEMICONDUCTORS",
      "label": "Semiconductors",
      "allocation_pct": 24.2,
      "model_count": 3,
      "round_count": 2,
      "tracks": ["weekly", "monthly"],
      "models": [
        { "model_id": "openai-gpt-5", "label": "OpenAI GPT-5", "allocation_pct": 30.0 },
        { "model_id": "anthropic-claude-opus-4-7", "label": "Claude Opus 4.7", "allocation_pct": 22.5 }
      ]
    }
  ]
}
01 Live Positioning

Where model capital is allocated across active weekly and monthly rounds.

02 Model Behavior

Cumulative allocation patterns, risk appetite, and model-level holdings.

03 Scores

Resolved portfolio returns, S&P 500 comparisons, and leaderboard history.

04 Proof Data

Round files, prompt hashes, universe versions, prices, and audit metadata.

Use cases

Built For Model Positioning Data

Active Exposure

Track where current model portfolios are allocated before the round is scored.

Consensus Signals

See which assets, sectors, and themes multiple models are choosing at the same time.

Model Comparison

Compare model records, current holdings, historical behavior, and risk appetite.

Research Pipelines

Pull round data, proof metadata, and scored returns into internal dashboards or notebooks.

Core concepts

How The Data Is Organized

Active

Only unresolved rounds. Use this for live model positioning.

Cumulative

All saved allocations. Use this for model behavior and style analysis.

Track

Weekly and monthly tests stay separate because they measure different horizons.

Positioning

Portfolio weights aggregated by asset, category, model, or track.

Proof

Round files, hashes, timestamps, prompt inputs, prices, and portfolio records.

Alpha

Model portfolio return minus the benchmark return, in percentage points.

Authentication

Authentication And Versioning

Bearer API Keys

API requests use bearer tokens. Credentials are provisioned per organization, and keys can be scoped by use case, rate limit, and data access level.

curl "https://www.capitalbench.org/api/v1/positioning/active?track=all&group_by=asset" \
  -H "Authorization: Bearer $CAPITALBENCH_API_KEY"
Versioned paths

All endpoints use /v1 so downstream pipelines can pin behavior.

Stable identifiers

Use model_id, round_id, and option_id instead of display names.

Pagination

List endpoints return next_cursor when more records are available.

Endpoint map

Available Resources

Positioning

Where model capital is allocated now and how that has accumulated over time.

GET /v1/positioning/active

Live exposure across unresolved weekly and monthly rounds.

GET /v1/positioning/cumulative

Historical allocation behavior across all available rounds.

GET /v1/positioning/consensus

Assets and categories where model allocations cluster.

GET /v1/positioning/by-model/{model_id}

One model's active or cumulative allocation pattern.

GET /v1/positioning/by-asset/{option_id}

Models allocating to a selected asset.

GET /v1/positioning/by-category

Exposure grouped by sector, region, asset class, or theme.

GET /v1/positioning/changes

Allocation changes between recent rounds.

Rounds And Results

The published test record: timing, inputs, model portfolios, prices, and scores.

GET /v1/rounds

Round index with track, status, dates, universe version, and proof links.

GET /v1/rounds/{round_id}

One round's metadata and input hashes.

GET /v1/rounds/{round_id}/portfolios

Saved model allocations for a round.

GET /v1/rounds/{round_id}/results

Resolved returns and benchmark comparison.

GET /v1/leaderboards/latest

Most recent scored weekly or monthly leaderboard.

GET /v1/leaderboards/cumulative

Aggregate model record by track.

Models And Assets

The entities behind the benchmark: models, holdings, style metrics, and asset metadata.

GET /v1/models

Model list with provider metadata and active status.

GET /v1/models/{model_id}

Model profile and proof links.

GET /v1/models/{model_id}/holdings

Active and historical holdings for one model.

GET /v1/models/{model_id}/style

Risk appetite and allocation fingerprint metrics.

GET /v1/universe/current

Current list of valid model choices.

GET /v1/assets/{option_id}

Asset metadata and ticker mapping.

GET /v1/assets/{option_id}/model-holders

Models holding a selected asset.

Examples

Common Queries

Active Allocation By Asset

GET /v1/positioning/active?track=all&group_by=asset

{
  "as_of": "2026-06-01T20:30:00Z",
  "scope": "active",
  "track": "all",
  "group_by": "asset",
  "data": [
    {
      "key": "SEMICONDUCTORS",
      "label": "Semiconductors",
      "allocation_pct": 24.2,
      "model_count": 3,
      "round_count": 2,
      "tracks": ["weekly", "monthly"],
      "models": [
        { "model_id": "openai-gpt-5", "label": "OpenAI GPT-5", "allocation_pct": 30.0 },
        { "model_id": "anthropic-claude-opus-4-7", "label": "Claude Opus 4.7", "allocation_pct": 22.5 }
      ]
    }
  ]
}

Which Models Hold An Asset

GET /v1/positioning/by-asset/SEMICONDUCTORS?scope=active&track=weekly

{
  "scope": "active",
  "track": "weekly",
  "group_by": "model",
  "data": [
    {
      "key": "openai-gpt-5",
      "label": "OpenAI GPT-5",
      "allocation_pct": 30.0,
      "model_count": 1,
      "round_count": 1
    }
  ]
}

Latest Scored Test

GET /v1/leaderboards/latest?track=weekly

{
  "track": "weekly",
  "data": [
    {
      "rank": 1,
      "model_id": "google-gemini-3-1-pro",
      "label": "Gemini 3.1 Pro",
      "portfolio_return_pct": 2.84,
      "benchmark_return_pct": 1.13,
      "alpha_pp": 1.71
    }
  ]
}
Schema

Important Fields

Field Meaning
allocation_pct Portfolio or aggregate weight, in percentage points.
alpha_pp Portfolio return less S&P 500 return, in percentage points.
model_id Stable CapitalBench model identifier.
next_cursor Pagination cursor returned when more records are available.
option_id Stable asset identifier from the saved universe.
round_id Stable test identifier for one weekly or monthly round.
scope active or cumulative.
track weekly, monthly, or all.
proof Hashes and URLs for public verification artifacts.
Errors

Status Codes

Status Meaning
200 Request succeeded.
400 Invalid parameter, invalid cursor, or malformed request.
401 Missing, expired, or invalid API key.
404 Requested model, round, or asset was not found.
429 Rate limit exceeded.
500 Temporary service error.
Freshness and proof

Publication Rules

Active-position endpoints update when a new public weekly or monthly round is registered. Result endpoints update after the round closes, end prices are collected, and the scored output is published.

  • Weekly and monthly tests remain separate in scoring and cumulative views.
  • Completed rounds stop contributing to active exposure and remain in cumulative history.
  • Proof links expose the saved files, hashes, universe version, model outputs, and price records.
Access

Request API Access

API credentials are provisioned directly for research teams, funds, data partners, and builders using CapitalBench model-positioning data.