Skip to main content

Get Strategy List

Query the strategy list. Supports filtering by strategy ID, symbol, status, category, and strategy type.
You can also subscribe strategy stream to receive the feed.

HTTP Request

GET/v5/strategy/list

Request Parameters

ParameterRequiredTypeComments
strategyIdfalsestringStrategy ID (exact match)
symbolfalsestringSymbol name, e.g. BTCUSDT
statusfalsestringStrategy status. 2: running, 3: terminated, 4: terminated but orders are not filled, 5: paused, 6: untriggered
categoryfalsestringProduct type. UTA_USDT, UTA_USDC, UTA_USDC_FUTURE, UTA_SPOT, UTA_INVERSE, UTA_INVERSE_FUTURE, UTA_USDT_FUTURE
strategyTypefalsestringStrategy type. twap, chaseOrder, iceberg
beginTimeE0falseint64Start time in seconds (Unix timestamp)
endTimeE0falseint64End time in seconds (Unix timestamp)
pageSizefalseintegerLimit for data size per page. Default: 20, max: 50
cursorfalsestringCursor for pagination, returned from the previous response

Response Parameters

ParameterTypeComments
listarrayObject
> strategyIdstringStrategy ID (UUID format)
> categorystringProduct type
> symbolstringSymbol name
> sidestringBuy, Sell
> sizestringTotal order quantity
> strategyTypestringStrategy type. twap, chaseOrder, iceberg
> statusintegerStrategy status. 2: running, 3: terminated, 4: terminated but orders are not filled, 5: paused, 6: untriggered
> executedSizestringExecuted quantity
> executedAvgPricestringAverage executed price
> executedStartTimeE3int64Execution start time (ms)
> executedEndTimeE3int64Execution end time (ms). 0 means not yet ended
> createdTimeE3int64Strategy creation time (ms)
> updatedTimeE3int64Strategy last updated time (ms)
> reduceOnlybooleanWhether it is a reduce-only order
> triggerPricestringTrigger price
> isTriggeredbooleanWhether the strategy has been triggered
> leverageTypeintegerLeverage type. 0: normal, 1: margin
> terminateTypeintegerTermination reason code. 0: unknown, 1: user stop, 2: completed normally, 3: insufficient balance, 4: position mode changed, 5: uid blocked, 6: would trigger liquidation, 7: no position for reduce-only, 8: upgrade to UTA, 9: OI limited, 10: user trading banned, 11: risk limit exceeded, 12: symbol delivery stopped, 13: symbol delisted, 14: consecutive order failures, 15: missing template param, 16: signal latency, 17: symbol mismatch, 18: beyond max chase price, 19: max sub-order count exceeded, 20: order already cancelled, 21: max risk limit value exceeded, 22: risk limit max leverage exceeded, 23: coin not collateral, 24: reached limit price, 25: reduce-only state with pending UTA upgrade, 26: user in cooling-off period
> terminateRemarkstringTermination reason description
> triggerCountintegerNumber of trigger attempts
> tradingCountintegerNumber of actual orders placed
> realizedPnlstringRealized PnL (futures only)
> strategyNamestringStrategy custom name
> strategyPreferstringExecution preference. limit, priceSpeedBalance, fastestExecution, quickExecution
> durationintegerTotal planned execution duration in seconds. TWAP only
> executedDurationintegerActual executed duration in seconds. TWAP only
> isRandombooleanWhether sub-order quantity randomization is enabled. TWAP only
> intervalintegerSub-order placement interval in seconds. TWAP only
> limitPricestringFixed limit price. Orders will not be placed beyond this price
> chasePercentE4int64Chase price offset in basis points (1/10000). Chase / Iceberg
> chaseDistancestringChase price distance (absolute value). Chase / Iceberg
> maxChasePricestringMaximum chase price protection. Chase / Iceberg
> chaseOrderPricestringCurrent chase order price (real-time). Chase only
> chasePricestringReference price side for chase orders, e.g. Bid1, Ask1. Chase / Iceberg
> postOnlyintegerMaker-only mode. 0: taker allowed, 1: post-only. Iceberg only
> isRebalancebooleanWhether rebalance is enabled
> orderTypeintegerOrder type. 1: market order, 2: limit order
> orderPriceOffsetstringLimit order price offset percentage. TWAP only
> strategySlstringStrategy stop-loss price
> strategyTpstringStrategy take-profit price
> arbitrageOrdersarrayList of associated arbitrage orders
> positionValuestringTotal position value
> filledPositionValuestringFilled position value
nextCursorstringCursor for the next page. Empty string means no more data
prevCursorstringCursor for the previous page

Request Example

GET /v5/strategy/list?strategyId=119b6211-2611-461b-be5e-5ac557099e82 HTTP/1.1
Host: api-testnet.bybit.com
X-BAPI-SIGN: XXXXX
X-BAPI-API-KEY: xxxxxxxxxxxxxxxxxx
X-BAPI-TIMESTAMP: 1773718018000
X-BAPI-RECV-WINDOW: 5000

Response Example

{
"retCode": 0,
"retMsg": "success",
"result": {
"list": [
{
"strategyId": "119b6211-2611-461b-be5e-5ac557099e82",
"category": "UTA_USDT",
"symbol": "BTCUSDT",
"side": "Buy",
"size": "0.05",
"duration": 1560,
"status": 3,
"executedDuration": 1608,
"executedSize": "0.046",
"executedAvgPrice": "76695.48",
"executedStartTimeE3": "1773711467045",
"executedEndTimeE3": "1773713075628",
"createdTimeE3": "1773711467045",
"updatedTimeE3": "1773713075628",
"isRandom": false,
"limitPrice": "",
"reduceOnly": false,
"terminateType": 2,
"terminateRemark": "RunningStop",
"strategyName": "",
"triggerCount": "26",
"tradingCount": "0",
"realizedPnl": "0",
"strategyType": "twap",
"chasePrice": "Bid1",
"chasePercentE4": "0",
"chaseDistance": "0",
"maxChasePrice": "",
"chaseOrderPrice": "",
"arbitrageOrders": [],
"strategyPrefer": "quickExecution",
"isRebalance": false,
"interval": 60,
"leverageType": 0,
"postOnly": 0,
"triggerPrice": "0",
"isTriggered": false,
"strategyTp": "",
"strategySl": "",
"orderType": "UNKNOWN",
"orderPriceOffset": "",
"positionValue": "",
"filledPositionValue": ""
}
],
"nextCursor": "",
"prevCursor": ""
},
"retExtInfo": {},
"time": 1774583153599
}