Token - Holder Profile
curl --request GET \
--url https://public-api.birdeye.so/token/v1/holder-profile \
--header 'X-API-KEY: <api-key>'import requests
url = "https://public-api.birdeye.so/token/v1/holder-profile"
headers = {"X-API-KEY": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'X-API-KEY': '<api-key>'}};
fetch('https://public-api.birdeye.so/token/v1/holder-profile', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"success": true,
"data": {
"token": {
"creation_time": 1743621183,
"market_cap": 76953.927132964,
"liquidity": 31093.1204999,
"volume_1h": 98369093.075709,
"volume_1h_usd": 7724.716658279683,
"buy_volume_1h": 55864766.46463199,
"buy_volume_1h_usd": 4389.081586003591,
"sell_volume_1h": 42504326.61107701,
"sell_volume_1h_usd": 3335.6350722760917,
"is_scaled_ui_token": false,
"top10_holder": {
"hold_amount": "328262230.042939",
"percent_of_supply": 32.82937
}
},
"holder_summary": {
"total_holder": 409,
"total_holding": 516552632.417262,
"percent_of_supply": 51.660209
},
"tags": [
{
"tag": "bundler",
"holder_count": 404,
"hold_amount": "504468333.328127",
"percent_of_supply": 50.45166,
"buy_volume": "2323780188.2655096",
"sell_volume": "1845315786.9764643",
"buy_volume_usd": "329574.1593590265",
"sell_volume_usd": "259958.9376750694",
"avg_buy_price": "0.00014183",
"pnl": "-36019.85710298"
},
{
"tag": "sniper",
"holder_count": 0,
"hold_amount": "0",
"percent_of_supply": 0,
"buy_volume": "0",
"sell_volume": "0",
"buy_volume_usd": "0",
"sell_volume_usd": "0",
"avg_buy_price": "0",
"pnl": "0"
},
{
"tag": "insider",
"holder_count": 0,
"hold_amount": "0",
"percent_of_supply": 0,
"buy_volume": "0",
"sell_volume": "0",
"buy_volume_usd": "0",
"sell_volume_usd": "0",
"avg_buy_price": "0",
"pnl": "0"
},
{
"tag": "dev",
"holder_count": 1,
"hold_amount": "0",
"percent_of_supply": 0,
"buy_volume": "82538461.538461",
"sell_volume": "82538461.538461",
"buy_volume_usd": "209.95208323574846",
"sell_volume_usd": "332.72892173159056",
"avg_buy_price": "0.00000254",
"pnl": "122.77683849584209"
},
{
"tag": "smart_trader",
"holder_count": 0,
"hold_amount": "0",
"percent_of_supply": 0,
"buy_volume": "0",
"sell_volume": "0",
"buy_volume_usd": "0",
"sell_volume_usd": "0",
"avg_buy_price": "0",
"pnl": "0"
},
{
"tag": "kol",
"holder_count": 0,
"hold_amount": "0",
"percent_of_supply": 0,
"buy_volume": "0",
"sell_volume": "0",
"buy_volume_usd": "0",
"sell_volume_usd": "0",
"avg_buy_price": "0",
"pnl": "0"
}
]
}
}{
"success": false,
"message": "Bad request"
}{
"success": false,
"message": "Unauthorized"
}{
"success": false,
"message": "Access Denied"
}{
"success": false,
"message": "Too many requests"
}{
"success": false,
"message": "Internal Server Error"
}Holder
Token - Holder Profile
Retrieve holder profile summary for a specified token, including token market data, holder summary, and breakdown by holder tags (bundler, sniper, insider, dev, smart_trader, kol).
GET
/
token
/
v1
/
holder-profile
Token - Holder Profile
curl --request GET \
--url https://public-api.birdeye.so/token/v1/holder-profile \
--header 'X-API-KEY: <api-key>'import requests
url = "https://public-api.birdeye.so/token/v1/holder-profile"
headers = {"X-API-KEY": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'X-API-KEY': '<api-key>'}};
fetch('https://public-api.birdeye.so/token/v1/holder-profile', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"success": true,
"data": {
"token": {
"creation_time": 1743621183,
"market_cap": 76953.927132964,
"liquidity": 31093.1204999,
"volume_1h": 98369093.075709,
"volume_1h_usd": 7724.716658279683,
"buy_volume_1h": 55864766.46463199,
"buy_volume_1h_usd": 4389.081586003591,
"sell_volume_1h": 42504326.61107701,
"sell_volume_1h_usd": 3335.6350722760917,
"is_scaled_ui_token": false,
"top10_holder": {
"hold_amount": "328262230.042939",
"percent_of_supply": 32.82937
}
},
"holder_summary": {
"total_holder": 409,
"total_holding": 516552632.417262,
"percent_of_supply": 51.660209
},
"tags": [
{
"tag": "bundler",
"holder_count": 404,
"hold_amount": "504468333.328127",
"percent_of_supply": 50.45166,
"buy_volume": "2323780188.2655096",
"sell_volume": "1845315786.9764643",
"buy_volume_usd": "329574.1593590265",
"sell_volume_usd": "259958.9376750694",
"avg_buy_price": "0.00014183",
"pnl": "-36019.85710298"
},
{
"tag": "sniper",
"holder_count": 0,
"hold_amount": "0",
"percent_of_supply": 0,
"buy_volume": "0",
"sell_volume": "0",
"buy_volume_usd": "0",
"sell_volume_usd": "0",
"avg_buy_price": "0",
"pnl": "0"
},
{
"tag": "insider",
"holder_count": 0,
"hold_amount": "0",
"percent_of_supply": 0,
"buy_volume": "0",
"sell_volume": "0",
"buy_volume_usd": "0",
"sell_volume_usd": "0",
"avg_buy_price": "0",
"pnl": "0"
},
{
"tag": "dev",
"holder_count": 1,
"hold_amount": "0",
"percent_of_supply": 0,
"buy_volume": "82538461.538461",
"sell_volume": "82538461.538461",
"buy_volume_usd": "209.95208323574846",
"sell_volume_usd": "332.72892173159056",
"avg_buy_price": "0.00000254",
"pnl": "122.77683849584209"
},
{
"tag": "smart_trader",
"holder_count": 0,
"hold_amount": "0",
"percent_of_supply": 0,
"buy_volume": "0",
"sell_volume": "0",
"buy_volume_usd": "0",
"sell_volume_usd": "0",
"avg_buy_price": "0",
"pnl": "0"
},
{
"tag": "kol",
"holder_count": 0,
"hold_amount": "0",
"percent_of_supply": 0,
"buy_volume": "0",
"sell_volume": "0",
"buy_volume_usd": "0",
"sell_volume_usd": "0",
"avg_buy_price": "0",
"pnl": "0"
}
]
}
}{
"success": false,
"message": "Bad request"
}{
"success": false,
"message": "Unauthorized"
}{
"success": false,
"message": "Access Denied"
}{
"success": false,
"message": "Too many requests"
}{
"success": false,
"message": "Internal Server Error"
}- Usage Note
- Accessibility
- Chain Supported
Cohort-level holder summary for labeled wallets.
- Supported holder tags are
bundler,sniper,insider,dev,smart_trader, andkol. holder_summaryaggregates all labeled holders returned by the profile.tagsbreaks the token down by holder label, with holder count, held amount, supply share, buy/sell volume, average buy price, and PnL.top10_holdersummarizes the token’s top 10 holders separately from labeled cohorts.include_zero_balance=trueincludes wallets that traded the token but no longer hold it.
- Standard
- Lite
- Starter
- Premium
- Business
- Enterprise
Solana
Compute Unit ⚙️
Compute Unit ⚙️
- This endpoint consumes
25 CUper request.
Wallet Tag Definitions 🏷️
Wallet Tag Definitions 🏷️
- dev — The wallet that created the token: the mint creator from the initialize-mint transaction.
- sniper — A wallet that bought within the first
nblocks of the token, counted from the token’s first swap. On Solana,n = 5; a buy qualifies when its slot is withinfirst_trade_slot + 5.
- bundler — Coordinated buying detected in either level:
- Level 1: at least 4 buy transactions in the same slot.
- Level 2: at least 3 distinct wallets buying across adjacent slots, where max slot gap is 1.
- insider — A wallet that received the token directly from the Chef wallet via token transfer, not via a swap.
- smart_trader — A non-bot wallet ranked in Top Realized PnL over the last 90 days with realized PnL > $10,000. Wallets identified as bots are excluded before ranking and never receive this tag.
- kol — A tracked key-opinion-leader wallet label for this token when Birdeye classification identifies the wallet as a KOL cohort member.
Use Cases 💡
Use Cases 💡
- Compress token-holder intelligence into one executive snapshot: market context, top-holder concentration, labeled-holder exposure, and cohort-level PnL.
- Score token quality by comparing how much supply is controlled by bundlers, snipers, insiders, developers, smart traders, and KOL cohorts.
- Build risk panels that highlight whether suspicious cohorts dominate supply or whether higher-quality smart-money wallets are participating.
- Track cohort conviction through hold amount, percent of supply, buy/sell volume, average buy price, and unrealized PnL.
- Use as the top-level overview before drilling into Holder Positions for the exact wallets behind each label.
How to Use 🛠️
How to Use 🛠️
- Provide a Solana
token_address. - Use
interval=1hfor the volume fields returned in the profile. - Set
ui_amount_mode=rawfor raw token amounts orui_amount_mode=scaledfor Solana Token-2022 scaled UI amounts when the token supports scaled UI amount extension. - Set
include_zero_balance=falsewhen you only want wallets that still hold the token. - Read
token,holder_summary, andtagstogether to connect market context with cohort behavior.
Best Practices ✅
Best Practices ✅
- Use holder-profile as the first stop for token-holder risk review, then drill into holder-positions for wallet-level evidence.
- Compare
percent_of_supplyacross labels before trusting volume alone; small active cohorts can still control meaningful supply. - Watch for a high share of bundler, sniper, insider, or dev holdings when evaluating launch quality.
- Treat smart-trader participation as one signal among several; validate it against liquidity, price action, and current holdings.
Limitations ⚠️
Limitations ⚠️
- Solana only.
intervalcurrently supports1h.- Holder labels depend on available indexing and classification coverage.
- Cohort summaries are not wallet-level evidence; use holder-positions when you need exact wallets.
Authorizations
API key for authentication
Headers
Solana network only.
Available options:
solana Query Parameters
Token mint address
Example:
"J3Dhvhga7QwgLWUGn43caDJtaoUTkDLmiMGqstS2Dw8A"
Time interval for volume data. Default: 1h
Available options:
1h Display mode for token amounts. Default: raw
Available options:
scaled, raw Include wallets that have traded the token but no longer hold it (zero balance). Default: true
Was this page helpful?

