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 21 Aug 2026
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 21 Aug 2026, 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.
Alternatives to KuCoin API
If KuCoin does not fit, these finance & crypto apis cover similar ground. Every one was called before publishing, and each links to its own reference page with a working curl command and the response it returned.
| API | What it does | Auth | CORS | Last verified |
|---|---|---|---|---|
| CoinGecko | Free cryptocurrency price API covering 10,000+ coins. Live prices, market cap and volume in any currency, no API key on the public tier. Tested curl example. | No key | Yes | 19 Aug 2026 |
| Binance Public API | Binance public market data API needs no API key: live ticker prices, order books, klines and 24h stats for every trading pair. Tested curl example and response. | No key | Yes | 19 Aug 2026 |
| Coinbase Exchange Rates | Coinbase public exchange rates API with no key: convert any cryptocurrency to 100+ fiat currencies in a single request. Tested curl example and live JSON. | No key | Yes | 19 Aug 2026 |
| Frankfurter | Free currency exchange rate API with no key, built on European Central Bank data. Latest and historical rates, time series and conversion. Tested curl example. | No key | Yes | 19 Aug 2026 |
| mempool.space | Free Bitcoin blockchain API with no key: recommended transaction fees, mempool state, blocks, transactions and address data. Self-hostable. Tested example. | No key | Yes | 19 Aug 2026 |
| MFAPI (Indian Mutual Funds) | Free Indian mutual fund API with no key: complete daily NAV history for every AMFI scheme code, with fund house, category and ISINs. Tested example and live response. | No key | Yes | 21 Aug 2026 |
KuCoin is an independent third-party service and is not affiliated with ByteTools or ByteVancer. Details on this page were verified on 21 Aug 2026; always check the official documentation before relying on this API in production, as terms and limits can change.