Get Open & Closed Orders
Primarily query unfilled or partially filled orders in real-time, but also supports querying recent 500 closed status (Cancelled, Filled) orders. Please see the usage of request param openOnly.
And to query older order records, please use the order history interface.
tip
- UTA2.0 can query filled, cancelled, and rejected orders to the most recent 500 orders for spot, linear, inverse and option categories
- UTA1.0 can query filled, cancelled, and rejected orders to the most recent 500 orders for spot, linear, and option categories. The inverse category is not subject to this limitation.
- You can query by symbol, baseCoin, orderId and orderLinkId, and if you pass multiple params, the system will process them according to this priority: orderId > orderLinkId > symbol > baseCoin.
- The records are sorted by the
createdTimefrom newest to oldest.
info
- classic account spot can return open orders only
- After a server release or restart, filled, cancelled, and rejected orders of Unified account should only be queried through order history.
HTTP Request
GET /v5/order/realtime
Request Parameters
| Parameter | Required | Type | Comments |
|---|---|---|---|
| category | true | string | Product type |
| symbol | false | string | Symbol name, like BTCUSDT, uppercase only. For linear, either symbol, baseCoin, settleCoin is required |
| baseCoin | false | string | Base coin, uppercase only linear, inverse & optionoption: it returns all option open orders by default |
| settleCoin | false | string | Settle coin, uppercase only
|
| orderId | false | string | Order ID |
| orderLinkId | false | string | User customised order ID |
| openOnly | false | integer |
|
| orderFilter | false | string | Order: active order, StopOrder: conditional order for Futures and Spot, tpslOrder: spot TP/SL order, OcoOrder: Spot oco order, BidirectionalTpslOrder: Spot bidirectional TPSL order
|
| limit | false | integer | Limit for data size per page. [1, 50]. Default: 20 |
| cursor | false | string | Cursor. Use the nextPageCursor token from the response to retrieve the next page of the result set |
Response Parameters
| Parameter | Type | Comments |
|---|---|---|
| category | string | Product type |
| nextPageCursor | string | Refer to the cursor request parameter |
| list | array | Object |
| > orderId | string | Order ID |
| > orderLinkId | string | User customised order ID |
| > blockTradeId | string | Paradigm block trade ID |
| > symbol | string | Symbol name |
| > price | string | Order price |
| > qty | string | Order qty |
| > side | string | Side. Buy,Sell |
| > isLeverage | string | Whether to borrow. Unified spot only. 0: false, 1: true. Classic spot is not supported, always 0 |
| > positionIdx | integer | Position index. Used to identify positions in different position modes. |
| > orderStatus | string | Order status |
| > createType | string | Order create type |
| > cancelType | string | Cancel type |
| > rejectReason | string | Reject reason. Classic spot is not supported |
| > avgPrice | string | Average filled price "" for those orders without avg price"0" for those orders without avg price, and also for those orders have partilly filled but cancelled at the end |
| > leavesQty | string | The remaining qty not executed. Classic spot is not supported |
| > leavesValue | string | The estimated value not executed. Classic spot is not supported |
| > cumExecQty | string | Cumulative executed order qty |
| > cumExecValue | string | Cumulative executed order value. Classic spot is not supported |
| > cumExecFee | string | inverse, option: Cumulative executed trading fee.linear, spot: Deprecated. Use cumFeeDetail instead.spot is not supported |
| > timeInForce | string | Time in force |
| > orderType | string | Order type. Market,Limit. For TP/SL orders, is the order type after the order was triggered |
| > stopOrderType | string | Stop order type |
| > orderIv | string | Implied volatility |
| > marketUnit | string | The unit for qty when create Spot market orders for UTA account. baseCoin, quoteCoin |
| > triggerPrice | string | Trigger price. If stopOrderType=TrailingStop, it is activate price. Otherwise, it is trigger price |
| > takeProfit | string | Take profit price |
| > stopLoss | string | Stop loss price |
| > tpslMode | string | TP/SL mode, Full: entire position for TP/SL. Partial: partial position tp/sl. Spot does not have this field, and Option returns always "" |
| > ocoTriggerBy | string | The trigger type of Spot OCO order.OcoTriggerByUnknown, OcoTriggerByTp, OcoTriggerByBySl. Classic spot is not supported |
| > tpLimitPrice | string | The limit order price when take profit price is triggered |
| > slLimitPrice | string | The limit order price when stop loss price is triggered |
| > tpTriggerBy | string | The price type to trigger take profit |
| > slTriggerBy | string | The price type to trigger stop loss |
| > triggerDirection | integer | Trigger direction. 1: rise, 2: fall |
| > triggerBy | string | The price type of trigger price |
| > lastPriceOnCreated | string | Last price when place the order, Spot is not applicable |
| > basePrice | string | Last price when place the order, Spot has this field only |
| > reduceOnly | boolean | Reduce only. true means reduce position size |
| > closeOnTrigger | boolean | Close on trigger. What is a close on trigger order? |
| > placeType | string | Place type, option used. iv, price |
| > smpType | string | SMP execution type |
| > smpGroup | integer | Smp group ID. If the UID has no group, it is 0 by default |
| > smpOrderId | string | The counterparty's orderID which triggers this SMP execution |
| > createdTime | string | Order created timestamp (ms) |
| > updatedTime | string | Order updated timestamp (ms) |
| > cumFeeDetail | json | linear, spot: Cumulative trading fee details instead of cumExecFee |
Request Example
- HTTP
- Python
- Java
- Node.js
GET /v5/order/realtime?symbol=ETHUSDT&category=linear&openOnly=0&limit=1 HTTP/1.1
Host: api-testnet.bybit.com
X-BAPI-SIGN: XXXXX
X-BAPI-API-KEY: xxxxxxxxxxxxxxxxxx
X-BAPI-TIMESTAMP: 1672219525810
X-BAPI-RECV-WINDOW: 5000
Content-Type: application/json
from pybit.unified_trading import HTTP
session = HTTP(
testnet=True,
api_key="xxxxxxxxxxxxxxxxxx",
api_secret="xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
)
print(session.get_open_orders(
category="linear",
symbol="ETHUSDT",
openOnly=0,
limit=1,
))
import com.bybit.api.client.config.BybitApiConfig;
import com.bybit.api.client.domain.trade.request.TradeOrderRequest;
import com.bybit.api.client.domain.*;
import com.bybit.api.client.domain.trade.*;
import com.bybit.api.client.service.BybitApiClientFactory;
var client = BybitApiClientFactory.newInstance("YOUR_API_KEY", "YOUR_API_SECRET", BybitApiConfig.TESTNET_DOMAIN).newTradeRestClient();
var openLinearOrdersResult = client.getOpenOrders(openOrderRequest.category(CategoryType.LINEAR).openOnly(1).build());
System.out.println(openLinearOrdersResult);
const { RestClientV5 } = require('bybit-api');
const client = new RestClientV5({
testnet: true,
key: 'xxxxxxxxxxxxxxxxxx',
secret: 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx',
});
client
.getActiveOrders({
category: 'linear',
symbol: 'ETHUSDT',
openOnly: 0,
limit: 1,
})
.then((response) => {
console.log(response);
})
.catch((error) => {
console.error(error);
});
Response Example
{
"retCode": 0,
"retMsg": "OK",
"result": {
"list": [
{
"orderId": "fd4300ae-7847-404e-b947-b46980a4d140",
"orderLinkId": "test-000005",
"blockTradeId": "",
"symbol": "ETHUSDT",
"price": "1600.00",
"qty": "0.10",
"side": "Buy",
"isLeverage": "",
"positionIdx": 1,
"orderStatus": "New",
"cancelType": "UNKNOWN",
"rejectReason": "EC_NoError",
"avgPrice": "0",
"leavesQty": "0.10",
"leavesValue": "160",
"cumExecQty": "0.00",
"cumExecValue": "0",
"cumExecFee": "0",
"timeInForce": "GTC",
"orderType": "Limit",
"stopOrderType": "UNKNOWN",
"orderIv": "",
"triggerPrice": "0.00",
"takeProfit": "2500.00",
"stopLoss": "1500.00",
"tpTriggerBy": "LastPrice",
"slTriggerBy": "LastPrice",
"triggerDirection": 0,
"triggerBy": "UNKNOWN",
"lastPriceOnCreated": "",
"reduceOnly": false,
"closeOnTrigger": false,
"smpType": "None",
"smpGroup": 0,
"smpOrderId": "",
"tpslMode": "Full",
"tpLimitPrice": "",
"slLimitPrice": "",
"placeType": "",
"createdTime": "1684738540559",
"updatedTime": "1684738540561",
"cumFeeDetail": {
"MNT": "0.00242968"
}
}
],
"nextPageCursor": "page_args%3Dfd4300ae-7847-404e-b947-b46980a4d140%26symbol%3D6%26",
"category": "linear"
},
"retExtInfo": {},
"time": 1684765770483
}