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 は、API キー不要で 80 以上のチェーンにわたる DEX ペアデータを提供します。価格、取引量、流動性、取引件数、トークンプロフィールをすべて無料で利用できます。簡単な検索、チェーン間の比較、軽量なモニタリングに最適です。

クイックスタート

認証は不要です。リクエストを送信するだけです。

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 はミリ秒です(Unix タイムスタンプにするには 1000 で割ります)
  • 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
バックテスト用の過去の OHLCVBirdeye または SolanaTracker
ウォレット/トレーダー分析Helius または SolanaTracker
リアルタイムストリーミングYellowstone gRPC または Birdeye WebSocket
トークンのセキュリティ確認Birdeye または SolanaTracker のリスクスコア

ファイル

リファレンス
  • references/endpoints.md — レスポンススキーマを含むエンドポイントの完全な一覧
  • references/error_handling.md — レート制限、エラーコード、ベストプラクティス
スクリプト
  • scripts/token_lookup.py — 流動性分析を含め、全チェーンから任意のトークンを検索
  • scripts/boost_monitor.py — 新たにブースト/プロモーションされたトークンをモニタリング

コメント