Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/tiagosiebler/kucoin-api/llms.txt

Use this file to discover all available pages before exploring further.

The SpotClient market data methods provide real-time and historical access to KuCoin’s spot exchange data. Most endpoints are public — no API credentials are required — making them suitable for price feeds, charting applications, and research tools. The sole exception is getFullOrderBook, which requires authentication to access the full Level-2 order book. All methods return typed promises, ensuring seamless integration in both JavaScript and TypeScript projects.
Public market data endpoints can be called on a client instance created without credentials: const client = new SpotClient();

Announcements & Currencies

Returns the latest platform announcements. By default this covers the past 30 days. Supports pagination and language filtering.Endpoint: GET api/v3/announcements — Public
getAnnouncements(params?: GetAnnouncementsRequest): Promise<APISuccessResponse<Announcements>>
currentPage
number
Page number (default: 1).
pageSize
number
Items per page.
annType
string
Announcement category filter (e.g. "latest-announcements").
lang
string
Language code (e.g. "en_US").
startTime
number
Start timestamp in milliseconds.
endTime
number
End timestamp in milliseconds.
Returns detailed information for a single currency: full name, precision, minimum deposit/withdrawal amounts, and all supported chains.Endpoint: GET api/v3/currencies/{currency} — Public
getCurrency(params: { currency: string; chain?: string }): Promise<APISuccessResponse<CurrencyInfo>>
currency
string
required
Currency ticker, e.g. "BTC".
chain
string
Filter chain info for a specific network (e.g. "ETH").
Lists all currencies supported on KuCoin, including their trading availability status and chain configurations.Endpoint: GET api/v3/currencies — Public
getCurrencies(): Promise<APISuccessResponse<CurrencyInfo[]>>
const currencies = await client.getCurrencies();
console.log(`${currencies.data.length} currencies available`);

Symbols

Returns full trading-pair configuration for a single symbol — base/quote currencies, lot size, price precision, and trading status.Endpoint: GET api/v2/symbols/{symbol} — Public
getSymbol(params: { symbol: string }): Promise<APISuccessResponse<SymbolInfo>>
symbol
string
required
Trading pair identifier, e.g. "BTC-USDT".
Lists all trading pairs. Optionally filter by market (e.g. "USDS", "BTC").Endpoint: GET api/v2/symbols — Public
getSymbols(params?: { market?: string }): Promise<APISuccessResponse<SymbolInfo[]>>
market
string
Market identifier to filter results (e.g. "USDS").
const symbols = await client.getSymbols({ market: 'USDS' });
console.log(symbols.data.map(s => s.symbol));

Tickers

Returns Level-1 market data for a single symbol: best bid/ask prices and sizes, last trade price and size.Endpoint: GET api/v1/market/orderbook/level1 — Public
getTicker(params: { symbol: string }): Promise<APISuccessResponse<Ticker>>
symbol
string
required
Trading pair, e.g. "BTC-USDT".
Returns a market snapshot for every active trading pair, including 24-hour volume. The exchange refreshes this snapshot every 2 seconds.Endpoint: GET api/v1/market/allTickers — Public
getTickers(): Promise<APISuccessResponse<AllTickers>>
import { SpotClient } from 'kucoin-api';

const client = new SpotClient();

const tickers = await client.getTickers();
const btcTicker = tickers.data.ticker.find(t => t.symbol === 'BTC-USDT');
console.log('BTC-USDT last price:', btcTicker?.last);

Trade Histories

Returns the last 100 executed trades for the specified symbol.Endpoint: GET api/v1/market/histories — Public
getTradeHistories(params: { symbol: string }): Promise<APISuccessResponse<TradeHistory[]>>
symbol
string
required
Trading pair, e.g. "ETH-USDT".
Returns OHLCV (candlestick) data for a symbol. Data is grouped into the requested interval buckets and returned in ascending time order.Endpoint: GET api/v1/market/candles — Public
getKlines(params: GetSpotKlinesRequest): Promise<APISuccessResponse<Kline[]>>
symbol
string
required
Trading pair, e.g. "BTC-USDT".
type
string
required
Interval: "1min", "3min", "5min", "15min", "30min", "1hour", "2hour", "4hour", "6hour", "8hour", "12hour", "1day", "1week", "1month".
startAt
number
Start timestamp in seconds (Unix epoch).
endAt
number
End timestamp in seconds (Unix epoch).
import { SpotClient } from 'kucoin-api';

