BHI 3.1·Bulletin
Validation: preliminary
Today's bulletin →
Highest B
§ API · PUBLIC DATA ACCESS · CC-BY 4.0

API Documentation

Access BHI structural lock-in data programmatically. All endpoints are public, rate-limited, and licensed under CC-BY 4.0.

GET /api/bhi

Returns all scored platforms with B-index, capture, escape, zone, 11 individual parameter scores, plus parent_group (ecosystem group by operational control; null for single-entity platforms) and ubo_note (beneficial-ownership / split-governance annotations).

Parameters
NameTypeDescription
sectorstringFilter by sector ID (e.g. ai, tech, banks)
formatstringjson (default) or csv
Example
# All platforms (JSON)
curl https://blackholeindex.com/api/bhi

# AI sector only (CSV)
curl "https://blackholeindex.com/api/bhi?sector=ai&format=csv"

# Specific sector
curl "https://blackholeindex.com/api/bhi?sector=banks"
Response (JSON)
{
  "instrument": "Black Hole Index",
  "version": "V3.1",
  "quarter": "Q3-2026",
  "license": "CC-BY-4.0",
  "citation": "Savich, I. (2026). SSRN: 6555158",
  "url": "https://blackholeindex.com",
  "count": 184,
  "platforms": [
    {
      "id": "c784a3d3-…",
      "name": "WeChat",
      "ticker": "700.HK",
      "market_cap": "$475B (Tencent)",
      "category": "social",
      "d": "9.00", "m": "9.00", "a": "9.00",
      "p": "10.00", "n": "9.00", "c": "10.00",
      "x": "1.00", "s": "1.00", "h": "1.00",
      "o": "9.00", "t": "5.00",
      "b_score": "17.03",
      "capture_score": "2.86",
      "escape_score": "0.17",
      "zone": "Black Hole",
      "quarter": "Q3-2026",
      "parent_group": null,
      "ubo_note": null
    },
    ...
  ]
}

Do not derive b_score by dividing capture_score by escape_score. Those two fields are stored and returned rounded to two decimals, while b_score is computed at full precision from the eleven parameters. In the example above 2.86 / 0.17 = 16.82, not 17.03 — the gap is rounding, not disagreement. Across the Q3-2026 release the gap reaches 3.04% at most (median 0.70%), and for exactly one platform it would place the value on the other side of a zone threshold. To reproduce b_score, compute it from d, m, a, p, n, c, x, s, h, o, t — all of which this response carries — using the formula published at /methodology. capture_score and escape_score are provided for inspection, not as a reconstruction path.

GET /api/diff

Returns quarterly comparison data — delta, zone migrations, and per-platform movement between the two most recent quarters.

curl https://blackholeindex.com/api/diff

GET /api/platform/[id]/history

Returns the quarterly B-score trajectory for one platform. Accepts the slug from the platform’s page URL (/platform/<slug>) or the UUID from /api/bhi, matched exactly — a partial name resolves nothing, and an unknown identifier returns 404 rather than an empty list. The resolved platform is echoed back, so a quoted figure keeps its identity.

curl https://blackholeindex.com/api/platform/nvidia-cuda/history

# Response
{
  "platform": { "id": "5f94…", "slug": "nvidia-cuda", "name": "NVIDIA (CUDA)" },
  "provenance": { "observedFrom": "Q1-2026", "modelledQuarters": ["Q4-2025"], "note": "…" },
  "history": [
    { "quarter": "Q4-2025",
      "b": 7.25,
      "capture": 1.918,
      "escape": 0.265,
      "provenance": "modelled",
      "provenanceNote": "Modelled back-projection from the Q1-2026 vintage; not an observed score." },
    { "quarter": "Q3-2026",
      "b": 8.29,
      "capture": 2.190,
      "escape": 0.260,
      "reason": "…",
      "reasonRecorded": true,
      "provenance": "observed",
      "provenanceNote": null }
  ]
}

GET /api/badge/[id]

Returns embeddable HTML badge widget. See /embed for the code generator.

<iframe
  src="https://blackholeindex.com/api/badge/tsmc"
  width="320" height="80"
  style="border:none"
  title="BHI Badge">
</iframe>

Rate Limits & Licensing

Rate limit60 req/minper IP
Cache1 hourmax-age=3600
LicenseCC-BY 4.0free for research
AttributionRequiredSource: BHI
UpdatesQuarterlyNext:

RSS Feed

Subscribe to quarterly releases via RSS.

https://blackholeindex.com/feed.xml