dexscreener-api
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseDexScreener API — Free Multi-Chain DEX Data
DexScreener API — 免费多链DEX数据
DexScreener provides DEX pair data across 80+ chains with no API key required. Prices, volume, liquidity, transaction counts, and token profiles — all free. Best for quick lookups, cross-chain comparison, and lightweight monitoring.
DexScreener 提供覆盖80+条公链的DEX交易对数据,无需API密钥。价格、交易量、流动性、交易次数及代币资料——全部免费。非常适合快速查询、跨链对比和轻量级监控。
Quick Start
快速开始
No authentication needed. Just make requests:
python
import httpx无需认证,直接发起请求即可:
python
import httpxSearch 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']}")
```bashresp = 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']}")
```bashOr with curl
或使用curl
undefinedundefinedBase URL
基础URL
https://api.dexscreener.comNo API key, no headers required. Rate limits: ~300 req/min for DEX data endpoints, 60 req/min for profile/boost endpoints.
https://api.dexscreener.com无需API密钥,无需额外请求头。速率限制:DEX数据接口约300次请求/分钟,资料/推广接口60次请求/分钟。
Core Endpoints
核心接口
Search Pairs
搜索交易对
python
undefinedpython
undefinedSearch by token name, symbol, or address (returns ~30 pairs across all chains)
通过代币名称、符号或地址搜索(返回全链约30个交易对)
GET /latest/dex/search?q=BONK
GET /latest/dex/search?q=So11111111111111111111111111111111111111112
undefinedGET /latest/dex/search?q=BONK
GET /latest/dex/search?q=So11111111111111111111111111111111111111112
undefinedGet Pairs by Chain + Pair Address
通过公链+交易对地址获取交易对
python
undefinedpython
undefinedSingle pair
单个交易对
GET /latest/dex/pairs/solana/PAIR_ADDRESS
GET /latest/dex/pairs/solana/PAIR_ADDRESS
Multiple pairs (comma-separated)
多个交易对(逗号分隔)
GET /latest/dex/pairs/solana/PAIR1,PAIR2,PAIR3
undefinedGET /latest/dex/pairs/solana/PAIR1,PAIR2,PAIR3
undefinedGet Pairs by Token Address
通过代币地址获取交易对
python
undefinedpython
undefinedAll pairs containing this token across all chains
包含该代币的所有跨链交易对
GET /latest/dex/tokens/TOKEN_MINT_ADDRESS
GET /latest/dex/tokens/TOKEN_MINT_ADDRESS
Chain-specific (v1)
指定公链(v1版本)
GET /token-pairs/v1/solana/TOKEN_MINT
GET /token-pairs/v1/solana/TOKEN_MINT
Multiple tokens on one chain (v1)
单链多个代币(v1版本)
GET /tokens/v1/solana/TOKEN1,TOKEN2,TOKEN3
undefinedGET /tokens/v1/solana/TOKEN1,TOKEN2,TOKEN3
undefinedToken Profiles & Boosts
代币资料与推广
python
undefinedpython
undefinedLatest token profiles (60 req/min)
最新代币资料(60次请求/分钟)
GET /token-profiles/latest/v1
GET /token-profiles/latest/v1
Latest boosted tokens
最新推广代币
GET /token-boosts/latest/v1
GET /token-boosts/latest/v1
Top boosted tokens (sorted by total boost amount)
热门推广代币(按总推广金额排序)
GET /token-boosts/top/v1
GET /token-boosts/top/v1
Token orders (ads, profile claims)
代币订单(广告、资料认领)
GET /orders/v1/solana/TOKEN_ADDRESS
GET /orders/v1/solana/TOKEN_ADDRESS
Community takeovers
社区接管
GET /community-takeovers/latest/v1
undefinedGET /community-takeovers/latest/v1
undefinedPair Response Schema
交易对响应结构
json
{
"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" }]
}
}Key notes:
- and
priceNativeare strings (preserves precision)priceUsd - is milliseconds (divide by 1000 for unix timestamp)
pairCreatedAt - :
labels(concentrated),"CLMM"(dynamic),"DLMM"(whirlpool)"wp" - is optional — only present if the token profile has been claimed
info - /
fdvmay be absent for tokens without supply datamarketCap
json
{
"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 - 是毫秒级时间戳(除以1000转换为Unix时间戳)
pairCreatedAt - 取值:
labels(集中流动性)、"CLMM"(动态流动性)、"DLMM"(漩涡池)"wp" - 为可选字段——仅当代币资料被认领后才会显示
info - 若代币无供应量数据,/
fdv字段可能缺失marketCap
Common Patterns
常见使用场景
Quick Token Lookup
快速代币查询
python
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]python
def lookup_token(address: str) -> dict | None:
"""根据流动性获取代币的最优交易对。"""
resp = httpx.get(f"https://api.dexscreener.com/latest/dex/tokens/{address}")
pairs = resp.json().get("pairs", [])
if not pairs:
return None
# 按流动性从高到低排序
pairs.sort(key=lambda p: p.get("liquidity", {}).get("usd", 0), reverse=True)
return pairs[0]Cross-Chain Price Check
跨链价格对比
python
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)python
def find_best_price(symbol: str) -> list[dict]:
"""跨链查找代币并对比价格。"""
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)Monitor New Tokens via Boosts
通过推广功能监控新代币
python
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()
]python
def get_newly_boosted() -> list[dict]:
"""获取近期被推广的代币(付费推广)。"""
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()
]Buy/Sell Ratio Analysis
买卖比例分析
python
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 resultpython
def analyze_pressure(pair: dict) -> dict:
"""根据交易次数分析买卖压力。"""
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 resultSupported Chains
支持的公链
Major chains: , , , , , , , , , , , , , , , ,
solanaethereumbasearbitrumbscpolygonavalancheoptimismzksyncscrolllineatronnearaptostonsuihyperliquid80+ chains total. The matches the URL path on dexscreener.com.
chainId主流公链:, , , , , , , , , , , , , , , ,
solanaethereumbasearbitrumbscpolygonavalancheoptimismzksyncscrolllineatronnearaptostonsuihyperliquid总计支持80+条公链。 与 dexscreener.com 网站的URL路径保持一致。
chainIdLimitations
局限性
- No OHLCV/candle data — Use Birdeye or SolanaTracker for historical candles
- No pagination — Search returns ~30 results max
- No wallet/trader data — Use Birdeye or Helius for wallet analysis
- No token security data — Use Birdeye endpoint
token_security - Snapshot data only — Current state, not historical time series
- No WebSocket — Polling only
- 无K线/OHLCV数据——如需历史K线数据,请使用Birdeye或SolanaTracker
- 无分页功能——搜索结果最多返回约30条
- 无钱包/交易者数据——如需钱包分析,请使用Birdeye或Helius
- 无代币安全数据——请使用Birdeye的接口
token_security - 仅提供快照数据——仅展示当前状态,无历史时间序列数据
- 无WebSocket支持——仅支持轮询方式
When to Use DexScreener vs Alternatives
DexScreener 与竞品的适用场景对比
| Need | Use |
|---|---|
| Quick free token lookup | DexScreener |
| Cross-chain comparison | DexScreener |
| Historical OHLCV for backtesting | Birdeye or SolanaTracker |
| Wallet/trader analysis | Helius or SolanaTracker |
| Real-time streaming | Yellowstone gRPC or Birdeye WebSocket |
| Token security check | Birdeye or SolanaTracker risk score |
| 需求 | 选择 |
|---|---|
| 快速免费代币查询 | DexScreener |
| 跨链数据对比 | DexScreener |
| 用于回测的历史OHLCV数据 | Birdeye 或 SolanaTracker |
| 钱包/交易者分析 | Helius 或 SolanaTracker |
| 实时流数据 | Yellowstone gRPC 或 Birdeye WebSocket |
| 代币安全检测 | Birdeye 或 SolanaTracker 风险评分 |
Files
相关文件
References
参考文档
- — Complete endpoint listing with response schemas
references/endpoints.md - — Rate limits, error codes, best practices
references/error_handling.md
- — 完整接口列表及响应结构
references/endpoints.md - — 速率限制、错误码及最佳实践
references/error_handling.md
Scripts
示例脚本
- — Look up any token across all chains with liquidity analysis
scripts/token_lookup.py - — Monitor newly boosted/promoted tokens
scripts/boost_monitor.py
- — 跨链查询任意代币并进行流动性分析
scripts/token_lookup.py - — 监控近期被推广的代币
scripts/boost_monitor.py