SDK
import { Client } from '@solana-tracker/data-api';
const client = new Client({ apiKey: 'YOUR_API_KEY' });
const data = await client.getTokenHoldersPaginated('6p6xgHyF7AeE6TZkSmFsko444wqoP15icUSqi2jfGiPN', 100);curl --request GET \
--url https://data.solanatracker.io/tokens/{tokenAddress}/holders/paginated \
--header 'x-api-key: <api-key>'import requests
url = "https://data.solanatracker.io/tokens/{tokenAddress}/holders/paginated"
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://data.solanatracker.io/tokens/{tokenAddress}/holders/paginated', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://data.solanatracker.io/tokens/{tokenAddress}/holders/paginated",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"x-api-key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://data.solanatracker.io/tokens/{tokenAddress}/holders/paginated"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("x-api-key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://data.solanatracker.io/tokens/{tokenAddress}/holders/paginated")
.header("x-api-key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://data.solanatracker.io/tokens/{tokenAddress}/holders/paginated")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["x-api-key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"total": 629520,
"accounts": [
{
"wallet": "2RH6rUTPBJ9rUDPpuV9b8z1YL56k1tYU6Uk5ZoaEFFSK",
"account": "HkykUVWTctptXZmRTWearMsH4SaQNmE4Ku3tMJe5v2mH",
"amount": 800000026.912776,
"value": {
"quote": 4794089882.482378,
"usd": 4794089882.482378
},
"percentage": 80.00006034693021
},
{
"wallet": "9WzDXwBbmkg8ZTbNMqUxvQRAyrZzDsGYdLVL9zYtAWWM",
"account": "7DaumTmUaK3xcpd8XJXAjUzDrCqPuj3S1Sc2cbootBUN",
"amount": 29442390.303223,
"value": {
"quote": 176436825.90046737,
"usd": 176436825.90046737
},
"percentage": 2.944241152222513
}
],
"cursor": "Cd3HX8ToTVeJYTN4dB6BuRvnvmTFeXHJ3E4EAfR9s8QA",
"hasMore": true,
"limit": 10
}{
"error": "Invalid token address"
}{
"error": "Token not found, please check back later"
}{
"error": "Unable to fetch holders data"
}{
"error": "Request timeout while fetching holders data"
}Tokens
Get All Token Holders (Paginated)
持币列表支持游标分页;按持仓量从高到低排序。
GET
/
tokens
/
{tokenAddress}
/
holders
/
paginated
SDK
import { Client } from '@solana-tracker/data-api';
const client = new Client({ apiKey: 'YOUR_API_KEY' });
const data = await client.getTokenHoldersPaginated('6p6xgHyF7AeE6TZkSmFsko444wqoP15icUSqi2jfGiPN', 100);curl --request GET \
--url https://data.solanatracker.io/tokens/{tokenAddress}/holders/paginated \
--header 'x-api-key: <api-key>'import requests
url = "https://data.solanatracker.io/tokens/{tokenAddress}/holders/paginated"
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://data.solanatracker.io/tokens/{tokenAddress}/holders/paginated', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://data.solanatracker.io/tokens/{tokenAddress}/holders/paginated",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"x-api-key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://data.solanatracker.io/tokens/{tokenAddress}/holders/paginated"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("x-api-key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://data.solanatracker.io/tokens/{tokenAddress}/holders/paginated")
.header("x-api-key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://data.solanatracker.io/tokens/{tokenAddress}/holders/paginated")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["x-api-key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"total": 629520,
"accounts": [
{
"wallet": "2RH6rUTPBJ9rUDPpuV9b8z1YL56k1tYU6Uk5ZoaEFFSK",
"account": "HkykUVWTctptXZmRTWearMsH4SaQNmE4Ku3tMJe5v2mH",
"amount": 800000026.912776,
"value": {
"quote": 4794089882.482378,
"usd": 4794089882.482378
},
"percentage": 80.00006034693021
},
{
"wallet": "9WzDXwBbmkg8ZTbNMqUxvQRAyrZzDsGYdLVL9zYtAWWM",
"account": "7DaumTmUaK3xcpd8XJXAjUzDrCqPuj3S1Sc2cbootBUN",
"amount": 29442390.303223,
"value": {
"quote": 176436825.90046737,
"usd": 176436825.90046737
},
"percentage": 2.944241152222513
}
],
"cursor": "Cd3HX8ToTVeJYTN4dB6BuRvnvmTFeXHJ3E4EAfR9s8QA",
"hasMore": true,
"limit": 10
}{
"error": "Invalid token address"
}{
"error": "Token not found, please check back later"
}{
"error": "Unable to fetch holders data"
}{
"error": "Request timeout while fetching holders data"
}SDK Example
import { Client } from '@solana-tracker/data-api';
const client = new Client({ apiKey: 'YOUR_API_KEY' });
const data = await client.getTokenHoldersPaginated('6p6xgHyF7AeE6TZkSmFsko444wqoP15icUSqi2jfGiPN', 100);
授权
用于鉴权的 API Key
路径参数
Solana 代币 mint 地址
Pattern:
^[1-9A-HJ-NP-Za-km-z]{32,44}$查询参数
每页返回持币地址条数(最小 1,最大 5000,默认 1000)
必填范围:
1 <= x <= 5000分页游标;使用上一页响应中的 cursor 请求下一页。
响应
Successful response
Total number of token holders
Array of holder accounts for current page
Show child attributes
Show child attributes
Cursor for retrieving the next page. Null if no more pages.
Indicates if there are more pages available
Number of items requested per page
此页面对您有帮助吗?
⌘I