dexpaprika-api
DexPaprika API Skill
Free DEX data API covering 34 blockchains, 213 DEXes, 30M+ liquidity pools, and 27.7M+ tokens. Built by the CoinPaprika team (operating since 2018). No API key, no registration. Free public tier: 10,000 requests/day. Enterprise tier (api-pro.dexpaprika.com): unlimited requests with API key.
- Documentation: https://docs.dexpaprika.com
- AI Agents showcase: https://agents.dexpaprika.com
- Agent skill files: https://dexpaprika.com/agents/skill.md (REST) and https://dexpaprika.com/agents/streaming/skill.md (SSE)
- GitHub: https://github.com/coinpaprika
- Support: support@coinpaprika.com
Field naming note: URL paths use
networkandtoken_address, but JSON responses returnchainandidfor the same values.
Integration options
Option 1: CLI (recommended for agents)
Install and query in seconds. Best for agents that can run shell commands.
curl -sSL https://raw.githubusercontent.com/coinpaprika/dexpaprika-cli/main/install.sh | sh
Always use --output json --raw for machine-readable output. Run dexpaprika-cli onboard for an interactive quick-start guide.
Common commands:
# 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
dexpaprika-cli pool-ohlcv ethereum 0x88e6a0c2ddd26feeb64f039a2c41296fcb3f5640 --start 2025-01-27 --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 --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
# Batch token prices
dexpaprika-cli prices ethereum --tokens 0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2,0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48 --output json --raw
# Stream real-time prices (~1s updates)
dexpaprika-cli stream ethereum 0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2
# API health check
dexpaprika-cli status
For the full CLI command reference, read references/cli-reference.md.
Option 2: REST API
Base URL: https://api.dexpaprika.com
No authentication required. All responses are JSON.
curl -s "https://api.dexpaprika.com/networks/ethereum/tokens/0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2" | jq
Endpoint table
| Need | Endpoint |
|---|---|
| List all networks | GET /networks (returns volume_usd_24h, txns_24h, pools_count per network) |
| DEXes on a network | GET /networks/{network}/dexes (returns volume_usd_24h, txns_24h, pools_count per DEX) |
| Top pools on network | GET /networks/{network}/pools |
| Filter pools | GET /networks/{network}/pools/filter (volume, liquidity, txns, creation date filters) |
| Pool details | GET /networks/{network}/pools/{pool_address} |
| Pool OHLCV (charts) | GET /networks/{network}/pools/{pool_address}/ohlcv |
| Pool transactions | GET /networks/{network}/pools/{pool_address}/transactions |
| Token price + data | GET /networks/{network}/tokens/{token_address} |
| Pools containing token | GET /networks/{network}/tokens/{token_address}/pools |
| Filter tokens | GET /networks/{network}/tokens/filter (volume, liquidity, FDV, txns, creation date filters) |
| Top tokens on network | GET /networks/{network}/tokens/top (ranked by volume, price, liquidity, txns, or price change) |
| Batch token prices | GET /networks/{network}/multi/prices?tokens={addr1},{addr2} |
| Pools for a DEX | GET /networks/{network}/dexes/{dex}/pools |
| Search tokens/pools/DEXes | GET /search?query={term} |
| Platform statistics | GET /stats |
For the full OpenAPI 3.1 specification with all schemas, parameters, and response types, read references/openapi.yml.
Option 3: MCP Server (for AI IDEs)
Hosted MCP server for Claude Desktop, Cursor, Windsurf, and any MCP client.
Add to claude_desktop_config.json or equivalent:
{
"mcpServers": {
"dexpaprika": {
"url": "https://mcp.dexpaprika.com/sse"
}
}
}
No API key needed. Provides tools for querying networks, pools, tokens, OHLCV, transactions, and search.
Documentation: https://docs.dexpaprika.com/ai-integration/hosted-mcp-server
Option 4: Streaming API (real-time prices)
Base URL: https://streaming.dexpaprika.com
Stream live token prices via Server-Sent Events (SSE). ~1 second updates, 1-2,000 tokens per connection.
Single token (GET):
curl --http1.1 -N "https://streaming.dexpaprika.com/stream?method=t_p&chain=ethereum&address=0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2"
Multiple tokens (POST):
curl --http1.1 -N -X POST "https://streaming.dexpaprika.com/stream" \
-H "Accept: text/event-stream" -H "Content-Type: application/json" \
-d '[{"chain":"ethereum","address":"0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2","method":"t_p"}]'
Response fields: a = token address, c = chain, p = price USD (string), t = server timestamp, t_p = price timestamp.
Important: Streaming requires HTTP/1.1. Add --http1.1 with curl. One invalid asset cancels the entire stream.
For full streaming docs, read references/streaming-api.md.
Option 5: SDKs
Common workflows
Get a token price
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']}")
Search for a token
curl -s "https://api.dexpaprika.com/search?query=PEPE" | jq '.tokens[:5]'
Note: Search uses fuzzy name+symbol matching. "UNI" returns "Uniswap", "United Stables", etc. Filter by exact symbol match client-side.
Get historical OHLCV for a pool
curl -s "https://api.dexpaprika.com/networks/ethereum/pools/0x88e6a0c2ddd26feeb64f039a2c41296fcb3f5640/ohlcv?start=2025-01-01&interval=1h&limit=24" | jq
OHLCV params: start (required), end, interval (1m|5m|10m|15m|30m|1h|6h|12h|24h), limit (max 366), inversed (boolean, inverts price ratio for USD-denominated prices from stablecoin-paired pools).
Batch prices for multiple tokens
curl -s "https://api.dexpaprika.com/networks/ethereum/multi/prices?tokens=0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2,0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48" | jq
Returns an ARRAY (not a keyed object). Max 10 tokens per request.
Stream real-time prices (Python)
import requests, json
assets = [
{"chain": "ethereum", "address": "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", "method": "t_p"},
{"chain": "solana", "address": "So11111111111111111111111111111111111111112", "method": "t_p"}
]
r = requests.post("https://streaming.dexpaprika.com/stream",
headers={"Accept": "text/event-stream", "Content-Type": "application/json"},
json=assets, stream=True)
for line in r.iter_lines():
if line and line.startswith(b'data:'):
data = json.loads(line[5:])
print(f"{data['c']} {data['a']}: ${data['p']}")
Common token addresses
Do not guess addresses. Use search to find tokens, or use these known addresses:
| Token | Chain | Address |
|---|---|---|
| WETH | ethereum | 0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2 |
| USDC | ethereum | 0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48 |
| USDC | polygon | 0x2791bca1f2de4661ed88a30c99a7a9449aa84174 |
| USDC | solana | EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v |
| SOL | solana | So11111111111111111111111111111111111111112 |
Common network IDs
Always lowercase: ethereum, solana, bsc, polygon, arbitrum, base, avalanche, optimism, sui, ton, tron.
Full list: GET /networks or dexpaprika-cli networks.
Pagination
All list endpoints support: ?page=1&limit=10&order_by=volume_usd&sort=desc
Pages are 1-indexed (first page is page=1). Max 1000 pages. Available order_by values: volume_usd, liquidity_usd, price_usd, transactions, last_price_change_usd_24h, created_at. Filter endpoints use sort_by/sort_dir instead of order_by/sort.
Timestamps
All timestamps support Unix, RFC3339, or yyyy-mm-dd format. OHLCV data limited to 366 data points per request.
Rate limits and errors
- Free tier: 10,000 requests/day. Enterprise (api-pro.dexpaprika.com): unlimited with API key.
- HTTP errors:
200OK |400bad params |404not found |429rate limited |500server error - On 429 rate limit: Wait a few seconds/minutes, then retry. Blocks are temporary. If persistent, contact support@coinpaprika.com.
- Check API health:
dexpaprika-cli statusorGET https://api.dexpaprika.com/stats - Full docs: https://docs.dexpaprika.com