Skip to main content

Get Position Info

Query real-time position data, such as position size, cumulative realizedPNL.

Unified account covers: USDT perpetual / USDC contract / Inverse contract / Options
Normal account covers: USDT perpetual / Inverse contract

HTTP Request

GET /v5/position/list

Request Parameters

categorytruestringProduct type
  • Unified account: linear, inverse, option
  • Normal account: linear, inverse. Please note that category is not involved with business logic
symbolfalsestringSymbol name
  • If symbol passed, it returns data regardless of having position or not.
  • If symbol=null and settleCoin specified, it returns position size grater than zero.
baseCoinfalsestringBase coin. option only. Return all option positions if not passed
settleCoinfalsestringSettle coin. For linear & inverse, either symbol or settleCon is required. symbol has a higher priority
limitfalseintegerLimit for data size per page. [1, 200]. Default: 20
cursorfalsestringCursor. Used for pagination

Response Parameters

categorystringProduct type
> positionIdxintegerPosition idx, used to identify positions in different position modes
  • 0: One-Way Mode
  • 1: Buy side of both side mode
  • 2: Sell side of both side mode
> riskIdintegerRisk limit ID. Note: for portfolio margin mode, this field returns 0, which means risk limit rules are invalid
> riskLimitValuestringRisk limit value. Note: for portfolio margin mode, this field returns 0, which means risk limit rules are invalid
> symbolstringSymbol name
> sidestringPosition side. Buy: long, Sell: short. Note: under one-way mode, it returns None if empty position
> sizestringPosition size
> avgPricestringAverage entry price
> positionValuestringPosition value
> tradeModeintegerTrade mode. 0: cross-margin, 1: isolated margin
> autoAddMarginintegerWhether to add margin automatically. 0: false, 1: true. Unified account(spot/linear/option) does not return this field
> positionStatusStringPosition status. Normal, Liq, Adl
> leveragestringPosition leverage. Valid for contract. Note: for portfolio margin mode, this field returns "", which means leverage rules are invalid
> markPricestringLast mark price
> liqPricestringPosition liquidation price. Note: the value returned in the unified mode is the estimated liquidation price, because the unified margin mode controls the risk rate according to the account, so the liquidation price on a single position is only estimated (exclude inverse trade under UTA)
> bustPricestringBankruptcy price. Note: Unified mode returns "", no position bankruptcy price (exclude inverse trade under UTA)
> positionIMstringInitial margin. For portfolio margin mode, it returns ""
> positionMMstringMaintenance margin. For portfolio margin mode, it returns ""
> tpslModestringDepreciated, meaningless here, always "Full". Spot does not return this field. Option returns ""
> takeProfitstringTake profit price
> stopLossstringStop loss price
> trailingStopstringTrailing stop (The distance from market price)
> unrealisedPnlstringUnrealised PnL
> cumRealisedPnlstringCumulative realised pnl
> adlRankIndicatorintegerAuto-deleverage rank indicator. What is Auto-Deleveraging?
> createdTimestringPosition created timestamp (ms)
> updatedTimestringPosition updated timestamp (ms)
nextPageCursorstringCursor. Used for pagination

Request Example

GET /v5/position/list?category=inverse&symbol=BTCUSD HTTP/1.1
X-BAPI-TIMESTAMP: 1672280218882

Response Example

"retCode": 0,
"retMsg": "OK",
"result": {
"list": [
"positionIdx": 0,
"riskId": 1,
"riskLimitValue": "150",
"symbol": "BTCUSD",
"side": "Sell",
"size": "299",
"avgPrice": "30004.5006751",
"positionValue": "0.00996518",
"tradeMode": 0,
"positionStatus": "Normal",
"autoAddMargin": 1,
"adlRankIndicator": 2,
"leverage": "10",
"positionBalance": "0.00100189",
"markPrice": "26926.00",
"liqPrice": "999999.00",
"bustPrice": "999999.00",
"positionMM": "0.0000015",
"positionIM": "0.00009965",
"tpslMode": "Full",
"takeProfit": "0.00",
"stopLoss": "0.00",
"trailingStop": "0.00",
"unrealisedPnl": "0.00113932",
"cumRealisedPnl": "-0.00121275",
"createdTime": "1676538056258",
"updatedTime": "1684742400015"
"nextPageCursor": "",
"category": "inverse"
"retExtInfo": {},
"time": 1684767531904