You need to use the GET /api/v3/exchangeInfo
endpoint.
GET /api/v3/exchangeInfo
lists all currently available symbols and their trading rules by default. You can also query specific symbols.
For example:
curl https://api.binance.com/api/v3/exchangeInfo?symbol=BTCEUR
(It is also available on testnet at testnet.binance.vision
instead of api.binance.com
.)
Response
{
"timezone": "UTC",
"serverTime": 1726291843453,
"rateLimits": [
{
"rateLimitType": "REQUEST_WEIGHT",
"interval": "MINUTE",
"intervalNum": 1,
"limit": 6000
},
{
"rateLimitType": "ORDERS",
"interval": "SECOND",
"intervalNum": 10,
"limit": 100
},
{
"rateLimitType": "ORDERS",
"interval": "DAY",
"intervalNum": 1,
"limit": 200000
},
{
"rateLimitType": "RAW_REQUESTS",
"interval": "MINUTE",
"intervalNum": 5,
"limit": 61000
}
],
"exchangeFilters": [],
"symbols": [
{
"symbol": "BTCEUR",
"status": "TRADING",
"baseAsset": "BTC",
"baseAssetPrecision": 8,
"quoteAsset": "EUR",
"quotePrecision": 8,
"quoteAssetPrecision": 8,
"baseCommissionPrecision": 8,
"quoteCommissionPrecision": 8,
"orderTypes": [
"LIMIT",
"LIMIT_MAKER",
"MARKET",
"STOP_LOSS",
"STOP_LOSS_LIMIT",
"TAKE_PROFIT",
"TAKE_PROFIT_LIMIT"
],
"icebergAllowed": true,
"ocoAllowed": true,
"otoAllowed": true,
"quoteOrderQtyMarketAllowed": true,
"allowTrailingStop": true,
"cancelReplaceAllowed": true,
"isSpotTradingAllowed": true,
"isMarginTradingAllowed": false,
"filters": [
{
"filterType": "PRICE_FILTER",
"minPrice": "0.01000000",
"maxPrice": "1000000.00000000",
"tickSize": "0.01000000"
},
{
"filterType": "LOT_SIZE",
"minQty": "0.00001000",
"maxQty": "9000.00000000",
"stepSize": "0.00001000"
},
{
"filterType": "ICEBERG_PARTS",
"limit": 10
},
{
"filterType": "MARKET_LOT_SIZE",
"minQty": "0.00000000",
"maxQty": "11.05318520",
"stepSize": "0.00000000"
},
{
"filterType": "TRAILING_DELTA",
"minTrailingAboveDelta": 10,
"maxTrailingAboveDelta": 2000,
"minTrailingBelowDelta": 10,
"maxTrailingBelowDelta": 2000
},
{
"filterType": "PERCENT_PRICE_BY_SIDE",
"bidMultiplierUp": "5",
"bidMultiplierDown": "0.2",
"askMultiplierUp": "5",
"askMultiplierDown": "0.2",
"avgPriceMins": 5
},
{
"filterType": "NOTIONAL",
"minNotional": "5.00000000",
"applyMinToMarket": true,
"maxNotional": "9000000.00000000",
"applyMaxToMarket": false,
"avgPriceMins": 5
},
{
"filterType": "MAX_NUM_ORDERS",
"maxNumOrders": 200
},
{
"filterType": "MAX_NUM_ALGO_ORDERS",
"maxNumAlgoOrders": 5
}
],
"permissions": [],
"permissionSets": [
[
"SPOT",
// (a million other permissions omitted)
]
],
"defaultSelfTradePreventionMode": "EXPIRE_MAKER",
"allowedSelfTradePreventionModes": [
"EXPIRE_TAKER",
"EXPIRE_MAKER",
"EXPIRE_BOTH"
]
}
]
}
Here you can see that TAKE_PROFIT
order type is available for BTCEUR
:
"orderTypes": [
"LIMIT",
"LIMIT_MAKER",
"MARKET",
"STOP_LOSS",
"STOP_LOSS_LIMIT",
"TAKE_PROFIT",
"TAKE_PROFIT_LIMIT"
],
If you can’t place a TAKE_PROFIT order, it must be because of some other reason.
Can you please paste the specific error that you get?