Holders History API

Historical holder data service that provides detailed information about token holders.

Endpoint

GET /api/holders-history

Parameters

ParameterRequiredDescriptionDefault
addressYesToken address to get holders for-
sortByNoHow to sort the holdersbalance

Response Format

[
  {
    "chainId": 1399811149,
    "tokenAddress": "8kJL9tTa6J83m46QEeevtVPBoQoTD1JTHauAHYY7pump",
    "address": "JCdgBRRkhfLvZzVfqa1KFgm3sCrwMsVVzdqhnRZ1a3oy",
    "currentlyHoldingAmount": "0",
    "holderSince": 1746029188,
    "totalBoughtAmount": 566291820144,
    "totalBoughtETH": 198000002,
    "totalBuyTransactions": 2,
    "totalSellTransactions": 2,
    "totalSoldAmount": 566291820144,
    "totalBoughtUSD": 28.072440283560002,
    "totalSoldUSD": 26.47542047277,
    "totalSoldETH": 186706314,
    "sent": "566291820144",
    "received": 566291820144,
    "tags": ["BullX"],
    "syncedAt": "2025-04-30T16:43:56.000Z",
    "nativeBalance": "1148205154"
  }
]

Holder Fields

Basic Holder Info

  • chainId: Chain identifier
  • tokenAddress: Address of the token
  • address: Holder's wallet address
  • currentlyHoldingAmount: Current token balance
  • holderSince: Unix timestamp when the holder first acquired tokens

Transaction Info

  • totalBoughtAmount: Total amount of tokens bought
  • totalBoughtETH: Total ETH spent on buys
  • totalBuyTransactions: Number of buy transactions
  • totalSellTransactions: Number of sell transactions
  • totalSoldAmount: Total amount of tokens sold
  • totalBoughtUSD: Total USD value of buys
  • totalSoldUSD: Total USD value of sells
  • totalSoldETH: Total ETH received from sells
  • sent: Total tokens sent
  • received: Total tokens received
  • tags: Array of holder tags
  • syncedAt: Last data sync timestamp
  • nativeBalance: Holder's native token balance

Usage Examples

1. Basic usage (just token address):

curl "https://api.solapi.live/api/holders-history?address=TOKEN_ADDRESS"

2. With sortBy parameter:

curl "https://api.solapi.live/api/holders-history?address=TOKEN_ADDRESS&sortBy=balance"

3. Using Node.js with fetch:

import fetch from 'node-fetch';

const TOKEN_ADDRESS = 'TOKEN_ADDRESS';
const API_KEY = 'YOUR_API_KEY';

fetch(`https://api.solapi.live/api/holders-history?address=${TOKEN_ADDRESS}`, {
    headers: {
        'x-api-key': API_KEY
    }
})
.then(response => response.json())
.then(data => console.log(data))
.catch(error => console.error('Error:', error));

Notes

  • Returns complete holder history for the token
  • Holders are sorted by balance by default
  • All amounts are in their respective token's smallest unit
  • USD values are calculated at the time of the transaction
  • Tags can indicate special wallet types (e.g., bots, snipers)

Error Responses

{
  "error": "Token address is required"
}

Common errors:

  • Missing token address
  • Invalid token address
  • Server error