CVI is the global equity-intelligence layer for fundamental and systematic investors — normalized international fundamentals, explainable valuation models, portfolio construction and model-driven research, delivered through software, APIs and data feeds. Address every company by a stable CVI ID, pull scores and valuations, and reconstruct the CVI research snapshot recorded for any past date — with source and version lineage — via the Time Machine.
Versioned · read-only · addressed by canonical CVI IDs. Base URL
https://www.computationalvalueinvesting.com/v1
Subscribers can generate an API key from their account — start a subscription or log in.
CVI value/quality scores, intrinsic value and a market-cap margin of safety for ~2920 companies across 25 markets — valued on a trailing-twelve-month basis (the last four quarters combined) at the live price, so ratios are current and full-year, never stale-annual or single-quarter.
International statements standardized and USD-normalised, with a versioned feature registry and per-value data-confidence score.
Hierarchical global/regional/local/sector model output with a confidence score, plus a model registry with champion/challenger metrics.
/companies/{id}/as-of/{date} — reconstruct the scores, valuation and portfolio
decision CVI produced on any historical date.
Ranked securities per market, and a portfolio-analysis endpoint returning exposures, weighted scores and concentration (HHI, effective-N).
Every response ties back to an immutable, checksummed research run — the same approved bundle the terminal, SDK and feeds all read.
pip install git+https://github.com/Computational-Value-Investing/cvi-python-sdkimport cvi # distribution: computational-value-investing
c = cvi.connect(api_key="cvi_live_…")
c.screen(top=20) # top 20 undervalued worldwide — one call, 25 markets
c.market("DAX").rankings(limit=10) # one market, cheapest-quality first
c.company("CON.DE").valuation() # intrinsic value + margin of safety
c.time_machine("CON.DE", "2026-07-15") # the snapshot recorded for that date
c.predictions(market="SP500", top=20) # hierarchical model picks
c.portfolio([{"ticker":"CON.DE","weight":.5},
{"ticker":"AXON","weight":.5}]) # exposures, weighted scores, concentration
BASE=https://www.computationalvalueinvesting.com/v1
KEY="X-API-Key: cvi_live_…"
curl "$BASE/health" # status (no key)
curl "$BASE/platform/statistics" # canonical coverage counts (no key)
curl "$BASE/changelog" # API changelog (no key)
curl -H "$KEY" "$BASE/markets" # 25 covered markets
curl -H "$KEY" "$BASE/markets/DAX/rankings?limit=10" # ranked securities in a market
curl -H "$KEY" "$BASE/screen?classification=pass&min_score=0.8&limit=20" # global screen
curl -H "$KEY" "$BASE/companies/resolve?ticker=CON.DE" # ticker → canonical CVI IDs
curl -H "$KEY" "$BASE/companies/{id}" # profile (all listings)
curl -H "$KEY" "$BASE/companies/{id}/scores" # scores + confidence
curl -H "$KEY" "$BASE/companies/{id}/valuation" # valuation + margin of safety
curl -H "$KEY" "$BASE/companies/{id}/features" # features + lineage [features]
curl -H "$KEY" "$BASE/companies/{id}/history" # every research run [research]
curl -H "$KEY" "$BASE/companies/{id}/as-of/2026-07-15" # Time Machine [research]
curl -H "$KEY" "$BASE/predictions/hierarchical?market=SP500&limit=20" # [models]
curl -H "$KEY" -X POST "$BASE/portfolios/analyze" \
-H "Content-Type: application/json" \
-d '{"holdings":[{"ticker":"CON.DE","weight":0.5},{"ticker":"AXON","weight":0.5}]}' # [portfolio]
pip install git+https://github.com/Computational-Value-Investing/cvi-mcpCVI is a native MCP tool for Claude and other AI assistants — ask "the 20 most undervalued stocks worldwide" in plain language and the assistant queries the research engine directly, citing the immutable research run behind every number.
{ "mcpServers": { "cvi": {
"command": "cvi-mcp",
"env": { "CVI_API_KEY": "cvi_live_…" } } } } // Claude Desktop config
X-CVI-API-Version: 1.1.0 X-RateLimit-Limit: 600
X-CVI-Serving-Version: v1 X-RateLimit-Remaining: 599
X-CVI-Research-Run: CVIR2026… X-RateLimit-Reset: 1784204152
X-CVI-As-Of: 2026-07-15T22:48:27Z X-Total-Count + Link (paginated)
Envelope: {"data": …, "meta": {…}} — meta always carries
api_version, serving_version, as_of and
source_run_id; paginated endpoints add total and next_offset.
Interactive reference (/v1/docs) → · SDK on GitHub · OpenAPI 3.1 spec · Live status · Changelog · Plans & API tiers
| Scope | Unlocks |
|---|---|
read | Markets, company profiles, scores, valuation |
features | Feature observations + lineage |
research | Time Machine — history & point-in-time as-of |
models | Hierarchical predictions, model registry |
portfolio | Portfolio analysis |
bulk | Large / unpaginated pulls |
Enterprise access, custom universes, bulk/Parquet feeds and white-label distribution are available on request. Get in touch →
Research and educational use only — not investment advice. Data licensing terms apply.