dexpaprika-api について
dexpaprika-apiは、DexPaprikaのオンチェーンDEXデータAPIを扱うエージェントスキルです。ネットワーク、トークン、流動性プール、市場指標を調べるワークフロー向けに、CLI、REST、ホステッドMCP、ストリーミングの利用方法と制限事項をまとめています。
主な機能
- 01ネットワーク、DEX、トークン、流動性プールの照会
- 02価格、OHLCV、テクニカル指標の取得
- 03トークンやプールの検索と条件指定
- 04CLIまたはRESTによるデータ取得
- 05APIバージョン、制限、エンドポイント注意点の確認
活用シーン
- 01特定ネットワーク上のトークンやプールの検索
- 02プールの取引量や価格変動の比較
- 03プールのOHLCVやテクニカル指標の取得
- 04エージェント用DexPaprika MCPの設定
MCP 対応
Claude Desktop、Cursor、WindsurfなどのMCPクライアント向けに、DexPaprikaのホステッドMCPサーバーを案内します。ネットワーク、プール、トークン、OHLCV、テクニカル指標、取引、検索用のツールを公開します。
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ coinpaprika/ skills --skill dexpaprika-apiインストール後、Claude Code で/dexpaprika-apiを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
references/cli-reference.mdopenapi.ymlstreaming-api.md詳細
DexPaprika API スキル
鮮度チェック(このスキルを利用する前に、セッションごとに1回実行してください): このファイルの
version: 2.12.0は、2026-10-13 にライブ API と照合して確認済みです。最新ファイルのヘッダーを取得してください。curl -s -r 0-400 https://raw.githubusercontent.com/coinpaprika/skills/main/dexpaprika-api/SKILL.mdリモートの
version:がこのファイルと異なる場合、このコピーは古くなっています。リモートのファイル全体を取得し、こちらではなくそちらに従い、ローカルのコピーを置き換えてください。DexPaprika はエンドポイントを削除することがあり(HTTP 410 が返されます)、レスポンスの形式を変更するため、古いスキルでは使用不能なエンドポイントを案内してしまいます。
36 のブロックチェーン、230 以上の DEX、3,600 万以上の流動性プール、3,300 万以上のトークンをカバーし、オンチェーン DEX の取引量の 96% 以上を網羅する DEX データ API です。2018 年から運営している CoinPaprika チームが開発しています。利用開始時に API キーも登録も不要です。キーなしの場合、IP ごとに 1 分あたり 15 リクエスト、10,000 クレジットを利用できます。無料キーを取得すると、1 分あたり 30 リクエスト、100,000 クレジットに増えます。どちらの利用枠も直近 30 日間のローリング方式で集計されるため、月ごとのリセットはありません。無料キーの登録先:https://console.dexpaprika.com。どちらもデータには最大 60 秒の遅延があります。有料プランでは、キーを使って api-pro.dexpaprika.com からリアルタイムデータを取得できます。Dev は月額 $30 で 500,000 クレジット、毎分 120 リクエスト、Pro は月額 $99 で 5,000,000 クレジット、毎分 500 リクエストです。ドキュメント:https://docs.dexpaprika.com。レート制限:https://docs.dexpaprika.com/knowledge-base/rate-limits。プランと購入:https://dexpaprika.com/api/pricing。
- ドキュメント:https://docs.dexpaprika.com
- AI エージェントのショーケース:https://agents.dexpaprika.com
- エージェントのスキルファイル:https://dexpaprika.com/agents/skill.md(REST)および https://dexpaprika.com/agents/streaming/skill.md(SSE)
- GitHub:https://github.com/coinpaprika
- サポート:[email protected]
フィールド名に関する注意: URL パスでは
networkとtoken_addressを使用しますが、JSON レスポンスでは同じ値がchainとidとして返されます。
統合オプション
オプション 1:CLI(エージェントに推奨)
インストールして、すぐにクエリを実行できます。シェルコマンドを実行できるエージェントに最適です。
curl -sSL https://raw.githubusercontent.com/coinpaprika/dexpaprika-cli/main/install.sh | sh
機械可読な出力には、常に --output json --raw を使用してください。対話形式のクイックスタートガイドを実行するには、dexpaprika-cli onboard を実行します。
よく使うコマンド:
# Search for a token
dexpaprika-cli search USDC --output json --raw
# Get token price
dexpaprika-cli token ethereum 0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2 --output json --raw
# Top pools on a network
dexpaprika-cli pools ethereum --limit 10 --output json --raw
# Historical OHLCV for a pool: hourly candles over the last 24 hours (CLI 0.7.0+ for a relative --start)
dexpaprika-cli pool-ohlcv ethereum 0x88e6a0c2ddd26feeb64f039a2c41296fcb3f5640 --start -24h --interval 1h --limit 24 --output json --raw
# Historical USD OHLCV for a token across all its pools (Dev or Pro key, CLI 0.9.0+)
DEXPAPRIKA_API_BASE_URL=https://api-pro.dexpaprika.com dexpaprika-cli token-ohlcv ethereum 0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2 --start -24h --interval 1h --limit 24 --output json --raw
# Top tokens on a network (ranked, with multi-timeframe metrics)
dexpaprika-cli top-tokens ethereum --limit 20 --output json --raw
dexpaprika-cli top-tokens solana --order-by price_change_percentage_24h --sort asc --output json --raw
# Filter tokens by volume, FDV, liquidity, txns
dexpaprika-cli filter-tokens ethereum --volume-24h-min 100000 --output json --raw
dexpaprika-cli filter-tokens solana --fdv-min 1000000 --liquidity-usd-min 50000 --output json --raw
# Filter pools by volume, liquidity, txns, creation date
dexpaprika-cli pool-filter ethereum --volume-24h-min 500000 --liquidity-usd-min 50000 --output json --raw
# Relative times (CLI 0.8.0+): pools created in the last day
dexpaprika-cli pool-filter solana --created-after -24h --sort-by created_at --output json --raw
# Swaps in the last hour. Dev or Pro key, on the paid host (CLI 0.9.0+)
DEXPAPRIKA_API_BASE_URL=https://api-pro.dexpaprika.com dexpaprika-cli transactions ethereum 0x88e6a0c2ddd26feeb64f039a2c41296fcb3f5640 --from -1h --output json --raw
# Batch token prices
dexpaprika-cli prices ethereum --tokens 0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2,0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48 --output json --raw
# Stream token prices, pushed when a swap moves the price
dexpaprika-cli stream ethereum 0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2
# Stream pool reserve changes, emitted when a swap moves the reserves
dexpaprika-cli stream-reserves ethereum 0x88e6a0c2ddd26feeb64f039a2c41296fcb3f5640 --method pool_reserves
# API health check
dexpaprika-cli status
pools、pool-filter、token-pools、top-tokens、filter-tokens コマンドは、内部で /search エンドポイントを呼び出します(token-pools は /networks/{network}/pools/search?token_address=... をラップします)。正規のソートフィールド名(volume_usd_24h、txns_24h、price_change_percentage_24h、fdv_usd)と従来の別名(volume_usd、volume_24h、txns、price_change、fdv)の両方を受け付けます。CLI は送信前に別名を正規名へ変換します。
CLI コマンドの完全なリファレンスは、references/cli-reference.md を参照してください。
オプション 2:REST API
ベース URL:https://api.dexpaprika.com
無料プランでは、利用開始時に API キーは不要です。すべてのレスポンスは JSON です。
curl -s "https://api.dexpaprika.com/networks/ethereum/tokens/0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2" | jq
認証。 キーをお持ちの場合は、キーのみを値として Authorization ヘッダー全体に設定してください。キーの前には何も付けません。他の多くの API とは異なるため、コードを生成する際はキーのみを出力してください。
curl -s -H "Authorization: api_YOUR_KEY" "https://api.dexpaprika.com/networks"
無料キーは api.dexpaprika.com で引き続き使用します。Dev、Pro、Enterprise では api-pro.dexpaprika.com を使用します。このエンドポイントに無料キーを送信すると 403 が返されます。リクエストがどのプランとして課金されたかは、レスポンスヘッダー x-api-plan(keyless、free、dev、pro)を確認してください。GET /usage でも確認できます。必ず確認してください。api.dexpaprika.com では、読み取り不能なキーは拒否されず無視されるため、呼び出しは実データを含む 200 を返しながら、気付かないうちにキーなしプランで処理されることがあります。そのことを示すのはヘッダーだけです。
エンドポイント一覧
| 必要な情報 | エンドポイント |
|---|---|
| すべてのネットワークを一覧表示 | GET /networks(ネットワークごとの volume_usd_24h、txns_24h、pools_count を返します) |
| ネットワーク上の DEX | GET /networks/{network}/dexes(DEX ごとの volume_usd_24h、txns_24h、pools_count を返します) |
| ネットワーク上の上位プール | GET /networks/{network}/pools/search(order_by=volume_usd_24h。行は results 内にあり、カーソルでページネーションします) |
| プールの絞り込み | GET /networks/{network}/pools/search(volume_usd_24h/7d/30d、liquidity_usd、txns_24h、price_usd、price_change_percentage_24h/6h/1h/5m、作成日のフィルター) |
| ネットワーク上で最も値動きの大きいプール | GET /networks/{network}/pools/search?order_by=price_change_percentage_1h&sort=desc(5m、6h、24h も指定できます) |
| プールの詳細 | GET /networks/{network}/pools/{pool_address} |
| プールの OHLCV(チャート) | GET /networks/{network}/pools/{pool_address}/ohlcv |
| トークンの OHLCV(USD、すべてのプールを対象。Dev または Pro) | api-pro.dexpaprika.com の GET /networks/{network}/tokens/{token_address}/ohlcv |
| プールの RSI、EMA、MACD、ボリンジャーバンド、VWAP | GET /networks/{network}/pools/{pool_address}/indicators?indicator=rsi(API が算出します。プールの OHLCV と同じプラン制限が適用されます) |
| トークンのインジケーター(USD、すべてのプールを対象。Dev または Pro) | api-pro.dexpaprika.com の GET /networks/{network}/tokens/{token_address}/indicators?indicator=rsi |
| プールのトランザクション(Dev または Pro) | api-pro.dexpaprika.com の GET /networks/{network}/pools/{pool_address}/transactions。無料プランでは、プールの詳細からトランザクション数を取得できます |
| トークンの価格とデータ | GET /networks/{network}/tokens/{token_address} |
| トークンを含むプール | GET /networks/{network}/pools/search?token_address={token_address} |
| トークンの絞り込み | GET /networks/{network}/tokens/search(volume_usd_24h、liquidity_usd、fdv_usd、txns_24h、作成日のフィルター) |
| ネットワーク上の上位トークン | GET /networks/{network}/tokens/search(order_by=volume_usd_24h/liquidity_usd/txns_24h/fdv_usd/price_change_percentage_24h。行は results 内にあり、カーソルでページネーションします) |
| すべてのネットワークを対象としたプールの絞り込み | GET /pools/search(ネットワーク単位のエンドポイントと同じフィルターおよび order_by) |
| すべてのネットワークを対象としたトークンの絞り込み | GET /tokens/search(ネットワーク単位のエンドポイントと同じフィルターおよび order_by) |
| トークン価格の一括取得 | GET /networks/{network}/multi/prices?tokens={addr1},{addr2} |
| DEX のプール | GET /networks/{network}/pools/search?dex_name={dex_id}(行は results 内にあり、カーソルでページネーションします) |
| トークン/プール/DEX の検索 | GET /search?query={term} |
| プラットフォームの統計情報 | GET /stats |
削除済みのエンドポイント(HTTP 410): /networks/{network}/pools、/pools、/networks/{network}/pools/filter、/networks/{network}/tokens/filter、/networks/{network}/tokens/top、/networks/{network}/tokens/{token_address}/pools、/networks/{network}/dexes/{dex}/pools は廃止されています。これらにアクセスすると、/search を使用するよう案内する HTTP 410 が返されます。これらのエンドポイントは呼び出さないでください。
dex_name は DEX のパス要素の代わりに使用します: 削除された /networks/{network}/dexes/{dex}/pools は GET /networks/{network}/pools/search?dex_name={dex_id} に置き換わります。DEX はパスではなくクエリパラメーターで指定します。dex_name には人間向けの表示名ではなく、DEX ID(uniswap_v3)を指定します。大文字と小文字は区別されません。有効な値は GET /networks/{network}/dexes で取得し、dex_id フィールドを渡してください。代わりにそのオブジェクトの dex_name フィールド(Uniswap V3 のような表示名)を渡すと、エラーではなく HTTP 200 と空の results 配列が返されます。そのため、DEX にプールがないように見えてしまいます。エンドポイントに応じてレスポンスの形式も変わります。行は pools ではなく results 内に格納され、ページネーションには page/page_info ではなく cursor と has_next_page/next_cursor が使われます。また、24 時間の取引高フィールドは volume_usd ではなく volume_usd_24h です。
token_address はネットワーク単位でのみ有効です: ネットワーク横断の GET /pools/search は token_address を受け付けますが、黙って無視するため、結果は絞り込まれません。トークンを含むプールを検索するには、ネットワークごとの GET /networks/{network}/pools/search を使用してください。不明なアドレスの場合、HTTP 200 と空の results が返されます。token_address を繰り返してもペアの絞り込みにはなりません。API は値のうち1つだけを使用します(どの値が使われるかは順序によって保証されません)。
短期間の価格変動ウィンドウはプールのみで有効で、24時間ウィンドウは対象外ではありません: 2つのプール検索では、price_change_percentage_24h、_6h、_1h、_5m の4つすべてのウィンドウで並べ替えと絞り込みができます。絞り込み名は price_change_percentage_{24h,6h,1h,5m}_{min,max} で、値は正負の符号付きです。そのため、price_change_percentage_1h_max=-20 は、20パーセント以上下落したプールを選択します。トークン検索で並べ替えと絞り込みに使えるのは24時間ウィンドウで、3つの短期間ウィンドウは拒否されます。order_by=price_change_percentage_1h は /tokens/search で HTTP 400 を返し、price_change_percentage_1h_min などは受け付けられますが、黙って無視されます。トークン行には price_change_percentage_24h が含まれ、price_change_percentage_6h、_1h、_5m は含まれません。detailed=true を指定すると、各行に 6h、1h、5m のオブジェクトが追加されますが、これらには出来高と取引件数が含まれるため、並べ替えや絞り込みに使える短期間のトークン価格変動値はありません。絞り込み名のスペルミスは拒否されずに無視されるため、誤記があっても結果一式が返される HTTP 200 とまったく同じ挙動になります。絞り込みが適用されたことを確実に確認するには、絞り込みなしの結果と比較してください:
# Baseline: 1h changes on the busiest ethereum pools sit near zero
curl -s "https://api.dexpaprika.com/networks/ethereum/pools/search?limit=5" | jq '[.results[].price_change_percentage_1h]'
# Filtered: only pools up 50 percent or more over the last hour
curl -s "https://api.dexpaprika.com/networks/ethereum/pools/search?price_change_percentage_1h_min=50&limit=5" | jq '[.results[].price_change_percentage_1h]'
# The 24h window filters on the token side too: every row comes back at 20 percent or better
curl -s "https://api.dexpaprika.com/networks/ethereum/tokens/search?price_change_percentage_24h_min=20&limit=5" | jq '[.results[].price_change_percentage_24h]'
すべてのスキーマ、パラメーター、レスポンスタイプを含む OpenAPI 3.1 仕様の全文については、references/openapi.yml を参照してください。
オプション 3:MCP サーバー(AI IDE 向け)
Claude Desktop、Cursor、Windsurf、およびあらゆる MCP クライアント向けのホスト型 MCP サーバーです。
claude_desktop_config.json または同等のファイルに追加してください:
{
"mcpServers": {
"dexpaprika": {
"url": "https://mcp.dexpaprika.com/sse"
}
}
}
利用開始に API キーは必要ありません。ネットワーク、プール、トークン、OHLCV、テクニカル指標、トランザクション、検索を照会する20個のツールを提供します。実際の tools/list で数を確認してください。
有料プランが必要なツールは、ユーザー自身の Dev、Pro、または Enterprise キーで実行します。url の横に "headers": { "Authorization": "YOUR_API_KEY" } を追加し、キーを単独で指定してから再接続してください。対象は getTokenOHLCV、getTokenIndicator、getPoolTransactions です。キーがない場合、こうしたツールは DP401_API_KEY_REQUIRED を返し、呼び出しは行いません。ローソク足や指標を取得するには、トークンの流動性が最も高いプールで getPoolOHLCV または getPoolIndicator を代わりに使用してください。プールの取引件数には getPoolDetails を使用してください。ホスト型のその他すべてのツールはユーザーのプランではなく、サーバーの共有容量で実行されるため、キーを追加しても利用上限は引き上げられません。DP429_RATE_LIMITED が返された場合は、retry_after_seconds 秒待ってから再試行してください。
ドキュメント:https://docs.dexpaprika.com/ai-integration/hosted-mcp-server
オプション 4:ストリーミング API(価格、リザーブ、スワップ、OHLCV ローソク足)
ベース URL:https://streaming.dexpaprika.com
4 つの SSE フィードは同じトランスポートを共有し、フィードごとにアクセス条件が異なります。
/sse/prices:トークン価格の更新です。スワップによって価格が変動すると配信されます。更新はスワップによって発生し、時間やブロックごとには発生しません。そのため、動きの少ないチェーンでは数分間何も配信されないことがあります。対象の代表的なトークンはキーなしで利用でき、任意のトークンには無料のキーが必要です。/sse/reserves:プールのリザーブ更新と、USD 建ての差分です。スワップによってプールのリザーブが変化したときに配信され、すべてのブロックで配信されるわけではありません。無料のキーを含む、任意のキーで利用できます。/sse/transactions:個々のスワップです。1 つのプール(method=pool)またはトークンが取引されるすべてのプール(method=token)を対象にします。Dev、Pro、Enterprise が必要です。接続先はhttps://streaming-pro.dexpaprika.comです。/sse/ohlcv:確定済みのトークンローソク足を1s、5s、60sの間隔で配信します。Dev、Pro、Enterprise が必要です。接続先はhttps://streaming-pro.dexpaprika.comです。
キーが必要なフィードまたはトークンにキーなしでリクエストすると、"error":"preview_only" を含む 403 が返されます。有料プラン限定のフィードにキーなし、または無料のキーでリクエストすると、"error":"plan_required"、tier、message、required_tier(dev)、links を含む 403 が返されます。メッセージ本文ではなく、error で判定してください。
制限: POST 接続あたりのサブスクリプション数は 25 件です。同時 SSE ストリーム数は、キーなしで 10 件(IP ごとにカウント)、無料のキーで 10 件、Dev で 30 件、Pro で 100 件(アカウントごとにカウント)です。上限を超えると、"error":"rate_limited" および Concurrent stream limit reached を含む 429 が返されます。15 秒ごとに ping イベントが届きます。キーなしのストリーミングでは 35 個の代表的なトークン(ほとんどのチェーンの主要なアセット)を利用でき、無料の API キーを使うと任意のトークンの価格とリザーブを利用できます。
単一トークンの価格(GET):
curl --http1.1 -N "https://streaming.dexpaprika.com/sse/prices?method=token_price&chain=ethereum&address=0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2"
複数トークンの価格(POST、最大 25 件):
curl --http1.1 -N -X POST "https://streaming.dexpaprika.com/sse/prices" \
-H "Accept: text/event-stream" -H "Content-Type: application/json" \
-d '[{"chain":"ethereum","address":"0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2","method":"token_price"}]'
プールのリザーブ(GET、無料のキー):
curl --http1.1 -N -H "Authorization: $DEXPAPRIKA_API_KEY" "https://streaming.dexpaprika.com/sse/reserves?method=pool_reserves&chain=ethereum&address=0x88e6a0c2ddd26feeb64f039a2c41296fcb3f5640"
token_price イベントのフィールド:address、chain、price(USD 建ての文字列)、timestamp、timestamp_price(いずれも Unix 秒)。旧式の t_p メソッドは、引き続き /sse/prices で簡略化された {a, c, p, t, t_p} 形式の応答を返しますが、仕様には含まれていないため、新しいコードでは使用しないでください。/stream は廃止されました(410)。
リザーブフィードは現在、メソッド名のイベントを配信します。以前の単一の reserve_update イベントは廃止されました。代わりに、次の 2 つのイベント名で判定してください。
pool_reservesイベント(1 つのプール、トークンはネスト形式):chain、pool_id、block/previous_block(文字列。previous_blockは省略可能)、tokens[](各要素にtoken_id、文字列のreserve/delta、数値のprice_usd/reserve_usd/delta_usd)、total_reserve_usd、total_delta_usd、timestamp、block_timestamp(いずれも Unix 秒)。token_reservesイベント(すべてのプールを対象とする 1 つのトークン、フラット形式):chain、token_id、文字列のreserve/delta、文字列のblock、price_usd、reserve_usd、delta_usd、updated_at、timestamp(いずれも Unix 秒)。
生の整数フィールド(reserve、delta、block、previous_block)は Number.MAX_SAFE_INTEGER を超えるため、BigInt で解析してください。リザーブを監視するコンシューマーは、reserve_update との照合をやめ、新しいタイムスタンプフィールドとともに、これら 2 つのイベント名を処理する必要があります。
request_id による相関付け(任意):GET ではクエリ文字列に、POST では各アセットのボディに request_id を uint32(0..4294967295)として渡せます。POST で指定しない場合は、アセットの配列インデックスが使われます。サーバーはデータイベントに限り、SSE の request_id: 行として値を返します。ping、warning、error イベントには request_id は含まれません。
# GET with request_id; the value comes back on each pool_reserves event
curl --http1.1 -N -H "Authorization: $DEXPAPRIKA_API_KEY" "https://streaming.dexpaprika.com/sse/reserves?method=pool_reserves&chain=ethereum&address=0x88e6a0c2ddd26feeb64f039a2c41296fcb3f5640&request_id=12345"
**重要:**ストリーミングには HTTP/1.1 が必要です。curl では --http1.1 を追加してください。無効なアセットが 1 つでもあると、ストリーム全体が HTTP 400 でキャンセルされます。SSE パーサーは、空行で区切られたメッセージを 1 つバッファリングしてからディスパッチする必要があります。event: と data: はどちらの順序でも有効で、サーバーはどちらの順序も使用します。また、request_id: 行が event:/data: と並んで現れる場合があります。
4 つすべてのフィード、イベント、エラー、パーサーのパターンを含むストリーミングの完全なリファレンスについては、references/streaming-api.md を参照してください。
オプション 5:SDK
一般的なワークフロー
トークン価格を取得する
CLI:
dexpaprika-cli token ethereum 0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2 --output json --raw
curl:
curl -s "https://api.dexpaprika.com/networks/ethereum/tokens/0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2" | jq '.summary.price_usd'
Python:
import requests
r = requests.get("https://api.dexpaprika.com/networks/ethereum/tokens/0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2")
token = r.json()
print(f"{token['symbol']}: ${token['summary']['price_usd']}")
トークンを検索する
curl -s "https://api.dexpaprika.com/search?query=PEPE" | jq '.tokens[:5]'
注:検索では、名前とシンボルのあいまい一致が使われます。「UNI」を検索すると、「Uniswap」、「United Stables」などが返されます。クライアント側で、symbol が完全一致するものに絞り込んでください。
プールの過去の OHLCV を取得する
curl -s "https://api.dexpaprika.com/networks/ethereum/pools/0x88e6a0c2ddd26feeb64f039a2c41296fcb3f5640/ohlcv?start=-24h&interval=1h&limit=24" | jq
OHLCV のパラメーター:start(必須。-24h や -7d のような相対オフセット、Unix 秒、RFC3339、または yyyy-mm-dd)、end(同じ形式)、interval(1m|5m|10m|15m|30m|1h|6h|12h|24h)、limit(デフォルトは 10、最大 1000)、inversed(ブール値。ステーブルコインとペアになったプールの価格比を反転し、USD 建て価格にします)。
トークンの過去の OHLCV を取得する(Dev または Pro)
ネットワーク上で取引されるすべてのプールの出来高加重平均価格から算出した、トークンの USD 建てローソク足です。volume は、すべてのプールで取引された USD 建ての合計です。選択するプールも、換算するペア価格もありません。
curl -s -H "Authorization: $DEXPAPRIKA_API_KEY" "https://api-pro.dexpaprika.com/networks/ethereum/tokens/0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2/ohlcv?start=-24h&interval=1h&limit=24" | jq
- Dev、Pro、または Enterprise のキーが必要です。
https://api-pro.dexpaprika.comに対して呼び出してください。キーなし、または無料キーの場合は"error":"plan_required"を含む403が返されます。その場合は、トークンの取引量が最も多いプールの OHLCV に切り替えてください。 - プールの OHLCV と同じ
start、end、interval、limitを使用します。inversedはありません。intervalのデフォルトは24h、limitのデフォルトは 10 なので、両方を指定してください。 - ローソク足は、トークンが取引された区間についてのみ存在します。そのため、取引量の少ないトークンでは短い間隔に欠落が生じます。最新のローソク足が未確定の場合もあります。
- リファレンス:https://docs.dexpaprika.com/api-reference/tokens/get-ohlcv-data-for-a-token
プールのテクニカル指標を取得する
RSI、EMA、MACD、ボリンジャーバンド、または VWAP を、プールの確定済みローソク足から API が計算します。OHLCV を取得して自分で計算する必要はありません。
curl -s "https://api.dexpaprika.com/networks/ethereum/pools/0x88e6a0c2ddd26feeb64f039a2c41296fcb3f5640/indicators?indicator=rsi&interval=1h&start=-24h" | jq
indicator(必須):rsi、ema、macd、bbands、またはvwap。また、interval(1m~24h、または1d)、start、end、limit(デフォルトは 100、最大 1000)、cursorも指定できます。- 選択した指標のパラメーターだけを送信してください。rsi(14)、ema(20)、bbands(20)、vwap(14)には
period、macd にはfast_period(12)、slow_period(26)、signal_period(9)、bbands にはstd_dev(2)を指定します。その他のパラメーターを指定すると、400invalid_paramが返されます。 - レスポンスには、使用された値を示す
parametersと、古い順に確定済みローソク足ごとに 1 点を返すdataが含まれます。rsi、ema、vwap ではvalue、macd ではmacd、signal、histogram、bbands ではupper、middle、lowerが返されます。 - プールの OHLCV と同じプラン制限が適用されます(下記参照)。必ず
intervalを指定してください。キーがない場合のデフォルトは1h、キーがある場合のデフォルトは24hです。 - RSI、EMA、MACD は平滑化されます。最初に使う値より前に、10 期間以上を含めてください。キーがない場合、24 時間のウィンドウでは RSI(14) が安定するには短すぎます。無料キーでは 7 日間を指定できます。
- トークンの指標:
/networks/{network}/tokens/{token_address}/indicatorsでも、すべてのプールにおけるトークンの USD 建てローソク足から同様に取得できます。api-pro.dexpaprika.comで Dev、Pro、または Enterprise が必要です。キーなし、または無料キーの場合は403plan_requiredが返されるため、代わりにトークンの取引量が最も多いプールのエンドポイントを使用してください。 - ガイド:https://docs.dexpaprika.com/tutorials/technical-indicators。リファレンス:https://docs.dexpaprika.com/api-reference/pools/get-a-technical-indicator-for-a-pool
複数のトークンの価格をまとめて取得する
curl -s "https://api.dexpaprika.com/networks/ethereum/multi/prices?tokens=0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2,0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48" | jq
キー付きオブジェクトではなく、配列を返します。1 リクエストあたり最大 10 トークンです。
リアルタイムの価格をストリーミングする(Python)
import requests, json
assets = [
{"chain": "ethereum", "address": "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", "method": "token_price"},
{"chain": "solana", "address": "So11111111111111111111111111111111111111112", "method": "token_price"}
]
r = requests.post("https://streaming.dexpaprika.com/sse/prices",
headers={"Accept": "text/event-stream", "Content-Type": "application/json"},
json=assets, stream=True)
# Buffer one SSE message at a time, then dispatch. Both `event:`/`data:`
# line orderings are valid SSE and the server has emitted either, so a
# line-by-line parser that assumes one order will silently mis-dispatch.
msg_lines = []
for line in r.iter_lines(decode_unicode=True):
if line:
msg_lines.append(line); continue
event_type, data_str = "message", None
for ml in msg_lines:
if ml.startswith("event:"):
event_type = ml.split(":", 1)[1].strip()
elif ml.startswith("data:"):
data_str = ml[5:].lstrip()
msg_lines = []
if event_type == "token_price" and data_str:
d = json.loads(data_str)
print(f"{d['chain']} {d['address']}: ${d['price']}")
一般的なトークンアドレス
アドレスを推測しないでください。トークンを検索するには search を使用するか、以下の既知のアドレスを使用してください。
| トークン | チェーン | アドレス |
|---|---|---|
| WETH | ethereum | 0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2 |
| USDC | ethereum | 0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48 |
| USDC | polygon | 0x2791bca1f2de4661ed88a30c99a7a9449aa84174 |
| USDC | solana | EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v |
| SOL | solana | So11111111111111111111111111111111111111112 |
一般的なネットワーク ID
常に小文字で指定してください:ethereum、solana、bsc、polygon、arbitrum、base、avalanche、optimism、sui、ton、tron。
全リスト:GET /networks または dexpaprika-cli networks。
ページネーション
2 種類のページネーション方式が併存しています。
- ページベース(
/networks/{network}/dexes):?page=1&limit=10&order_by=volume_usd&sort=desc。ページ番号は 1 から始まります(最初のページはpage=1)。最大 1000 ページです。このエンドポイントのorder_byの値は、volume_usd、price_usd、transactions、last_price_change_usd_24h、created_atです。 - カーソルベース(4 つの
/searchエンドポイント):limitと、前のレスポンスのcursor値を渡してください。行はresultsの下に返され、has_next_pageとnext_cursorも含まれます。order_byの値は正規の名称で、volume_usd_24h、volume_usd_7d、volume_usd_30d、liquidity_usd、txns_24h、created_at、price_change_percentage_24hに加え、price_usd、price_change_percentage_6h、price_change_percentage_1h、price_change_percentage_5m(プールのみ)、fdv_usd(トークンのみ)です。従来の名称(volume_usd、transactions、last_price_change_usd_24h)を/searchエンドポイントで指定すると、HTTP 400 が返されます。
タイムスタンプ
すべてのタイムスタンプは、Unix、RFC3339、または yyyy-mm-dd 形式と、現在時刻からの相対指定(-24h、-7d、-90m。単位は s、m、h、d)に対応しています。これは OHLCV の start と end、プール取引の from と to、および 4 つの /search エンドポイントの created_after と created_before に適用されます。そのため、from=-1h は直近 1 時間のスワップを、created_after=-24h は直近 1 日に作成されたものを示します。取引の from は開始値を含み、to は終了値を含みません。また、7 日より古いデータは返されません。検索範囲は両端を含み、レスポンスの query には解決された Unix 値が反映されます。OHLCV はリクエストあたり最大 1000 本のローソク足を返します。
OHLCV の利用可否はプランによって異なります。 API キーなしの場合:直近 24 時間について 1h 以上。Free キーの場合:7 日間について 10m 以上。Dev の場合:30 日間についてすべての間隔。Pro と Enterprise の場合:履歴にプラン制限はありません。プール指標にも同じ制限が適用されます。トークンの OHLCV とトークン指標には Dev 以上が必要で、Dev と Pro には同じルールが適用されます。これらの制限を超えると、API は利用可能なプラン名を示すメッセージとともに 403 を返します。start=-24h はすべてのプランで利用できます。現在の制限:https://docs.dexpaprika.com/knowledge-base/rate-limits#ohlcv-limits-by-plan
レート制限とエラー
- レート制限とクォータ:キーなしの場合、1万クレジットでIPあたり毎分15リクエスト、無料キーを使用する場合(https://console.dexpaprika.com で登録)、10万クレジットで毎分30リクエストです。どちらも毎月1日にリセットされるのではなく、直近30日間の利用枠として繰り越されるため、今日大量にリクエストすると、その後30日間の利用に影響します。また、無料プランでの
402にはresets_atが含まれません。どちらのプランもデータには最大60秒の遅延があります。有料プランはリアルタイムで、キーを使用して api-pro.dexpaprika.com に接続します。Dev は月額 $30 で50万クレジット、毎分120リクエスト、Pro は月額 $99 で500万クレジット、毎分500リクエストです。各プランの利用枠は Stripe の請求期間ごとに適用され、追加の100万クレジットごとに $20 かかります。1リクエストにつき1クレジットです。バッチエンドポイントは項目ごとに1クレジットかかり、ストリーミングで配信される更新ごとに1クレジットかかります。最新の数値:https://docs.dexpaprika.com/knowledge-base/rate-limits。プランと購入:https://dexpaprika.com/api/pricing - HTTP エラー:
200OK |400パラメーター不正 |401キーが指定されているが拒否された |402クレジットの利用枠を使い切った(再試行しても解決しません) |403キーに対してホストが間違っている("error":"wrong_host")、または有料プラン専用のエンドポイント(トークン OHLCV、トークン指標、プール取引)をキーなし、または無料キーで呼び出した("error":"plan_required"。required_tierに必要なプランが示されます) |404見つからない |410エンドポイントが削除された(本文にreplacementが示されます) |429レート制限 |500サーバーエラー api-proでは、たとえばAuthorizationヘッダーがないなど、エッジが認識できないリクエストに対して、JSON ではなく403の HTML ページが返されます。ヘッダーを修正すれば、次のリクエストから正常に戻ります。- 429 レート制限が発生した場合:
Retry-After秒待ってから再試行してください。ブロックは一時的なものです。解消しない場合は、[email protected] までお問い合わせください。 - API の状態を確認するには、
dexpaprika-cli statusまたはGET https://api.dexpaprika.com/statsを実行してください。 - ドキュメント全文:https://docs.dexpaprika.com