ICP Tokens API
Real-time DeFi data for the Internet Computer ecosystem. Tokens, pools, OHLCV candles, swaps, whale alerts, and TradingView-compatible data feeds.
https://icptokens.net/apiPricing
Start building for free. Scale when you need to.
Free
Perfect for testing, prototypes, and personal projects.
- 30 requests/min
- All public endpoints
- No API key needed
- Full documentation
Pro
For trading bots, dashboards, and production applications.
- 1,000 requests/min
- Production-ready rate limits
- Usage tracking per key
- Telegram support
Authentication
Free tier requires no authentication. Pro tier uses API key.
Using Your API Key
Pass your API key in the X-API-Key header with every request:
curl -H "X-API-Key: your_api_key_here" \
https://icptokens.net/api/tokensEndpoints
All endpoints return JSON. Paginated endpoints support page and per_page parameters.
Tokens
List all tokens with price, market cap, volume, and 24h changes.
{
"data": [
{
"canister_id": "ryjl3-tyaaa-aaaaa-aaaba-cai",
"symbol": "ICP",
"name": "Internet Computer",
"price_usd": 2.29,
"market_cap_usd": 1260000000,
"volume_24h_usd": 3850000,
"change_24h": 3.42
}
],
"total": 131
}List all tokens with price, market cap, volume, and 24h changes.
Token detail with price, all timeframe changes, social links, and metadata.
{
"canister_id": "ryjl3-tyaaa-aaaaa-aaaba-cai",
"symbol": "ICP",
"name": "Internet Computer",
"price_usd": 2.29,
"change_1h": 0.52,
"change_24h": 3.42,
"change_7d": -1.23,
"website": "https://internetcomputer.org",
"twitter": "https://twitter.com/dfinity"
}Token detail with price, all timeframe changes, social links, and metadata.
Lightweight token list for search autocomplete. Returns name, symbol, canister_id, and logo only.
{
"data": [
{
"name": "Internet Computer",
"display_name": "Internet Computer",
"symbol": "ICP",
"canister_id": "ryjl3-tyaaa-aaaaa-aaaba-cai",
"logo": "https://..."
}
]
}Lightweight token list for search autocomplete. Returns name, symbol, canister_id, and logo only.
Batch lookup of token prices at specific historical timestamps. Max 50 requests per call.
// Request body:
{
"requests": [
{
"canister_id": "ryjl3-tyaaa-aaaaa-aaaba-cai",
"timestamp": 1711584000,
"currency": "USD"
}
]
}
// Response:
[
{
"request": {
"canister_id": "ryjl3-tyaaa-aaaaa-aaaba-cai",
"timestamp": 1711584000,
"currency": "USD"
},
"value": 2.29,
"status": 200
}
]Batch lookup of token prices at specific historical timestamps. Max 50 requests per call.
All trading pairs (markets) for a token with price and 24h volume per pair.
[
{
"key": "ICP/ckUSDT",
"display_name": "ICP/ckUSDT",
"price": { "icp": 1.0, "usd": 2.29 },
"volume": {
"24h": { "icp": 25000, "usd": 55000 }
}
}
]All trading pairs (markets) for a token with price and 24h volume per pair.
OHLCV candlestick data for a token across all its pools, aggregated by currency.
{
"data": [
{
"interval_timestamp": "2026-03-28 10:00:00",
"open": 2.26,
"high": 2.31,
"low": 2.24,
"close": 2.29,
"volume": 85000
}
],
"min": 2.24,
"max": 2.31,
"start_date": "2026-03-28 00:00:00",
"end_date": "2026-03-28 23:59:59"
}OHLCV candlestick data for a token across all its pools, aggregated by currency.
Token Details
All liquidity pools that include this token, with TVL, volume, and trade count.
{
"data": [
{
"id": 1,
"token0": {
"canister_id": "ryjl3-tyaaa-aaaaa-aaaba-cai",
"name": "Internet Computer",
"symbol": "ICP",
"logo": "https://...",
"decimals": 8
},
"token1": {
"canister_id": "cngnf-vqaaa-aaaaa-...",
"symbol": "ckUSDT"
},
"tvl_usd": 250000,
"volume_24h_usd": 45000,
"tx_count_24h": 150
}
],
"current_page": 1,
"last_page": 1,
"per_page": 50,
"total": 5
}All liquidity pools that include this token, with TVL, volume, and trade count.
Recent swap transactions involving this token across all its pools.
{
"data": [
{
"id": 1001,
"pool_id": 5,
"maker_address": "abc12-defgh-...",
"direction": "buy",
"amount0": 100.0,
"amount1": 229.0,
"price_usd": 2.29,
"price_icp": 1.0,
"volume_usd": 229.0,
"timestamp": 1711584000
}
],
"current_page": 1,
"per_page": 50,
"total": 500
}Recent swap transactions involving this token across all its pools.
Top token holders with balance, USD value, and percentage of total supply.
{
"holder_count": 327325,
"holders": [
{
"wallet_address": "abc12-defgh-...",
"balance": "125000.00000000",
"balance_usd": 55000.0,
"pct_of_supply": 2.45
}
],
"updated_at": "2026-03-28T10:00:00Z",
"pagination": {
"page": 1,
"per_page": 50,
"total": 327325,
"last_page": 6547
}
}Top token holders with balance, USD value, and percentage of total supply.
Recent token transfers (sends, mints, burns) for this token.
{
"transfers": [
{
"from": "abc12-defgh-...",
"to": "xyz98-uvwst-...",
"amount": "500.00000000",
"tx_type": "transfer",
"timestamp": 1711584000,
"tx_index": 42851
}
],
"pagination": {
"page": 1,
"per_page": 50,
"total": 85200,
"last_page": 1704
}
}Recent token transfers (sends, mints, burns) for this token.
Historical holder count over time for this token.
{
"current_count": 327325,
"history": [
{ "holder_count": 15200, "snapshot_date": "2026-03-27" },
{ "holder_count": 15050, "snapshot_date": "2026-03-26" },
{ "holder_count": 14900, "snapshot_date": "2026-03-25" }
]
}Historical holder count over time for this token.
DEX & Discovery
DEX-level statistics: pool count, total TVL, and 24h volume per DEX.
{
"data": [
{
"dex": "ICPSwap",
"pool_count": 504,
"tvl_usd": 3240000,
"volume_24h_usd": 130900
}
]
}DEX-level statistics: pool count, total TVL, and 24h volume per DEX.
Trending tokens ranked by volume/TVL ratio and trading activity.
{
"data": [
{
"symbol": "CHAT",
"price_usd": 0.0084,
"change_24h": 42.5,
"volume_24h_usd": 25000
}
]
}Trending tokens ranked by volume/TVL ratio and trading activity.
Top price gainers and losers over the last 24 hours.
{
"gainers": [{ "symbol": "CHAT", "change_24h": 42.5 }],
"losers": [{ "symbol": "GHOST", "change_24h": -18.3 }]
}Top price gainers and losers over the last 24 hours.
Recently listed tokens with their initial pool data.
{
"data": [
{
"listed_at": "2026-03-28T10:00:00Z",
"token": {
"canister_id": "abc12-...",
"name": "New Token",
"symbol": "NEW",
"logo": "https://..."
},
"pool": {
"id": 2100,
"tvl_usd": 15000,
"volume_24h_usd": 8500,
"tx_count_24h": 42
}
}
]
}Recently listed tokens with their initial pool data.
Pools
All active pools sorted by 24h volume, with TVL and reserve data.
{
"data": [
{
"id": 1,
"token0": { "symbol": "ICP", "canister_id": "ryjl3-..." },
"token1": { "symbol": "ckUSDT", "canister_id": "cngnf-..." },
"dex": "ICPSwap",
"tvl_usd": 250000,
"volume_24h_usd": 45000
}
],
"total": 504
}All active pools sorted by 24h volume, with TVL and reserve data.
Single pool detail with TVL, volume, reserves, and fee tier.
{
"id": 1,
"token0": { "symbol": "ICP" },
"token1": { "symbol": "ckUSDT" },
"tvl_usd": 250000,
"volume_24h_usd": 45000,
"fee_rate": 0.003
}Single pool detail with TVL, volume, reserves, and fee tier.
OHLCV candlestick data for charting. Supports intervals from 1 minute to 1 month.
{
"data": [
{
"time": 1711584000,
"open": 2.26,
"high": 2.31,
"low": 2.24,
"close": 2.29,
"volume_usd": 85000
}
]
}OHLCV candlestick data for charting. Supports intervals from 1 minute to 1 month.
Recent swap transactions for a pool, paginated.
{
"data": [
{
"tx_hash": "abc123...",
"side": "buy",
"amount_usd": 1500,
"price": 2.29,
"timestamp": "2026-03-28T10:30:00Z"
}
]
}Recent swap transactions for a pool, paginated.
Historical TVL and volume snapshots for a pool over time.
{
"data": [
{
"timestamp": 1711584000,
"tvl_usd": 250000,
"volume_24h_usd": 45000
},
{
"timestamp": 1711497600,
"tvl_usd": 248000,
"volume_24h_usd": 38000
}
]
}Historical TVL and volume snapshots for a pool over time.
Whale Alerts
Large transactions across all tracked pools. Filterable by minimum USD amount.
{
"data": [
{
"pool": "ICP/ckUSDT",
"side": "buy",
"amount_usd": 5000,
"wallet": "abc12-...",
"timestamp": "2026-03-28T10:15:00Z"
}
]
}Large transactions across all tracked pools. Filterable by minimum USD amount.
Ecosystem & Status
Platform health status: database, collector, cache freshness, and last swap timestamp.
{
"healthy": true,
"tsdb": "ok",
"lastSwap": 1711584000,
"swapAge": 45,
"collector": "ok",
"cache": "fresh"
}Platform health status: database, collector, cache freshness, and last swap timestamp.
All token tags/categories with token count per tag.
{
"data": [
{
"id": 1,
"slug": "defi",
"name": "DeFi",
"color": "#3B82F6",
"token_count": 28
},
{
"id": 2,
"slug": "meme",
"name": "Meme",
"color": "#F59E0B",
"token_count": 45
}
]
}All token tags/categories with token count per tag.
Data pipeline verification report. Shows health of all data collection processes.
{
"status": "ok",
"checks": {
"swap_collector": "healthy",
"ohlcv_aggregation": "healthy",
"token_metrics": "healthy"
},
"last_run": "2026-03-28T10:00:00Z"
}Data pipeline verification report. Shows health of all data collection processes.
TradingView Datafeed
TradingView-compatible OHLCV endpoint. Use with UDF-compatible charting libraries.
{
"s": "ok",
"t": [1711584000, 1711587600],
"o": [2.26, 2.28],
"h": [2.31, 2.30],
"l": [2.24, 2.27],
"c": [2.29, 2.29],
"v": [85000, 92000]
}TradingView-compatible OHLCV endpoint. Use with UDF-compatible charting libraries.
Quick Start
Get token prices and OHLCV data in just a few lines of JavaScript.
// Fetch token price
const response = await fetch(
'https://icptokens.net/api/tokens/ryjl3-tyaaa-aaaaa-aaaba-cai'
);
const token = await response.json();
console.log(`${token.symbol}: $${token.price_usd}`);
// Output: ICP: $2.29
// Fetch OHLCV candles for a pool
const candles = await fetch(
'https://icptokens.net/api/v2/pools/1/ohlcv?interval=1h&limit=100'
);
const { data } = await candles.json();
data.forEach(c => {
console.log(
`O:${c.open} H:${c.high} L:${c.low} C:${c.close}`
);
});Rate Limits
| Tier | Rate Limit | Auth |
|---|---|---|
| Free | 30 requests/min | None required |
| Pro | 1,000 requests/min | X-API-Key: your_key |
Rate limit exceeded? Requests over the limit receive a 429 Too Many Requests response with a Retry-After header.
Error Codes
| Code | Meaning | What to Do |
|---|---|---|
| 200 | Success | Request completed successfully |
| 401 | Invalid API Key | Check your API key is correct and active |
| 404 | Not Found | Resource does not exist (e.g., invalid canister ID) |
| 422 | Validation Error | Invalid parameters (check the error message) |
| 429 | Rate Limit Exceeded | Wait 60 seconds or upgrade to Pro for higher limits |
Ready to Build?
Get a Pro API key for 1,000 requests/min. Pay with ICP, delivered in minutes.
Get Pro Key on Telegram