KuCoin API
Free KuCoin public API with no key: best bid, best ask, last price and sizes for any spot pair, plus symbols, candles and stats. Tested example and live response.
Endpoint tested and returned HTTP 200 on 2026-08-21
What is the KuCoin API?
The KuCoin public API is a free, key-free market data API. The level 1 order book endpoint returns the best bid, best ask, their sizes, the last traded price and a sequence number for any spot trading pair, without an account or signature.
KuCoin lists an unusually wide range of altcoins, which makes its public API a practical choice when the token you need is not on the larger exchanges. Market data — symbols, tickers, order books, candles and 24-hour stats — is entirely open; only trading requires the signed-request flow.
Two conventions to note. Every KuCoin response is wrapped in an envelope with a `code` field and the payload under `data`, and `code` is the string 200000 on success — it is not the HTTP status, and a request can return HTTP 200 with a failure code inside. The other is the `sequence` field: a monotonically increasing counter that lets you detect gaps if you are stitching REST snapshots together with the WebSocket feed.
Quick facts
- Base URL
https://api.kucoin.com/api/v1- Authentication
- No key for market data. Trading and account endpoints require an API key, secret and passphrase with HMAC request signing.
- Rate limit
- Weighted per-endpoint limits by IP for public calls, typically well above what a display application needs.
- Pricing
- Free for public market data.
- CORS
- Not enabled — call it from your server
- Official docs
- Read the docs
How to use the KuCoin API
Every request below was executed against the live API on 2026-08-21, and the response shown is the real body it returned — not an illustration.
1. Level 1 order book for BTC-USDT
GET https://api.kucoin.com/api/v1/market/orderbook/level1?symbol=BTC-USDT
curl 'https://api.kucoin.com/api/v1/market/orderbook/level1?symbol=BTC-USDT'const res = await fetch("https://api.kucoin.com/api/v1/market/orderbook/level1?symbol=BTC-USDT");
if (!res.ok) throw new Error(`Request failed: ${res.status}`);
const data = await res.json();
console.log(data);import requests
res = requests.get("https://api.kucoin.com/api/v1/market/orderbook/level1?symbol=BTC-USDT", timeout=20)
res.raise_for_status()
print(res.json()){
"code": "200000",
"data": {
"time": 1787289058638,
"sequence": "35816831424",
"price": "75237.6",
"size": "0.00032951",
"bestBid": "75237.5",
"bestBidSize": "0.43595321",
"bestAsk": "75237.6",
"bestAskSize": "0.00357895"
}
}Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
symbol | query | Required | Trading pair in uppercase with a hyphen separator, for example `BTC-USDT`. The hyphen is required. BTC-USDT |
type | query | Optional | On the candles endpoint, the interval: `1min`, `5min`, `1hour`, `1day` and so on. 1hour |
startAt | query | Optional | Unix seconds lower bound for historical candle queries. Pairs with `endAt`. 1787280000 |
Response fields
codestring- Envelope status. The string 200000 means success — check this as well as the HTTP status, since failures can arrive with HTTP 200.
data.pricestring- Last traded price, as a string to preserve precision.
data.sizestring- Size of the most recent trade.
data.bestBid / bestAskstring- Best bid and best ask price currently on the book.
data.bestBidSize / bestAskSizestring- Quantity available at the best bid and best ask — the depth at the top of the book.
data.timeinteger- Timestamp in milliseconds, not seconds. Dividing by 1000 is a common mistake to avoid making twice.
data.sequencestring- Monotonic order book sequence number, used to detect missed updates when combining REST with the WebSocket feed.
What you can build with the KuCoin API
- Quote a price for an altcoin not listed on major exchanges
- Measure the bid-ask spread and top-of-book depth before placing an order
- Bootstrap an order book snapshot before subscribing to the WebSocket stream
- Track altcoin prices in a portfolio tracker
Common errors and how to fix them
HTTP 200 with a non-success code
The request reached KuCoin but failed logically.
Fix: Always read the envelope `code` field. 400100 is a bad parameter, 429000 is a rate limit.
400100
Invalid or unknown symbol.
Fix: Symbols are uppercase with a hyphen — `BTC-USDT`, not a concatenated or lowercase form. Fetch the symbols endpoint for the authoritative list.
429000
Too many requests.
Fix: KuCoin uses weighted limits, so heavy endpoints cost more than light ones. Back off and batch where the API allows it.
KuCoin API — frequently asked questions
Is the KuCoin API free without an API key?
Yes. All public market data — symbols, tickers, order books, candles and 24-hour statistics — is free and unauthenticated. Only trading and account endpoints require a key, secret and passphrase.
What does code 200000 mean in a KuCoin response?
It is KuCoin's own success code inside the response envelope, and it is distinct from the HTTP status. A request can return HTTP 200 with a failure code in the body, so check both.
What is the sequence field for?
It is a monotonically increasing order book counter. When you bootstrap a local order book from a REST snapshot and then apply WebSocket updates, comparing sequence numbers tells you whether you missed a message and need to re-snapshot.
Can I call the KuCoin API from a browser?
The public endpoints do not send permissive CORS headers, so browser fetches are blocked. Call it from your server instead — which you would want to do anyway before adding any authenticated endpoints.
Tools that pair with this API
JSON Formatter
Format, beautify and minify JSON online with 2-space, 4-space or tab indentation. Sort keys alphabetically and catch syntax errors instantly — free and private.
Percentage Change Calculator
Work out the percentage increase or decrease between an old and a new value. See the absolute change and whether it went up or down, instantly and privately.
Timestamp Converter
Convert timestamps to human-readable dates and dates back to timestamps. Auto-detects seconds vs milliseconds, shows local, UTC and ISO 8601 formats.
KuCoin is an independent third-party service and is not affiliated with ByteTools or ByteVancer. Details on this page were verified on 2026-08-21; always check the official documentation before relying on this API in production, as terms and limits can change.