Holders
Deprecation Notice: The /beta API endpoints will be deprecated on 01 October 2025. Please migrate your integrations to the /v1 endpoints before this date to ensure uninterrupted service.
Successful response
Bad request
Authentication error
Forbidden - Subscription tier required
Internal server error
POST /api/beta/tgm/holders HTTP/1.1
Host: api.nansen.ai
apiKey: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 270
{
  "parameters": {
    "chain": "solana",
    "tokenAddress": "2zMMhcVQEXDtdE6vsFS7S7D5oUodfJHE8vd1gnBouauv",
    "date": {
      "from": "2025-07-14",
      "to": "2025-07-15"
    },
    "isEntity": false,
    "includeLabels": [],
    "label": "top_100_holders",
    "isStablecoin": false
  },
  "pagination": {
    "page": 1,
    "recordsPerPage": 100
  }
}[
  {
    "address": "text",
    "name": "text",
    "balance": "text",
    "sent": "text",
    "received": "text",
    "changeShortTimeframe": "text",
    "changeMediumTimeframe": "text",
    "changeLongTimeframe": "text",
    "balanceUsd": 1,
    "shortTimeframeHours": "text",
    "mediumTimeframeHours": "text",
    "longTimeframeHours": "text",
    "percentOwnership": "text"
  }
]How to use the Holders Endpoint
The Holders Endpoint returns holder data for a given token on a specific chain over a defined date range. You can use this to analyze who is holding a particular token—whether it’s Smart Money wallets, exchanges, or all holders.
Usecase 1: Get list of Smart Money Holders
- Set "label" to "smart_money" in the parameters object. 
- Add "includeLabels" as an array with the specific Smart Money segments you want (e.g., "Fund", "30D Smart Trader"). 
- Other parameters (like chain, tokenAddress, date range, etc.) stay the same. 
Example Configuration:
"label": "smart_money",
"includeLabels": ["Fund", "30D Smart Trader"]
"isEntity": true, -- To aggregate by EntityUsecase 2: List of Exchanges Holding a Token
- Set "label" to "exchange" in the parameters object. 
- Add "includeLabels" with "Exchange" 
- Other parameters remain unchanged. 
Example Configuration:
"label": "exchange",
"includeLabels": ["Exchange"]
"isEntity": true, -- To aggregate by EntityLast updated
Was this helpful?
