Bitget kline
Candlesticks for one symbol at one interval. Bitget says data is pushed once a second while there are trades, and once per interval when there are none.
Risk warning: CFDs and spread bets are complex instruments and come with a high risk of losing money rapidly due to leverage. You can lose money on these products, and each provider publishes its own loss figure under FCA rules. You should consider whether you understand how they work and whether you can afford to take the high risk of losing your money. Automated and API trading can amplify losses through bugs, connectivity failures and runaway orders.
This is a subscription of the Bitget WebSocket API, not an HTTP endpoint. It has no method and no path: it is sent as JSON over an open WebSocket connection.
The message
- Name
- kline
- Direction
- Subscription, opened by the client and then fed by the server
- Subscribed to as
- kline
- Carried by
- WebSocket. This channel is in the public section of Bitget's WebSocket documentation. The addresses are the ones on Bitget's quick start page (bitget.com/docs/uta/quick-start), opened the same day, which also lists VIP and low latency hosts.
- Public channel
- wss://ws.bitget.com/v3/ws/public
- Public channel, demo trading
- wss://wspap.bitget.com/v3/ws/public
Fields
| Name | Type | Description |
|---|---|---|
| oprequired | String | subscribe to start the channel, unsubscribe to stop it. |
| argsrequired | List<Object> | The channels to act on. Each entry names one. |
| args[].instTyperequired | String | The product type: spot, usdt-futures, coin-futures or usdc-futures. |
| args[].topicrequired | String | Always kline. |
| args[].symbolrequired | String | The symbol, for example BTCUSDT. |
| args[].intervalrequired | String | The width of the candle: 1m, 3m, 5m, 15m, 30m, 1H, 4H, 6H, 12H or 1D. |
What arrives
kline: A message with the event subscribe and the same arg confirms the subscription, with a connId for the connection. On an error the event is error, with a code and a msg. Data then arrives as below.
The vendor's page does not say which of these fields are required or always present.
| Name | Type | Description |
|---|---|---|
| arg | Object | The channel the data belongs to: the instType, the topic and, on a public channel, the symbol that were subscribed to. |
| action | String | snapshot for full data, update for incremental data. |
| data | List<Object> | The candles. |
| data[].start | String | The start of the candle, as Unix time in milliseconds. |
| data[].open | String | The opening price. |
| data[].close | String | The closing price. |
| data[].high | String | The highest price. |
| data[].low | String | The lowest price. |
| data[].volume | String | The volume traded, in the base coin. |
| data[].turnover | String | The turnover, in the quote coin. |
Sample
Written by this site from the fields recorded on this page. It has not been run against a terminal, a server or an account, and the values in it are placeholders. No credential is typed into it: where a field holds one, the placeholder says where it comes from. Nothing is entered on this site.
{
"op": "subscribe",
"args": [
{
"instType": "spot",
"topic": "kline",
"symbol": "BTCUSDT",
"interval": "1D"
}
]
}Limits that apply at Bitget
| Limit | Value | Scope | Source |
|---|---|---|---|
| Public market data, legacy v1 API | 20 per 2 s per IP, public market data | Per IP address, public market data endpoints of the legacy v1 API | bitgetlimited.github.iochecked |
| Overall requests a minute | 6,000 | Per IP address, all requests to the common domain name, with REST and WebSocket sharing one allowance | bitget.comchecked |
| Concurrent WebSocket connections | 100 | Per IP address | bitget.comchecked |
| WebSocket messages a second | 10 | Per WebSocket connection, counting ping, login, subscribe and unsubscribe messages | bitget.comchecked |
| WebSocket subscription requests an hour | 240 | Per WebSocket connection | bitget.comchecked |
| Concurrent WebSocket channel subscriptions | 1,000 | Per WebSocket connection | bitget.comchecked |