关于 dexscreener-api
DexScreener API 数据查询技能,为开发者和分析者提供跨链 DEX 交易对、价格、成交量和流动性等快照数据。无需 API 密钥,适合快速查询与轻量监控。
主要功能
- 01搜索代币并查询交易对
- 02获取价格、成交量与流动性数据
- 03跨链比较代币交易信息
- 04查询代币资料与推广状态
- 05提供 Python 脚本用于查询和监控
适用场景
- 01快速查找代币的流动性最高交易对
- 02比较多个链上的代币价格
- 03监控新近推广的代币
- 04根据交易笔数分析买卖压力
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ agiprolabs/ claude-trading-skills --skill dexscreener-api安装后在 Claude Code 中输入/dexscreener-api确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
references/endpoints.mderror_handling.mdscripts/boost_monitor.pytoken_lookup.py详细介绍
DexScreener API — 免费的多链 DEX 数据
DexScreener 提供覆盖 80 多条链的 DEX 交易对数据,无需 API 密钥。价格、交易量、流动性、交易笔数和代币资料,全部免费。适合快速查询、跨链比较和轻量级监控。
快速入门
无需身份验证,直接发起请求:
import httpx
# Search for a token
resp = httpx.get("https://api.dexscreener.com/latest/dex/search", params={"q": "BONK"})
pairs = resp.json()["pairs"]
for p in pairs[:3]:
print(f"{p['baseToken']['symbol']}/{p['quoteToken']['symbol']} on {p['chainId']}: ${p['priceUsd']}")
# Or with curl
curl "https://api.dexscreener.com/latest/dex/search?q=BONK"
基础 URL
https://api.dexscreener.com
无需 API 密钥,也无需请求头。速率限制:DEX 数据端点约为每分钟 300 次请求,资料/推广端点为每分钟 60 次请求。
核心端点
搜索交易对
# Search by token name, symbol, or address (returns ~30 pairs across all chains)
GET /latest/dex/search?q=BONK
GET /latest/dex/search?q=So11111111111111111111111111111111111111112
按链和交易对地址获取交易对
# Single pair
GET /latest/dex/pairs/solana/PAIR_ADDRESS
# Multiple pairs (comma-separated)
GET /latest/dex/pairs/solana/PAIR1,PAIR2,PAIR3
按代币地址获取交易对
# All pairs containing this token across all chains
GET /latest/dex/tokens/TOKEN_MINT_ADDRESS
# Chain-specific (v1)
GET /token-pairs/v1/solana/TOKEN_MINT
# Multiple tokens on one chain (v1)
GET /tokens/v1/solana/TOKEN1,TOKEN2,TOKEN3
代币资料和推广信息
# Latest token profiles (60 req/min)
GET /token-profiles/latest/v1
# Latest boosted tokens
GET /token-boosts/latest/v1
# Top boosted tokens (sorted by total boost amount)
GET /token-boosts/top/v1
# Token orders (ads, profile claims)
GET /orders/v1/solana/TOKEN_ADDRESS
# Community takeovers
GET /community-takeovers/latest/v1
交易对响应结构
{
"chainId": "solana",
"dexId": "raydium",
"url": "https://dexscreener.com/solana/PAIR_ADDR",
"pairAddress": "3nMFwZX...",
"labels": ["CLMM"],
"baseToken": { "address": "So11...", "name": "Wrapped SOL", "symbol": "SOL" },
"quoteToken": { "address": "EPjF...", "name": "USD Coin", "symbol": "USDC" },
"priceNative": "86.08",
"priceUsd": "86.08",
"txns": {
"m5": { "buys": 25, "sells": 18 },
"h1": { "buys": 916, "sells": 1282 },
"h6": { "buys": 11309, "sells": 12661 },
"h24": { "buys": 27974, "sells": 31475 }
},
"volume": { "m5": 41680, "h1": 6773038, "h6": 71628073, "h24": 167164493 },
"priceChange": { "m5": -0.01, "h1": -0.36, "h6": 0.82, "h24": 0.25 },
"liquidity": { "usd": 28168478, "base": 232348, "quote": 8167805 },
"fdv": 8171740,
"marketCap": 8171740,
"pairCreatedAt": 1688106058000,
"info": {
"imageUrl": "https://cdn.dexscreener.com/...",
"websites": [{ "url": "https://...", "label": "Website" }],
"socials": [{ "url": "https://x.com/...", "type": "twitter" }]
}
}
要点:
priceNative和priceUsd是字符串(可保留精度)pairCreatedAt的单位为毫秒(除以 1000 可转换为 Unix 时间戳)labels:"CLMM"(集中流动性)、"DLMM"(动态)、"wp"(漩涡池)info是可选字段,仅当代币资料已认领时才会出现- 对于没有供应量数据的代币,可能没有
fdv/marketCap
常见模式
快速查询代币
def lookup_token(address: str) -> dict | None:
"""Get the best pair for a token by liquidity."""
resp = httpx.get(f"https://api.dexscreener.com/latest/dex/tokens/{address}")
pairs = resp.json().get("pairs", [])
if not pairs:
return None
# Sort by liquidity (highest first)
pairs.sort(key=lambda p: p.get("liquidity", {}).get("usd", 0), reverse=True)
return pairs[0]
跨链价格查询
def find_best_price(symbol: str) -> list[dict]:
"""Find a token across all chains and compare prices."""
resp = httpx.get("https://api.dexscreener.com/latest/dex/search", params={"q": symbol})
pairs = resp.json().get("pairs", [])
results = []
for p in pairs:
if p["baseToken"]["symbol"].upper() == symbol.upper():
results.append({
"chain": p["chainId"],
"dex": p["dexId"],
"price": float(p.get("priceUsd", 0)),
"liquidity": p.get("liquidity", {}).get("usd", 0),
"volume_24h": p.get("volume", {}).get("h24", 0),
})
return sorted(results, key=lambda x: x["liquidity"], reverse=True)
通过推广信息监控新代币
def get_newly_boosted() -> list[dict]:
"""Get tokens that were recently boosted (paid promotion)."""
resp = httpx.get("https://api.dexscreener.com/token-boosts/latest/v1")
return [
{
"chain": t["chainId"],
"address": t["tokenAddress"],
"boost_amount": t.get("amount", 0),
"total_boost": t.get("totalAmount", 0),
"description": t.get("description", ""),
}
for t in resp.json()
]
买卖比率分析
def analyze_pressure(pair: dict) -> dict:
"""Analyze buy/sell pressure from transaction counts."""
txns = pair.get("txns", {})
result = {}
for tf in ["m5", "h1", "h6", "h24"]:
data = txns.get(tf, {})
buys = data.get("buys", 0)
sells = data.get("sells", 0)
total = buys + sells
result[tf] = {
"buys": buys, "sells": sells, "total": total,
"buy_ratio": buys / total if total > 0 else 0.5,
}
return result
支持的链
主要链:solana、ethereum、base、arbitrum、bsc、polygon、avalanche、optimism、zksync、scroll、linea、tron、near、aptos、ton、sui、hyperliquid
总计支持 80 多条链。chainId 与 dexscreener.com 上的 URL 路径相对应。
限制
- 不提供 OHLCV/蜡烛图数据——历史蜡烛图请使用 Birdeye 或 SolanaTracker
- 不支持分页——搜索结果最多约 30 条
- 不提供钱包/交易者数据——钱包分析请使用 Birdeye 或 Helius
- 不提供代币安全数据——请使用 Birdeye 的
token_security端点 - 仅提供快照数据——显示当前状态,不提供历史时间序列
- 不支持 WebSocket——仅支持轮询
何时使用 DexScreener,何时选择其他方案
| 需求 | 使用 |
|---|---|
| 快速免费查询代币 | DexScreener |
| 跨链比较 | DexScreener |
| 用于回测的历史 OHLCV 数据 | Birdeye 或 SolanaTracker |
| 钱包/交易者分析 | Helius 或 SolanaTracker |
| 实时流式数据 | Yellowstone gRPC 或 Birdeye WebSocket |
| 代币安全检查 | Birdeye 或 SolanaTracker 风险评分 |
文件
参考资料
references/endpoints.md— 完整的端点列表及响应结构references/error_handling.md— 速率限制、错误代码和最佳实践
脚本
scripts/token_lookup.py— 查询所有链上的任意代币并分析流动性scripts/boost_monitor.py— 监控新近获得推广/推荐的代币
评论
支持 Markdown