GET
/stats
Dataset coverage: clusters, members, counterparty edges and sanction seeds per chain.
What the dataset actually holds, per chain and in total. It also reports which of its own figures are planner estimates rather than exact counts, in the estimated[] array, because on tables of this size an exact count is a query nobody should run on every page load.
Request
curl https://intelapi.publicaml.org/statsResponse
{
"chains": ["BTC", "ETH", "BSC", "TRON"],
"clusters": 6119539,
"cluster_members": 625186048,
"counterparties": 72709320612,
"labeled_entities": 242637824,
"external_labels": 322624,
"risk_seeds": 1636082,
"sanction_seeds": 3224,
"estimated": [
"cluster_members",
"counterparties",
"risk_seeds",
"labeled_entities",
"external_labels"
],
"by_chain": {
"clusters": {
"ETH": { "clusters": 3799784, "members": 351693405 }
},
"counterparties": { "ETH": 6650053727 },
"sanctions": {
"ETH": {
"seeds": 141,
"jurisdictions": { "US": 124, "EU": 1, "unknown": 16 },
"last_updated": "2026-08-25T23:03:39Z"
}
}
}
}Response fields
| Field | Type | Meaning |
|---|---|---|
| estimated[] | array | Names the fields in this response that are planner estimates rather than exact counts. |
| by_chain.counterparties | object | Counterparty edges per chain. |
| by_chain.sanctions | object | Sanction seeds per chain with jurisdiction split and last update time. |
Things that catch people out
- Anything listed in estimated[] is an estimate. Do not publish it as an exact figure.
- cluster_members and cluster_members_authoritative differ on purpose - the second is the exact count where one is available.
Try it
The interactive console runs this endpoint against live data from the browser, with no key and no signup.
Open the sandbox at intelapi.publicaml.org