const client = new SpotClient();

const now = Math.floor(Date.now() / 1000);
const oneDayAgo = now - 86400;

const klines = await client.getKlines({
  symbol: 'BTC-USDT',
  type: '1hour',
  startAt: oneDayAgo,
  endAt: now,
});

// Each element: [timestamp, open, close, high, low, volume, turnover]
console.log(klines.data);
Timestamps for klines are in seconds, not milliseconds. Each kline array element is ordered: [time, open, close, high, low, volume, turnover].

Order Books

Returns the top 20 price levels for bids and asks, aggregated by price. Suitable for most trading UIs.Endpoint: GET api/v1/market/orderbook/level2_20 — Public
getOrderBookLevel20(params: { symbol: string }): Promise<APISuccessResponse<OrderBookLevel>>
symbol
string
required
Trading pair, e.g. "BTC-USDT".
Returns the top 100 price levels for bids and asks. Provides deeper market visibility than Level-20.Endpoint: GET api/v1/market/orderbook/level2_100 — Public
getOrderBookLevel100(params: { symbol: string }): Promise<APISuccessResponse<OrderBookLevel>>
symbol
string
required
Trading pair, e.g. "ETH-USDT".
Returns the complete Level-2 order book (all price levels) for a symbol. Requires authentication.Endpoint: GET api/v3/market/orderbook/level2 — 🔒 Auth required
getFullOrderBook(params: { symbol: string }): Promise<APISuccessResponse<OrderBookLevel>>
symbol
string
required
Trading pair, e.g. "BTC-USDT".

Statistics & Markets

Returns the fiat equivalent price (in USD by default) for all available currencies, or for specified ones.Endpoint: GET api/v1/prices — Public
getFiatPrice(params?: { base?: string; currencies?: string }): Promise<any>
base
string
Base fiat currency for conversion (e.g. "USD", "EUR").
currencies
string
Comma-separated currency tickers to filter (e.g. "BTC,ETH").
Returns a list of all market identifiers available on KuCoin (e.g. ["USDS", "BTC", "ETH", "KCS"]).Endpoint: GET api/v1/markets — Public
getMarkets(): Promise<APISuccessResponse<string[]>>
Returns 24-hour rolling statistics for a trading pair: open, close, high, low, volume, and percentage change.Endpoint: GET api/v1/market/stats — Public
get24hrStats(params: { symbol: string }): Promise<APISuccessResponse<Symbol24hrStats>>
symbol
string
required
Trading pair, e.g. "BTC-USDT".
const stats = await client.get24hrStats({ symbol: 'BTC-USDT' });
console.log('24h change:', stats.data.changeRate);
console.log('24h volume:', stats.data.vol);

Call Auction

Returns call-auction data for a symbol during its pre-market phase: estimated transaction price, estimated quantity, and bid/ask price ranges.Endpoint: GET api/v1/market/callauctionData — Public
getCallAuctionInfo(params: { symbol: string }): Promise<APISuccessResponse<CallAuctionInfo>>
symbol
string
required
Trading pair currently in call-auction phase.
Returns a partial Level-2 order book snapshot (top 20 or top 100 levels) during the call-auction phase.Endpoint: GET api/v1/market/orderbook/callauction/level2_{size} — Public
getCallAuctionPartOrderBook(params: { symbol: string; size: 20 | 100 }): Promise<APISuccessResponse<OrderBookLevel>>
symbol
string
required
Trading pair in the call-auction phase.
size
number
required
Depth level: 20 or 100.

Build docs developers (and LLMs) love