SDK
import { Client } from '@solana-tracker/data-api';
const client = new Client({ apiKey: 'YOUR_API_KEY' });
const data = await client.getGraduatedTokens({ limit: 50 });curl --request GET \
--url https://data.solanatracker.io/tokens/multi/graduated \
--header 'x-api-key: <api-key>'import requests
url = "https://data.solanatracker.io/tokens/multi/graduated"
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/multi/graduated', 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/multi/graduated",
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/multi/graduated"
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/multi/graduated")
.header("x-api-key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://data.solanatracker.io/tokens/multi/graduated")
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[
{
"token": {
"name": "<string>",
"symbol": "<string>",
"mint": "<string>",
"uri": "<string>",
"decimals": 123,
"description": "<string>",
"image": "<string>",
"hasFileMetaData": true,
"strictSocials": {},
"creation": {
"creator": "<string>",
"created_tx": "<string>",
"created_time": 123
}
},
"pools": [
{
"poolId": "<string>",
"liquidity": {
"quote": 123,
"usd": 123
},
"price": {
"quote": 123,
"usd": 123
},
"tokenSupply": 123,
"lpBurn": 123,
"tokenAddress": "<string>",
"marketCap": {
"quote": 123,
"usd": 123
},
"market": "<string>",
"quoteToken": "<string>",
"decimals": 123,
"security": {
"freezeAuthority": "<string>",
"mintAuthority": "<string>"
},
"lastUpdated": 123,
"deployer": "<string>",
"txns": {
"buys": 123,
"total": 123,
"volume": 123,
"volume24h": 123,
"sells": 123
},
"bundleId": "<string>"
}
],
"events": {},
"risk": {
"snipers": {
"count": 123,
"totalBalance": 123,
"totalPercentage": 123,
"wallets": [
"<string>"
]
},
"bundlers": {
"count": 123,
"totalBalance": 123,
"totalPercentage": 123,
"totalInitialBalance": 123,
"totalInitialPercentage": 123,
"wallets": [
{
"wallet": "<string>",
"initialBalance": 123,
"initialPercentage": 123,
"balance": 123,
"percentage": 123,
"bundleTime": 123
}
]
},
"insiders": {
"count": 123,
"totalBalance": 123,
"totalPercentage": 123,
"wallets": [
"<string>"
]
},
"top10": 123,
"dev": {
"percentage": 123,
"amount": 123
},
"fees": {},
"rugged": true,
"risks": [
"<string>"
],
"score": 123,
"jupiterVerified": true
},
"buys": 123,
"sells": 123,
"txns": 123,
"holders": 123
}
]Tokens
Get Graduated Tokens
Overview of all graduated launchpad tokens (Pump.fun, letsbonk.fun, jupiter studio etc)
GET
/
tokens
/
multi
/
graduated
SDK
import { Client } from '@solana-tracker/data-api';
const client = new Client({ apiKey: 'YOUR_API_KEY' });
const data = await client.getGraduatedTokens({ limit: 50 });curl --request GET \
--url https://data.solanatracker.io/tokens/multi/graduated \
--header 'x-api-key: <api-key>'import requests
url = "https://data.solanatracker.io/tokens/multi/graduated"
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/multi/graduated', 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/multi/graduated",
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/multi/graduated"
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/multi/graduated")
.header("x-api-key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://data.solanatracker.io/tokens/multi/graduated")
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[
{
"token": {
"name": "<string>",
"symbol": "<string>",
"mint": "<string>",
"uri": "<string>",
"decimals": 123,
"description": "<string>",
"image": "<string>",
"hasFileMetaData": true,
"strictSocials": {},
"creation": {
"creator": "<string>",
"created_tx": "<string>",
"created_time": 123
}
},
"pools": [
{
"poolId": "<string>",
"liquidity": {
"quote": 123,
"usd": 123
},
"price": {
"quote": 123,
"usd": 123
},
"tokenSupply": 123,
"lpBurn": 123,
"tokenAddress": "<string>",
"marketCap": {
"quote": 123,
"usd": 123
},
"market": "<string>",
"quoteToken": "<string>",
"decimals": 123,
"security": {
"freezeAuthority": "<string>",
"mintAuthority": "<string>"
},
"lastUpdated": 123,
"deployer": "<string>",
"txns": {
"buys": 123,
"total": 123,
"volume": 123,
"volume24h": 123,
"sells": 123
},
"bundleId": "<string>"
}
],
"events": {},
"risk": {
"snipers": {
"count": 123,
"totalBalance": 123,
"totalPercentage": 123,
"wallets": [
"<string>"
]
},
"bundlers": {
"count": 123,
"totalBalance": 123,
"totalPercentage": 123,
"totalInitialBalance": 123,
"totalInitialPercentage": 123,
"wallets": [
{
"wallet": "<string>",
"initialBalance": 123,
"initialPercentage": 123,
"balance": 123,
"percentage": 123,
"bundleTime": 123
}
]
},
"insiders": {
"count": 123,
"totalBalance": 123,
"totalPercentage": 123,
"wallets": [
"<string>"
]
},
"top10": 123,
"dev": {
"percentage": 123,
"amount": 123
},
"fees": {},
"rugged": true,
"risks": [
"<string>"
],
"score": 123,
"jupiterVerified": true
},
"buys": 123,
"sells": 123,
"txns": 123,
"holders": 123
}
]SDK Example
import { Client } from '@solana-tracker/data-api';
const client = new Client({ apiKey: 'YOUR_API_KEY' });
const data = await client.getGraduatedTokens({ limit: 50 });
Authorizations
API Key for authentication
Query Parameters
Number of tokens to return (default: 100, max: 500)
Required range:
1 <= x <= 500Page number for pagination (default: 1)
Required range:
x >= 1Minimum token creation date filter. Accepts Unix timestamp in seconds, Unix timestamp in milliseconds, or ISO date string.
Maximum token creation date filter. Accepts Unix timestamp in seconds, Unix timestamp in milliseconds, or ISO date string.
Reduce spam by filtering out quick graduated tokens
Minimum liquidity filter
Maximum liquidity filter
Minimum market cap filter
Maximum market cap filter
Filter by specific markets (comma-separated)
Minimum risk score filter
Maximum risk score filter
Filter by rugged status
Was this page helpful?
⌘I