GET/api/v1/exchange-intelligence/metrics
List Metrics
List all Exchange Intelligence metric metadata, filterable. Public endpoint - returns full catalog metadata (no time-series). Per-chart access remains gated at `/metrics/{slug}/data`. Filtering is registry-driven (always 30 charts; DB metadata is consulted only to enrich `source_provider` + `attribution_text`).
Authentication
This endpoint requires the X-API-Key header or a valid Clerk JWT. Accepted schemes: APIKeyHeader, HTTPBearer.
See Authentication for details.
Query parameters
| Name | Type | Required | Description |
|---|---|---|---|
tier | string | null | Filter by tier (free | pro | performance). | |
layer | string | null | Filter by architectural layer (A | B | C | D | E). | |
family | string | null | Filter by functional family. One of: open-interest | funding-rate | liquidations | long-short-ratio | basis-premium | volume-dominance | volume | composite | cme | dex. |
Responses
| Status | Description | Schema |
|---|---|---|
200 | Successful Response | array |
422 | Validation Error | HTTPValidationError |
See the standard error codes documented in the Error codes.
Code samples
Three ready-to-paste implementations. Replace $TRINITY_API_KEY with your API key (generated from the dashboard under Profile → API keys).
cURL
curl -X GET \
'https://api.trinityinsights.io/api/v1/exchange-intelligence/metrics' \
-H 'X-API-Key: $TRINITY_API_KEY'Python
import os
import requests
BASE = "https://api.trinityinsights.io"
headers = {
"X-API-Key": os.environ["TRINITY_API_KEY"],
}
params = {
"tier": "value", # optional
"layer": "value", # optional
"family": "value", # optional
}
response = requests.get(f"{BASE}/api/v1/exchange-intelligence/metrics", headers=headers, params=params, timeout=10)
response.raise_for_status()
data = response.json()JavaScript
const apiKey = process.env.TRINITY_API_KEY;
const response = await fetch(
"https://api.trinityinsights.io/api/v1/exchange-intelligence/metrics",
{
method: "GET",
headers: {
"X-API-Key": apiKey,
},
},
);
if (!response.ok) {
throw new Error(`HTTP ${response.status}`);
}
const data = await response.json();Institutional disclaimer
Trinity Insights is an educational and analytical tool. Values returned by this endpoint do not constitute investment advice. Trinity Insights is not a Crypto-Asset Service Provider (CASP) registered under MiCA Regulation (EU) 2023/1114. See the full disclaimer.