import { Client } from '@solana-tracker/data-api';
const client = new Client({ apiKey: 'YOUR_API_KEY' });
const data = await client.searchTokens({
query: 'BONK',
quoteToken: ['SOL', 'USDC'], // Only pools quoted in SOL or USDC.
limit: 10,
});curl --request GET \
--url https://data.solanatracker.io/search \
--header 'x-api-key: <api-key>'import requests
url = "https://data.solanatracker.io/search"
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/search', 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/search",
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/search"
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/search")
.header("x-api-key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://data.solanatracker.io/search")
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{
"status": "success",
"data": [
{
"id": "1mHoWfm6z2rPwoYvDJnbXLBqn1Kz5uFphsuXFbNEpump_1mHoWfm6z2rPwoYvDJnbXLBqn1Kz5uFphsuXFbNEpump",
"name": "Search Example",
"symbol": "SEARCH",
"mint": "1mHoWfm6z2rPwoYvDJnbXLBqn1Kz5uFphsuXFbNEpump",
"image": "https://image.solanatracker.io/proxy?url=https%3A%2F%2Fipfs.io%2Fipfs%2Fbafkreieea4t7xuw6x52tzw3j4sl5khztxlvq6fkmmik2v4hue6gf3h6z4u",
"decimals": 6,
"hasSocials": true,
"hasCoinCommunity": true,
"communityMessages": 12,
"poolAddress": "9mHoWfm6z2rPwoYvDJnbXLBqn1Kz5uFphsuXFbNEpump",
"liquidityUsd": 11448.851629727089,
"marketCapUsd": 5598.428247103462,
"priceUsd": 0.000005598428247103462,
"lpBurn": 100,
"market": "pumpfun",
"quoteToken": "So11111111111111111111111111111111111111112",
"freezeAuthority": null,
"mintAuthority": null,
"deployer": "46AxLXbx5bG3jGcT881u61v7aRoAftmtA4JBtfVyiEmv",
"status": "default",
"createdAt": 1760273456641,
"lastUpdated": 1760273468644,
"holders": 2,
"launchpad": {
"name": "",
"url": "",
"logo": "",
"curvePercentage": 6.366677291506747,
"fee": 0.25
},
"buys": 2,
"sells": 1,
"totalTransactions": 3,
"volume": 304.8940710222087,
"volume_5m": 286,
"volume_15m": 286,
"volume_30m": 286,
"volume_1h": 286,
"volume_6h": 286,
"volume_12h": 286,
"volume_24h": 286,
"top10": 5.0494,
"dev": 5.0494,
"insiders": 0,
"snipers": 0.3166,
"bundlers": {
"count": 0,
"balance": 0,
"percentage": 0
},
"riskScore": 10,
"socials": {
"twitter": "https://x.com/i/communities/1977354097570304425"
},
"fees": {
"total": 0.002086,
"totalTrading": 0.001966,
"totalTips": 0.00012
},
"tokenDetails": {
"creator": "46AxLXbx5bG3jGcT881u61v7aRoAftmtA4JBtfVyiEmv",
"tx": "58DshkoV4EeiAi5d9szUuZu1Rj8HzbK9TbPLV4RjC1defyETUJb3wVXLY2h1SnZFgQdjXJC2o59Ty44BSDNerpHm",
"time": 1760273457
}
}
],
"total": 13144556,
"pages": 13144556,
"page": 1,
"nextCursor": "WzE3NjAyNzM0NTY2NDEsIjltSG9XZm02ejJyUHdvWXZESm5iWExCcW4xS3o1dUZwaHN1WEZiTkVwdW1wIl0=",
"hasMore": true
}API de búsqueda de tokens de Solana
Busca tokens de Solana por nombre, símbolo o dirección. Filtra por liquidez, market cap, volumen, holders, risk score, launchpad y más. GET /search.
import { Client } from '@solana-tracker/data-api';
const client = new Client({ apiKey: 'YOUR_API_KEY' });
const data = await client.searchTokens({
query: 'BONK',
quoteToken: ['SOL', 'USDC'], // Only pools quoted in SOL or USDC.
limit: 10,
});curl --request GET \
--url https://data.solanatracker.io/search \
--header 'x-api-key: <api-key>'import requests
url = "https://data.solanatracker.io/search"
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/search', 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/search",
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/search"
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/search")
.header("x-api-key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://data.solanatracker.io/search")
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{
"status": "success",
"data": [
{
"id": "1mHoWfm6z2rPwoYvDJnbXLBqn1Kz5uFphsuXFbNEpump_1mHoWfm6z2rPwoYvDJnbXLBqn1Kz5uFphsuXFbNEpump",
"name": "Search Example",
"symbol": "SEARCH",
"mint": "1mHoWfm6z2rPwoYvDJnbXLBqn1Kz5uFphsuXFbNEpump",
"image": "https://image.solanatracker.io/proxy?url=https%3A%2F%2Fipfs.io%2Fipfs%2Fbafkreieea4t7xuw6x52tzw3j4sl5khztxlvq6fkmmik2v4hue6gf3h6z4u",
"decimals": 6,
"hasSocials": true,
"hasCoinCommunity": true,
"communityMessages": 12,
"poolAddress": "9mHoWfm6z2rPwoYvDJnbXLBqn1Kz5uFphsuXFbNEpump",
"liquidityUsd": 11448.851629727089,
"marketCapUsd": 5598.428247103462,
"priceUsd": 0.000005598428247103462,
"lpBurn": 100,
"market": "pumpfun",
"quoteToken": "So11111111111111111111111111111111111111112",
"freezeAuthority": null,
"mintAuthority": null,
"deployer": "46AxLXbx5bG3jGcT881u61v7aRoAftmtA4JBtfVyiEmv",
"status": "default",
"createdAt": 1760273456641,
"lastUpdated": 1760273468644,
"holders": 2,
"launchpad": {
"name": "",
"url": "",
"logo": "",
"curvePercentage": 6.366677291506747,
"fee": 0.25
},
"buys": 2,
"sells": 1,
"totalTransactions": 3,
"volume": 304.8940710222087,
"volume_5m": 286,
"volume_15m": 286,
"volume_30m": 286,
"volume_1h": 286,
"volume_6h": 286,
"volume_12h": 286,
"volume_24h": 286,
"top10": 5.0494,
"dev": 5.0494,
"insiders": 0,
"snipers": 0.3166,
"bundlers": {
"count": 0,
"balance": 0,
"percentage": 0
},
"riskScore": 10,
"socials": {
"twitter": "https://x.com/i/communities/1977354097570304425"
},
"fees": {
"total": 0.002086,
"totalTrading": 0.001966,
"totalTips": 0.00012
},
"tokenDetails": {
"creator": "46AxLXbx5bG3jGcT881u61v7aRoAftmtA4JBtfVyiEmv",
"tx": "58DshkoV4EeiAi5d9szUuZu1Rj8HzbK9TbPLV4RjC1defyETUJb3wVXLY2h1SnZFgQdjXJC2o59Ty44BSDNerpHm",
"time": 1760273457
}
}
],
"total": 13144556,
"pages": 13144556,
"page": 1,
"nextCursor": "WzE3NjAyNzM0NTY2NDEsIjltSG9XZm02ejJyUHdvWXZESm5iWExCcW4xS3o1dUZwaHN1WEZiTkVwdW1wIl0=",
"hasMore": true
}SDK Example
import { Client } from '@solana-tracker/data-api';
const client = new Client({ apiKey: 'YOUR_API_KEY' });
const data = await client.searchTokens({
query: 'BONK',
quoteToken: ['SOL', 'USDC'], // Only pools quoted in SOL or USDC.
limit: 10,
});
Autorizaciones
Clave API para autenticación
Parámetros de consulta
Término: símbolo, nombre o dirección del token
Devuelve todos los tokens cuyo símbolo coincide exactamente
Número de página (paginación por desplazamiento)
Primary page size for organic search hits (max 500, or max 100 when format=full). pages is calculated from this limit. The response data array may include up to 5 additional curated/promoted rows on top of the organic page, so data.length can be as high as limit + 5.
x <= 500Formato de respuesta. Con full se devuelven objetos token completos (misma forma que GET /tokens/:token: token, pools, events, risk, compras, ventas, txns, holders, etc.). Con format=full el máximo por página es 100.
full Cursor para paginación por cursor (más eficiente en páginas profundas)
Campo de ordenación
liquidityUsd, marketCapUsd, priceUsd, volume, volume_5m, volume_15m, volume_30m, volume_1h, volume_6h, volume_12h, volume_24h, top10, dev, insiders, snipers, holders, buys, sells, totalTransactions, fees.total, fees.totalTrading, fees.totalTips, createdAt, lpBurn, curvePercentage, communityMessages, migrationSeconds Dirección de ordenación
asc, desc Filtra por presencia de imagen: true para tokens con imagen, false para tokens sin ella. Un valor de imagen vacío cuenta como sin imagen.
Filtrar por redes sociales: true = con enlaces; false = sin enlaces.
Filtra por URL de imagen o hash IPFS exactos. Acepta URL completas o CID. Si la URL contiene /ipfs/, solo se usa el hash/CID para coincidir (p. ej. QmXyZ… coincide con cualquier gateway con ese CID).
500Filtra por nombre de launchpad, sin distinguir mayúsculas. Varios valores separados por comas (p. ej. pumpfun,boop,stonkfun). Los pools que migraron desde un launchpad conservan su nombre, así que letsbonk.fun o stonkfun también coinciden con sus pools de Raydium migrados.
100Filtra por el token de cotización del pool. Direcciones de mint o símbolos separados por comas (SOL, USDC, USDT, USD1, CASH, CBBTC, LBTC, sin distinguir mayúsculas), hasta 20. Ejemplo: SOL,USDC.
1000Si está activado, devuelve todas las pools de liquidez del token.
Incluye en la respuesta datos de variación de precio.
Fecha mínima de creación del pool (Unix en milisegundos). Para filtrar por la creación del propio token, usa minTokenCreatedAt.
Fecha máxima de creación del pool (Unix en milisegundos). Para filtrar por la creación del propio token, usa maxTokenCreatedAt.
Fecha mínima de creación del token (mint), inclusiva. Unix en segundos o milisegundos. A diferencia de minCreatedAt, usa la creación del token, no la del pool.
Fecha máxima de creación del token (mint), inclusiva. Unix en segundos o milisegundos.
Fecha de graduación mínima (Unix en milisegundos)
Fecha de graduación máxima (Unix en milisegundos)
Solo tokens que tardaron más de estos segundos desde su creación hasta la migración. minMigrationSeconds=5 descarta los tokens que migraron en los 5 segundos siguientes a su creación. Los tokens que no han migrado no coinciden.
x >= 0Solo tokens que migraron en, como máximo, estos segundos desde su creación (inclusivo). maxMigrationSeconds=0 devuelve los tokens creados y migrados en el mismo bloque.
x >= 0Liquidez mínima (USD)
Liquidez máxima (USD, tope 100.000M)
Capitalización mínima (USD)
Capitalización máxima (USD, tope 5 billones USD)
Volumen mínimo (USD, marco temporal por defecto)
Volumen máximo (USD, marco temporal por defecto)
Marco temporal para filtrar por volumen
5m, 15m, 30m, 1h, 6h, 12h, 24h Número mínimo de compras
Número máximo de compras
Número mínimo de ventas
Número máximo de ventas
Número mínimo total de operaciones
Número máximo total de operaciones
Número mínimo de tenedores
Número máximo de tenedores
% mínimo en manos del top 10 (0–100)
0 <= x <= 100% máximo en manos del top 10 (0–100)
0 <= x <= 100% mínimo en manos del desarrollador (0–100)
0 <= x <= 100% máximo en manos del desarrollador (0–100)
0 <= x <= 100% mínimo en manos de insiders (0–100)
0 <= x <= 100% máximo en manos de insiders (0–100)
0 <= x <= 100% mínimo en manos de snipers (0–100)
0 <= x <= 100% máximo en manos de snipers (0–100)
0 <= x <= 100Número mínimo de carteras bundler
x >= 0Número máximo de carteras bundler
x >= 0% mínimo en manos de bundlers (0–100)
0 <= x <= 100% máximo en manos de bundlers (0–100)
0 <= x <= 100Saldo mínimo del token en manos de wallets bundler, en unidades del token.
x >= 0Saldo máximo del token en manos de wallets bundler, en unidades del token.
x >= 0Puntuación de riesgo mínima
x >= 0Puntuación de riesgo máxima
x >= 0Porcentaje de quema del token LP (0–100)
0 <= x <= 100Identificador de mercado; varios valores separados por comas (p. ej. raydium,orca,pumpfun). Un solo valor se comporta como antes.
Dirección de autoridad de congelación (null si no existe)
Dirección de autoridad de acuñación (null si no existe)
Dirección de la cartera desplegadora
Dirección de la cartera creadora del token
Estado del token
graduating, graduated, default Progreso mínimo de la curva de vinculación % (0–100)
0 <= x <= 100Progreso máximo de la curva de vinculación % (0–100)
0 <= x <= 100Filtra por el enlace de twitter del token. Coincide con o sin https://, www. y barra final.
Filtra por el enlace de telegram del token. Coincide con o sin https://, www. y barra final.
Filtra por el enlace de discord del token. Coincide con o sin https://, www. y barra final.
Filtra por el enlace de website del token. Coincide con o sin https://, www. y barra final.
Filtra por el enlace de facebook del token. Coincide con o sin https://, www. y barra final.
Filtra por el enlace de instagram del token. Coincide con o sin https://, www. y barra final.
Filtra por el enlace de youtube del token. Coincide con o sin https://, www. y barra final.
Filtra por el enlace de reddit del token. Coincide con o sin https://, www. y barra final.
Filtra por el enlace de tiktok del token. Coincide con o sin https://, www. y barra final.
Filtra por el enlace de github del token. Coincide con o sin https://, www. y barra final.
Comisiones totales pagadas mínimas (SOL)
Comisiones totales pagadas máximas (SOL)
Comisiones de trading pagadas mínimas (SOL)
Comisiones de trading pagadas máximas (SOL)
Propinas / priority fees pagadas mínimas (SOL)
Propinas / priority fees pagadas máximas (SOL)
Filtra por actividad en Coin Communities. true = al menos un mensaje monitorizado; false = cero mensajes monitorizados.
Recuento mínimo de mensajes en vivo de Coin Communities (inclusive)
Recuento máximo de mensajes en vivo de Coin Communities (inclusive)
¿Esta página le ayudó?