import { Client } from '@solana-tracker/data-api';
const client = new Client({ apiKey: 'YOUR_API_KEY' });
const data = await client.searchTokens({ query: 'BONK', 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
}Token Search
Busca tokens por símbolo, nombre o dirección, con múltiples filtros y opciones de ordenación.
import { Client } from '@solana-tracker/data-api';
const client = new Client({ apiKey: 'YOUR_API_KEY' });
const data = await client.searchTokens({ query: 'BONK', 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', 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 Dirección de ordenación
asc, desc Filtrar por imagen: true = solo con imagen; false = solo 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 plataforma launchpad; varios valores separados por comas (p. ej. pumpfun,boop). Un solo valor se comporta como antes.
100Si está activado, devuelve todas las pools de liquidez del token.
Incluye en la respuesta datos de variación de precio.
Fecha de creación mínima (Unix en milisegundos)
Fecha de creación máxima (Unix en milisegundos)
Fecha de graduación mínima (Unix en milisegundos)
Fecha de graduación máxima (Unix en milisegundos)
Liquidez 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 <= 100Puntuació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 <= 100URL del perfil de Twitter/X (coincidencia exacta)
URL del canal o grupo de Telegram (coincidencia exacta)
URL de invitación al servidor de Discord (coincidencia exacta)
URL del sitio web oficial (coincidencia exacta)
URL de la página de Facebook (coincidencia exacta)
URL del perfil de Instagram (coincidencia exacta)
URL del canal de YouTube (coincidencia exacta)
URL de la comunidad en Reddit (coincidencia exacta)
URL del perfil de TikTok (coincidencia exacta)
URL del repositorio de GitHub (coincidencia exacta)
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ó?