API Documentation
Base URL: https://web2.icptokens.net/api
All endpoints return JSON. Paginated endpoints support page and per_page parameters.
Tokens
/v2/tokensList all tokens with aggregated metrics
/v2/tokens/{canisterId}/poolsAll pools for a token across DEXes
/v2/tokens/{canisterId}/swapsRecent swaps across all pools for a token
Pools
/v2/poolsAll active pools sorted by 24h volume
Params: per_page, dex_id
/v2/pools/{id}Single pool detail with TVL, volume, reserves
/v2/pools/{id}/swapsRecent swaps for a pool (paginated)
Params: per_page, page
/v2/pools/{id}/ohlcvOHLCV candlestick data for pool chart
Params: interval (1m/5m/15m/1h/4h/1d/1w), limit
DEX & Discovery
/v2/dexDEX-level statistics: pool count, TVL, volume per DEX
/v2/new-listingsRecently discovered pools (new pools)
Params: limit
/v2/trendingTrending pools by volume/TVL ratio
Params: limit
/v2/gainers-losersTop price gainers and losers (24h)
Params: limit
Wallet
/v2/wallet/{address}/balancesToken balances for a wallet address
/v2/wallet/{address}/transactionsSwap history for a wallet
Params: per_page, page
/v2/wallet/{address}/pnlProfit & loss summary for a wallet
Promotions
/v2/promotions/activeActive token promotions
Params: placement
/v2/promotions/createSubmit a promotion request
Alerts
/v2/alertsList price alerts for a session
Params: session_id
/v2/alertsCreate a price alert
/v2/alerts/{id}Delete a price alert
Params: session_id
Code Examples
// Fetch all pools sorted by volume
const response = await fetch('https://web2.icptokens.net/api/v2/pools?per_page=10');
const { data, total } = await response.json();
data.forEach(pool => {
console.log(`${pool.token0.symbol}/${pool.token1.symbol}`,
'Vol:', pool.volume_24h_usd,
'TVL:', pool.tvl_usd);
});Rate Limits
Free Tier
100 requests/minute, no API key needed
API Key
1,000 requests/minute — contact us for access