mcpField
D
dexscreener-api

dexscreener-api

github.com/agiprolabs数据与数据库456468 次安装8 周前更新
代码仓库

关于 dexscreener-api

DexScreener API 数据查询技能,为开发者和分析者提供跨链 DEX 交易对、价格、成交量和流动性等快照数据。无需 API 密钥,适合快速查询与轻量监控。

主要功能

  1. 01搜索代币并查询交易对
  2. 02获取价格、成交量与流动性数据
  3. 03跨链比较代币交易信息
  4. 04查询代币资料与推广状态
  5. 05提供 Python 脚本用于查询和监控

适用场景

  1. 01快速查找代币的流动性最高交易对
  2. 02比较多个链上的代币价格
  3. 03监控新近推广的代币
  4. 04根据交易笔数分析买卖压力

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/agiprolabs/claude-trading-skills --skill dexscreener-api

安装后在 Claude Code 中输入/dexscreener-api确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

references/
endpoints.md
error_handling.md
scripts/
boost_monitor.py
token_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