Loading market view
Loading market view
API
Read-only endpoints for discovering supported IDs, checking stored coverage, and fetching stored 5Y correlation records.
/api/v1Version2026-05-09AuthNo key for public v1 readsUse universe first, coverage second, relationships third.
Find valid IDs
GET /api/v1/universeUse this for the full requestable stock, crypto, and FRED catalog.
Check stored coverage
GET /api/v1/symbolsUse this for symbols that already have public correlation rows.
Fetch relationships
GET /api/v1/symbols/{provider}/{id}Use this for top partners, or fetch a known pair directly.
Public v1 routes are stable, cached read routes. They return stored data only; they do not trigger fresh correlation computation.
No key for public reads.
Stored correlations, currently 5Y.
Provider plus canonical id.
JSON responses and JSON errors.
Pick the row that matches the question you are asking.
I need the complete accepted ID catalog
GET /api/v1/universeI only want symbols with stored correlation rows
GET /api/v1/symbolsI want the top partners for one symbol
GET /api/v1/symbols/{provider}/{id}I want the top partners for one stock ticker
GET /api/v1/stocks/{symbol}/top-correlationsI know both series and need one pair
GET /api/v1/pairs/{providerA}/{idA}/{providerB}/{idB}I need to check up to 25 known pairs
POST /api/v1/pairsI need field names, limits, and enum values
GET /api/v1/attributesInputs are query parameters unless marked as path or body fields.
/api/v1Discover the current public API version and route list.
object: "api", version, documentation, and endpoint paths./api/v1/attributesRead provider IDs, field meanings, alignment modes, and request limits.
object: "attributes" plus providers, pair fields, symbol fields, and limits./api/v1/universeSearch everything Corrlens can request from its data providers.
provider: optional stock, crypto, or fred.q: optional text search.object: "data_universe", totals, filtered counts, sources, and grouped data arrays./api/v1/symbolsList only symbols that currently have stored public correlations.
provider: optional stock, crypto, or fred.q: optional text search.limit: default 50, max 500.offset: default 0.object: "list", data, total, limit, and offset./api/v1/symbols/{provider}/{id}Fetch one symbol and its strongest stored correlation partners.
provider: stock, crypto, or fred.id: canonical ticker or FRED series ID.limit: default 25, max 200.offset: default 0.object: "symbol" plus a correlations list./api/v1/stocks/{symbol}/top-correlationsConvenience route for one stock ticker.
symbol: stock ticker, for example AAPL.limit: default 25, max 200.offset: default 0.object: "stock_top_correlations", stock, and correlations./api/v1/pairs/{providerA}/{idA}/{providerB}/{idB}Fetch one stored pair when you know both series.
providerA, providerB: stock, crypto, or fred.idA, idB: canonical ticker or FRED series ID.preview: optional 1, true, or yes to include sampled chart points.object: "correlation_pair" with series, stats, diagnostics, summary, and links./api/v1/pairsCheck several known pairs with one request.
pairs, maximum 25.pairs accepts two-item arrays or objects with seriesA and seriesB.includePreview: optional boolean.object: "list"; each row has found, requested, and pair.Quick start
BASE="https://www.corrlens.com/api/v1"
curl -s "$BASE/universe?provider=fred&q=CPIAUCSL" | jq .
curl -s "$BASE/symbols?provider=stock&q=AAPL&limit=3" | jq .
curl -s "$BASE/symbols/stock/AAPL?limit=10" | jq .
curl -s "$BASE/pairs/stock/AAPL/stock/MSFT?preview=1" | jq .Batch lookup
curl -s -X POST "https://www.corrlens.com/api/v1/pairs" \
-H "Content-Type: application/json" \
-d '{
"includePreview": false,
"pairs": [
[
{ "provider": "stock", "id": "AAPL" },
{ "provider": "stock", "id": "MSFT" }
],
{
"seriesA": "stock:NVDA",
"seriesB": "fred:CPIAUCSL"
}
]
}' | jq .The field list below covers the values most integrations use. The full schema is available at /api/v1/attributes.
provider: stock, crypto, or fred.id: canonical ticker or series ID.name: display name.group: sector, asset category, FRED category, or FX group.partnerCount: stored correlation coverage for that symbol.correlation: Pearson r from -1 to 1.absCorrelation: absolute value used for ranking.syncRate: fraction of periods moving in the same direction.overlapPoints: aligned observation count.dataThrough: latest data date used by the stored pair.invalid_provider: provider must be stock, crypto, or fred.invalid_symbol: empty or malformed ID.not_found: symbol or pair is not stored.invalid_json, invalid_pairs, too_many_pairs: POST body problems.internal_error: unexpected server failure.Representative shapes. Numeric values and partner order change as stored data updates.
Universe response
{
"object": "data_universe",
"version": "2026-05-09",
"filters": { "provider": "fred", "q": "CPIAUCSL" },
"totals": { "stocks": 1371, "crypto": 25, "fred": 1214, "total": 2610 },
"counts": { "stocks": 0, "crypto": 0, "fred": 1, "total": 1 },
"data": {
"stocks": [],
"crypto": [],
"fred": [{
"object": "universe_symbol",
"provider": "fred",
"id": "CPIAUCSL",
"name": "Consumer Price Index for All Urban Consumers",
"group": "inflation"
}]
}
}Symbol response
{
"object": "symbol",
"provider": "stock",
"id": "AAPL",
"name": "Apple Inc.",
"group": "Technology",
"partnerCount": 1240,
"correlations": {
"object": "list",
"limit": 10,
"offset": 0,
"data": [{
"object": "symbol_correlation",
"partner": { "provider": "stock", "id": "MSFT", "name": "Microsoft Corporation" },
"correlation": 0.59,
"absCorrelation": 0.59,
"syncRate": 0.58,
"overlapPoints": 1258,
"links": {
"web": "/correlations/AAPL/MSFT",
"api": "/api/v1/pairs/stock/AAPL/stock/MSFT"
}
}]
}
}Pair response
{
"object": "correlation_pair",
"seriesA": { "provider": "stock", "id": "AAPL", "name": "Apple Inc." },
"seriesB": { "provider": "stock", "id": "MSFT", "name": "Microsoft Corporation" },
"window": "5Y",
"alignmentMode": "daily",
"correlation": 0.59,
"absCorrelation": 0.59,
"syncRate": 0.58,
"overlapPoints": 1258,
"stats": { "r2": 0.35, "pValue": 0.001 },
"links": {
"web": "/correlations/AAPL/MSFT",
"api": "/api/v1/pairs/stock/AAPL/stock/MSFT"
}
}Error response
{
"error": {
"code": "not_found",
"message": "Pair was not found in stored Corrlens correlations."
}
}These routes power the Corrlens UI. Treat public v1 as the external integration contract.
/api/symbols/searchUI autocomplete helper. Prefer `/api/v1/universe` for stable external integrations.
/api/stocks/search, /api/crypto/search, /api/fred/searchProvider-specific UI helpers. They can use provider fallbacks and are not the public contract.
/api/correlation, /api/correlation/matrixApp actions that can compute and persist correlations. These are not read-only public v1 routes.