KuCoin Stats

Cryptocurrency API · Works globally · KuCoin Exchange · 700+ trading pairs

TL;DR

The KuCoin Market Data API provides public access to real-time cryptocurrency trading data from the KuCoin exchange. With 700+ trading pairs (one of the largest selections among exchanges), you can fetch ticker prices, 24-hour statistics (high, low, volume, change percentage), order book depth at multiple levels, and historical kline/candlestick data across 12 timeframes. The API uses RESTful JSON and requires no authentication for public market data. KuCoin is known for listing a wide variety of altcoins and emerging tokens early.

Quick start: https://api.kucoin.com/api/v1/market/orderbook/level1?symbol=BTC-USDT

No API key needed — just make a request!

How to Use This API

1. Get BTC Ticker (24h Stats)

https://api.kucoin.com/api/v1/market/stats?symbol=BTC-USDT

Returns 24-hour statistics: last, high, low, volume, change rate, and buy/sell prices.

2. Get Level 1 Order Book (Best Bid/Ask)

https://api.kucoin.com/api/v1/market/orderbook/level1?symbol=BTC-USDT

Returns the single best bid and ask with price and size.

3. Get Level 2 Order Book (Top 20)

https://api.kucoin.com/api/v1/market/orderbook/level2?symbol=BTC-USDT

Returns top 20 bid/ask levels. Use level2_100 for top 100 levels.

4. Get All Tickers

https://api.kucoin.com/api/v1/market/allTickers

Returns ticker data for ALL 700+ trading pairs in one response. Use with caution due to size.

5. Get Kline/Candlestick Data

https://api.kucoin.com/api/v1/market/candles?type=1hour&symbol=BTC-USDT
https://api.kucoin.com/api/v1/market/candles?type=1day&symbol=BTC-USDT&startAt=1700000000&endAt=1710000000

Timeframes: 1min, 3min, 5min, 15min, 30min, 1hour, 2hour, 4hour, 6hour, 8hour, 12hour, 1day, 1week.

6. Get 24h Stats for All Pairs

https://api.kucoin.com/api/v1/market/stats

Returns 24h stats for ALL pairs (may be a large response).

7. List All Trading Symbols

https://api.kucoin.com/api/v1/symbols

Returns full list of 700+ trading pairs with base/quote currency, min order size, price increment, and trading status.

8. Response Format

{
  "code": "200000",
  "data": {
    "time": 1718563200000,
    "symbol": "BTC-USDT",
    "buy": "67150.00000000",
    "sell": "67200.00000000",
    "changeRate": "0.0235",
    "changePrice": "1542.00",
    "high": "68900.00000000",
    "low": "65200.00000000",
    "vol": "12345.67890123",
    "volValue": "829456789.01",
    "last": "67180.00000000",
    "averagePrice": "67500.00000000",
    "takerFeeRate": "0.001",
    "makerFeeRate": "0.001",
    "takerCoefficient": "1",
    "makerCoefficient": "1"
  }
}

9. JavaScript — Fetch Market Stats

fetch('https://api.kucoin.com/api/v1/market/stats?symbol=ETH-USDT')
  .then(r => r.json())
  .then(d => {
    const s = d.data;
    console.log(`ETH/USDT:`);
    console.log(`  Last: \$${parseFloat(s.last).toFixed(2)}`);
    console.log(`  24h Change: ${(parseFloat(s.changeRate) * 100).toFixed(2)}%`);
    console.log(`  24h High: \$${parseFloat(s.high).toFixed(2)}`);
    console.log(`  24h Low: \$${parseFloat(s.low).toFixed(2)}`);
    console.log(`  24h Volume: \$${parseFloat(s.volValue).toLocaleString()}`);
  });

10. Python — Find Top Gainers

import requests

resp = requests.get('https://api.kucoin.com/api/v1/market/allTickers')
tickers = resp.json()['data']['ticker']

# Sort by change rate descending
gainers = sorted(tickers, key=lambda t: float(t['changeRate']), reverse=True)
print("Top 10 Gainers in 24h:")
for t in gainers[:10]:
    change = float(t['changeRate']) * 100
    print(f"  {t['symbol']}: {change:+.2f}% @ \${float(t['last']):.4f}")

11. Python — Fetch OHLC for Analysis

import requests

resp = requests.get(
    'https://api.kucoin.com/api/v1/market/candles',
    params={'type': '1day', 'symbol': 'BTC-USDT', 'startAt': 1700000000}
)
candles = resp.json()['data']
print("Daily Candles (last 5):")
for c in candles[-5:]:
    time, open_, close, high, low, volume, turnover = c
    print(f"  O:{open_} C:{close} H:{high} L:{low} V:{volume[:8]}")
Try it: https://api.kucoin.com/api/v1/market/stats?symbol=BTC-USDT

Frequently Asked Questions

What cryptocurrency pairs are available on KuCoin?
700+ pairs including BTC-USDT, ETH-USDT, SOL-USDT, ADA-USDT, DOT-USDT, MATIC-USDT, AVAX-USDT, LINK-USDT, UNI-USDT, ATOM-USDT, FIL-USDT, SAND-USDT, MANA-USDT, and many altcoin and DeFi token pairs. KuCoin is known for listing promising new projects early. Use /api/v1/symbols for the full list.
What data does the 24h stats endpoint return?
Last price, 24h high/low, 24h volume (in base currency and quote currency value), change rate (decimal, multiply by 100 for %), change price (absolute), buy/sell prices (best bid/ask), average price, and fee rates.
What kline/candlestick intervals are supported?
1min, 3min, 5min, 15min, 30min, 1hour, 2hour, 4hour, 6hour, 8hour, 12hour, 1day, 1week. Use the type parameter with the interval name. Each candle includes: [time, open, close, high, low, volume, turnover].
Does KuCoin support WebSocket for real-time streaming?
Yes, KuCoin provides a WebSocket feed for real-time ticker, order book, and trade data. The REST API is best for occasional polling and historical data. For live streaming data, use the WebSocket API with a token obtained from the REST API.
Are there rate limits on the KuCoin public API?
Yes, KuCoin has rate limits: 30 requests per 3 seconds for most endpoints, 30 requests per 30 seconds for the allTickers endpoint. Exceeding limits returns HTTP 429 status codes. Include your API key for higher limits (though not needed for public data).
Can I access order book at different levels?
Yes: Level 1 (best bid/ask only), Level 2 (top 20 bids/asks, use level2_100 for top 100), and Level 3 (full order book with all orders, requires WebSocket). Level 1 is fastest and most efficient for most applications.

What You Can Build