curl --request GET \
--url https://public-api.birdeye.so/defi/v3/token/holder \
--header 'X-API-KEY: <api-key>'import requests
url = "https://public-api.birdeye.so/defi/v3/token/holder"
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/defi/v3/token/holder', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"success": true,
"data": {
"holder": 120450,
"top10HoldPercent": 18.42,
"items": [
{
"amount": "4995300410087424",
"decimals": 9,
"mint": "So11111111111111111111111111111111111111112",
"owner": "AVzP2GeRmqGphJsMxWoqjpUifPpCret7LqWhD8NWQK49",
"token_account": "BUvduFTd2sWFagCunBPLupG8fBTJqweLw9DuhruNFSCm",
"ui_amount": 4995300.410087424,
"is_scaled_ui_token": false,
"multiplier": null
}
]
}
}Token - Holder
Retrieve top holders of a Solana token. By default, results are returned per token account. Set mode=wallet to group token accounts by owner wallet and include wallet-level holder stats.
curl --request GET \
--url https://public-api.birdeye.so/defi/v3/token/holder \
--header 'X-API-KEY: <api-key>'import requests
url = "https://public-api.birdeye.so/defi/v3/token/holder"
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/defi/v3/token/holder', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"success": true,
"data": {
"holder": 120450,
"top10HoldPercent": 18.42,
"items": [
{
"amount": "4995300410087424",
"decimals": 9,
"mint": "So11111111111111111111111111111111111111112",
"owner": "AVzP2GeRmqGphJsMxWoqjpUifPpCret7LqWhD8NWQK49",
"token_account": "BUvduFTd2sWFagCunBPLupG8fBTJqweLw9DuhruNFSCm",
"ui_amount": 4995300.410087424,
"is_scaled_ui_token": false,
"multiplier": null
}
]
}
}- Usage Note
- Accessibility
- Chain Supported
Top holders for one token, with token-account mode and wallet mode.
mode=token_accountreturns the legacy view: one row per token account.mode=walletgroups token accounts by owner wallet and returns wallet-level holder stats.get_holder_infos=trueis only supported whenmode=wallet. It addsnetWorth,solBalance, andfundingto each holder row and may make the response slightly slower.- Holder rows always include raw balance (
amount), token decimals, mint address, owner wallet, andui_amount.token_accountis returned for token-account rows; wallet mode adds wallet-level stats such asamountUsd,holdAvgPrice,avgBuyPrice,avgSellPrice,firstTradeUnixTime, andlastTradeUnixTime. - Top-level
holderandtop10HoldPercentfollow the selected mode: token-account holder stats intoken_accountmode, wallet-level holder stats inwalletmode. ui_amount_mode=scaledapplies Solana Token-2022 scaled UI amount when the token supports scaled UI amount extension.- Use
offsetandlimitto page through holders.
Reading the numbers. amount is the raw balance before decimals in token-account mode, or the grouped wallet holding amount in wallet mode. ui_amount is the balance after applying decimals or Token-2022 scaled UI amount when requested and supported. amountUsd is wallet holding value in USD. holdAvgPrice describes the current wallet position cost; avgBuyPrice and avgSellPrice summarize historical trade prices.
- Standard
- Lite
- Starter
- Premium
- Business
- Enterprise
Solana
Compute Unit ⚙️
Compute Unit ⚙️
- This endpoint consumes
30 CUper request.
Use Cases 💡
Use Cases 💡
- Find the largest token holders and inspect the wallet owners behind major balances.
- Build top-holder tables for token profile pages, holder dashboards, and risk review workflows.
- Detect concentration risk by combining holder balances with total supply and holder-distribution data.
- Switch to wallet mode when you need true wallet-level concentration instead of token-account fragmentation.
- Identify wallets or token accounts worth deeper investigation before listing, trading, or monitoring a token.
How to Use 🛠️
How to Use 🛠️
- Provide a Solana
token_address. - Choose
mode=token_accountfor raw account-level ownership, ormode=walletto collapse token accounts by owner wallet. - Set
get_holder_infos=trueonly withmode=walletwhen you need holder net worth, SOL balance, and funding details. - Use
limitto control page size andoffsetto move through the holder list. - Set
ui_amount_mode=rawfor raw decimal-adjusted amounts, orui_amount_mode=scaledfor Solana Token-2022 scaled UI amounts when supported. - Use the returned
ownerfor wallet-level analysis andtoken_accountfor account-level investigation.
Best Practices ✅
Best Practices ✅
- Start with
mode=walletwhen the goal is concentration analysis, whale tracking, or wallet research. - Use
mode=token_accountwhen you need the exact token-account distribution, custodial splits, or account-level investigation. - Start with the first page to inspect top holders, then page further only when you need long-tail ownership.
- Combine this endpoint with holder-distribution to quantify how concentrated the top holders are.
- Use owner wallet addresses with wallet intelligence APIs to understand broader portfolio behavior.
- Enable
get_holder_infosonly when the extra wallet context is needed. - Keep
ui_amount_modeconsistent across holder, overview, and market-data calls when analyzing Token-2022 scaled UI amount tokens.
Limitations ⚠️
Limitations ⚠️
- Solana only.
- Pagination supports offset up to 10,000 and limit up to 100.
- This endpoint returns holder balances, not trade history, PnL, or wallet labels.
get_holder_infosis only available whenmode=wallet.ui_amount_mode=scaledonly changes amounts for tokens that support Solana Token-2022 scaled UI amount extension.
Authorizations
API key for authentication
Headers
Solana network only.
solana Query Parameters
The address of the token contract.
Pagination start position. offset + limit <= 10000
0 <= x <= 10000Number of items per page.
1 <= x <= 100Solana only. token_account returns one item per token account and keeps the legacy response. wallet groups token accounts by owner wallet and returns wallet-level holder stats.
token_account, wallet Solana only. Only available when mode=wallet. When true, the response includes netWorth, solBalance, and funding for each holder. This may make the response slightly slower than when disabled.
Indicate whether to use the scaled amount for scaled ui amount tokens. Only support solana
raw, scaled Was this page helpful?

