Kortex
snapshot · 2026-07-18
Kortex · platform data · five governed surfaces over the whole servable estate

The public data estate, surface by surface

Everything Kortex serves is reachable through five registry-driven surfaces; not just the screens we chose to build. Every response resolves its source, licence and commercial status live; excluded sources are held, not served; commercial accounts fail closed on non-cleared sources by default. Below: what each surface is for, one real record, and the call that returns it. All five need an API key; the Globe and research pages show much of the same estate anonymously.

1 · Governed tables: the raw datasets

Every servable dataset (625 tables) retrievable directly, with rights on the envelope. If a table's source isn't in the register, the surface fails closed rather than serving unattributed data.

for: analysts pulling underlying data · agents enumerating what exists · anyone who doesn't want to wait for a bespoke endpoint
GET /v2/tables · GET /v2/tables/oe417_events?limit=1
{"table": "oe417_events", "row_count": 1, "commercial_status": "cleared", "licence": "US Public Domain",
 "rows": [{"year": 2015, "event_type": "Severe Weather - Winter", "nerc_region": "SERC",
           "area": "Tennessee", "began_at": "2015-01-11T17:00:00", ...}]}
example: DOE OE-417 disturbance events · cleared · US public domain

2 · Time series: markets, rates, flows

Catalogued series families: wholesale prices (87M observations, 56 markets), 9,122 FRED series (rates, spreads, FX), carbon, commodities, generation, demand. Each catalogue entry states grain, dimensions, evidence class and rights.

for: market analysts · quants · anything that wants numbers over time rather than pages
GET /v2/series · GET /v2/series/fx_rates_daily?limit=…
{"key": "fx_rates_daily", "grain": "currency-day", "evidence_class": "source_reported",
 "commercial_status": "cleared", "retrieve": "/v2/series/fx_rates_daily", ...}
catalogue of 22 series families · rights resolved live per family

3 · Country intelligence: 18 indicators, 218 countries

Governance, economic complexity, infrastructure delivery history, decarbonisation, HDI, project performance; the "is this jurisdiction investable" layer, kept deliberately as supporting context around infrastructure decisions.

for: the sovereign/jurisdiction column of a siting or diligence memo
GET /v2/indicators · GET /v2/countries/VNM
{"iso3": "VNM", "indicators": {"hdi": {"present": true, "value": {"hdi_value": 0.766,
 "hdi_class": "high"}, "evidence_class": "source_reported", "commercial_status": "cleared"}, ...}}
absence is disclosed per indicator (present=false), never interpolated

4 · Asset intelligence: 15-section profiles

One generator or substation, every context Kortex holds: compound hazard, wildfire/storm/seismic, water stress, carbon exposure, stranding indicators, conflict, air quality, cooling relationships, observed capacity factors; each section carrying its own source, vintage and evidence class. Sections the asset lacks say so.

for: acquisition screening · underwriting · lender diligence · site comparison
GET /v2/assets/sections · GET /v2/assets/{asset_id}/profile
{"sections": {"physical-hazard": {"present": true, "evidence_class": "source_reported",
 "rows": [...]}, "observed-capacity-factor": {"present": true, ...},
 "conflict-context": {"present": false}}, "note": "absence is disclosed ... never interpolated"}
the sectioned form is deliberate: no composite risk score; each customer weighs risks their own way

5 · Entity intelligence: the ownership layer

GLEIF identity and parent chains, operating subsidiaries, attributed fleet with modelled revenue (served beside filed SEC financials, never blended), offshore-record matches, primary-list sanctions screening, divestiture watch, US wholesale counterparties (FERC EQR); keyed on the LEI.

for: counterparty diligence · KYC-adjacent screening · "who actually controls this asset"
GET /v2/entities/{lei}/profile · GET /v2/entities/ownership-map?q=vattenfall · visual: /ownership
{"root": "549300T5RZ1HA5HZ3109", "stats": {"subs_total": 32, "root_ctrl_mw": 136572},
 "edges": [{"type": "SUBSIDIARY_OF", "kind": "registry"}, {"type": "OPERATED_BY", "kind": "stitched"}],
 "evidence": {"OPERATED_BY/OWNED_BY": "stitched; ... precision published in validation study 7"}}
stitch precision published blind, misses included · unverified identities withheld by default

Platform depth

10M+ nodes 27M+ edges 625 populated tables · 540 servable 2.26B rows 46 node types 58 edge types 16 schema domains $2.38T revenue modelled · 16,061 operator groups 541 governed datasets 152 registered sources

The whole estate serves, not a curated slice: every servable dataset is retrievable through the governed catalogue (/v2/tables) with per-dataset licence and live rights status; and it refreshes continuously: fire detections 6-hourly, market prices 4-hourly, EIA demand 2-hourly, FX and carbon daily, GLEIF entities daily-to-monthly, with the source register self-auditing weekly. Rights-pending datasets are built in and gated, never silently omitted.

The graph, up close

One real node and its first-hop neighbourhood; a 9.5 GW gas plant in Dubai. Every edge is typed and carries its fidelity: how the connection was established, from authoritative topology down to spatial inference. This record, its neighbours, and every field's source are what the API returns.

operated_by located_in competes_with operates_in nearest_port connects_to pipeline_feeds ×12 OPERATORDEWA JURISDICTIONUAE GENERATORAl Taweelah GRID ZONEAE grid PORTMina Jabal Ali SUBSTATIONGS-07263 · 400kV PIPELINES ×12gas supply GAS GENERATOR · 9,547 MWJebel Ali
authoritative; topology / point-in-polygon derived; computed join inferred; spatial proximity stitched; curated entity resolution

A real record: generator oim_gen_592115432 and its typed edges. Each edge carries method, confidence and audit status; each field carries source, method and as-of date.

Rights model: every response resolves worst-of-sources status live from the register; commercial accounts default to commercial_safe (fail-closed). Coverage honesty per domain: /coverage. How every derived number is made: /methodology. Frozen answers: every envelope carries a retrievable receipt. Contracts: OpenAPI · agents: MCP at /.well-known/kortex.json. Example records above are real responses (2026-07-12), abbreviated with “…”.